牛顿法解非线性方程组时解为NaN
function f=f1(x0)x=x0(1);
y=x0(2);
z=x0(3);
f1=x^2+y^2+z^2-1;
f2=2*x^2+y^2-4*z;
f3=3*x^2-4*y+z^2;
f=;
function f=df1(x0)
x=x0(1);
y=x0(2);
z=x0(3);
f=[2*x 2*y 2*z
4*x 2*y -4
6*x -4 2*z];
function =mulNewton(x0,tol)
if nargin==1
tol=1.0e-4;
end
x1=x0-f1(x0)/df1(x0);
n=1;
while (norm(x1-x0)>tol)
x0=x1;
x1=x0-f1(x0)/df1(x0);
n=n+1;
data(:,n)=x1;
end
x=x1;
x0=;
=mulNewton(x0);
disp(x)
disp(n)
为什么求出的解为以下形式:
>> clear
new_main
NaN NaN NaN
244
希望大侠们能帮下忙~ 应该是不收敛了!
建议看下别人的帖并检查下其中差异
牛顿迭代 - 原址 http://www.mathworks.com/matlabcentral/fileexchange/4313
newton raphson算法 http://forum.vibunion.com/thread-41020-1-1.html
牛顿法求解非线性方程 http://forum.vibunion.com/thread-81003-1-1.html
页:
[1]