matlab解方程,方程如下,我用solve函数解不出来

其中,θ0、θ1、θ2是未知数,其他全是已知 求帮忙

第1个回答  2013-12-02
使用 fsolve 具体如下

运行主文件,代码如下
x0 = [0.01;0.01;0.01]; % Make a starting guess at the solution
options=optimset('Display','iter'); % Option to display output
[x,fval] = fsolve(@myfsolvefun,x0,options); % Call optimize
x

然后新建个m文件 命名为myfsolvefun.m(即定义这个函数)
myfsolvefun.m里的代码如下
function F = myfsolvefun(sita)

x=2;y=3;z=4;l0=5;l1=6;l2=7;l3=8; %这里我随便赋的值,根据你自己的要求修改

F=[cos(sita(1))*(l1*sin(sita(2))+l2*sin(sita(2)+sita(3))+l3)-x;...
sin(sita(1))*(l1*sin(sita(2))+l2*sin(sita(2)+sita(3))+l3)-y;...
l0+l1*cos(sita(2))+l2*cos(sita(2)+sita(3))-z];

最后X为输出结果本回答被提问者采纳
第2个回答  2013-11-27
解复杂的非线性方程组请参看fsolve函数
相似回答