作业帮 > 数学 > 作业

用MATLAB解多元非线性方程组,

来源:学生作业帮 编辑:拍题作业网作业帮 分类:数学作业 时间:2024/05/12 23:37:38
用MATLAB解多元非线性方程组,
方程组为:3x1-cos(x2*x3)-0.5=0
x1^2-81*(x2+0.1)^2+sin(x3)+1.06=0
exp(-x1*x2)+20*x3+(10*π-3)/3=0
用fsolve函数 希望显示结果为x1= x2= x3=
很高兴为您解答,首先定义函数myfun
function F = myfun(x)
F = [3*x(1)-cos(x(2)*x(3))-0.5;
x(1)^2-81*(x(2)+0.1)^2+sin(x(3))+1.06;
exp(-x(1)*x(2))+20*x(3)+(10*pi-3)/3];
前面这段函数定义在myfun.m文件中
主程序如下:
[x,fval]=fsolve(@myfun,[0,0,0]);
x(1)
x(2)
x(3)
最后求得
x(1)=0.5000
x(2)=0.0000
x(3)=-0.5236
满意请采纳回答,谢谢!
再问: 如果我想要直接用m文件得出这三个解,即不需要在指令窗输入,该怎么编函数?谢谢
再答: 如果是单个方程可以用隐函数定义来做,例如x = fsolve(@(x)sin(x.*x),x0);你有三个函数就不好那样做了,还是定义成标准函数来做比较好。