我是Octave的新手,想知道如何解决非线性方程。这是一个示例等式
x^4-16x^3+61x^2-22x-12=0
更新
w+x+y+1=3
2w+3x+4y+5=10
w-x+y-1=4
感谢
答案 0 :(得分:5)
使用fzero
来获得最接近给定x0
的解决方案(好吧,不一定最近,但找到第一个):
这应该有效:
x0 = 0;
f = @(x) x^4 - 16*x^3 + 61*x^2 - 22*x - 12;
fzero(f,x0);
ans = 0.76393
此外,您应该查看roots
,以获取多项式的所有解。
x = [1 -16 61 -22 -12]; % The coefficients of your polynomial
y = roots(x)
y =
10.29150
5.23607
0.76393
-0.29150
好的,所以无论如何我都会回答第二个问题:
x = [1 1 1; 2 3 4; 1 -1 1]; % Coefficients of w, x and y
y = [2; 5; 5]; % [3-1; 10-5; 4+1]
b = x\y
b =
2.2500
-1.5000
1.2500
答案 1 :(得分:2)
fsolve
是一个很好的起点。