MATLAB求解非线性方程组用fsolve函数求解建立函数文件fxyz.mfunction F=fxyz(X)x=X(1);y=X(2);z=X(3);F(1)=x^2+y^2+z^2;F(2)=3*x+5*y+6*z;F(3)=x-3*y-6*z-1;给定初值[-1,1,-1],调用fsolve函数求方程的根X1=fsolve('fxyz',[-1,1,-1]',op
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/17 03:39:15
MATLAB求解非线性方程组用fsolve函数求解建立函数文件fxyz.mfunction F=fxyz(X)x=X(1);y=X(2);z=X(3);F(1)=x^2+y^2+z^2;F(2)=3*x+5*y+6*z;F(3)=x-3*y-6*z-1;给定初值[-1,1,-1],调用fsolve函数求方程的根X1=fsolve('fxyz',[-1,1,-1]',op
MATLAB求解非线性方程组用fsolve函数求解
建立函数文件fxyz.m
function F=fxyz(X)
x=X(1);
y=X(2);
z=X(3);
F(1)=x^2+y^2+z^2;
F(2)=3*x+5*y+6*z;
F(3)=x-3*y-6*z-1;
给定初值[-1,1,-1],调用fsolve函数求方程的根
X1=fsolve('fxyz',[-1,1,-1]',optimset('Display','off'))
总是出现?Undefined function or method 'fsolve' for input arguments of type 'struct'.的提示,到底是为什么呢
MATLAB求解非线性方程组用fsolve函数求解建立函数文件fxyz.mfunction F=fxyz(X)x=X(1);y=X(2);z=X(3);F(1)=x^2+y^2+z^2;F(2)=3*x+5*y+6*z;F(3)=x-3*y-6*z-1;给定初值[-1,1,-1],调用fsolve函数求方程的根X1=fsolve('fxyz',[-1,1,-1]',op
在我的机器上运行,没问题:
Optimizer appears to be converging to a minimum that is not a root:
Sum of squares of the function values is > sqrt(options.TolFun).
Try again with a new starting point.
X1 =
0.2295
0.0317
-0.1424
是不是你的Matlab版本低的原因?我用的是R2008a,Matlab7.6.0
如果非线性方程组可以有无穷多解,fsolve可以在图上获取零点初始数值,计算一fsolve是用迭代方法计算选定迭代初始点的解。 solve是一般的解方程和方程组,