用MATLAB求解非线性方程组

本人有一简单的非线性方程组不知如何用MATLAB变成解决,请高手赐教。x-0.7sin(x)-0.2cos(y)=0;y-0.7cos(x)+0.2sin(y)=0。请高手用先编写M文件的方法求解,我要过程。比如本人自己编写的M文件如下:function z=myfun2(x)
z(1)=x-0.7*sin(x)-0.2*cos(y);
z(2)=y-0.7*cos(x)+0.2*sin(y);
可是接下来应该在命令窗口输什么呢??请大虾帮忙下 谢谢!

可以使用MATLAB的符号计算工具箱MuPAD:
在MATLAB窗口中输入mupad,在打开的窗口中输入:

eq1:=x-0.7*sin(x)-0.2*cos(y)=0://定义方程1;
eq2:=y-0.7*cos(x)+0.2*sin(y)=0://定义方程2;
solve({eq1,eq2},[x,y])

得出结果:

{[x = 0.5265226219, y = 0.507919719]}

//计算使用时间2s.
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-11-24
MATLAB里面本来就是有函数调用的 叫fslove
这是本人的一个函数例子 也是解方程组的

mfunction q=myfun(p)
a(1)=4.04;
a(2)=2.2525;
a(3)=1.4422;
b(1)=20.2;
b(2)=50.5;
b(3)=72.108;
x(1)=p(1);
x(2)=p(2);
x(3)=p(3);
x(4)=p(4);
x(5)=p(5);
x(6)=p(6);
q(1)=x(1)*sin(x(2))-a(1)*x(5);
q(2)=x(1)*sin(x(3))-a(2)*x(5);
q(3)=x(1)*sin(x(4))-a(3)*x(5);
q(4)=x(1)*cos(x(2))-a(1)*x(6)-b(1);
q(5)=x(1)*cos(x(3))-a(2)*x(6)-b(2);
q(6)=x(1)*cos(x(4))-a(3)*x(6)-b(3);

% x=fsolve('myfun',[0.5 0.5 0.5 0.5 0.5 0.5]',optimset('Display','off'));本回答被提问者采纳