回复: 急!请MATLAB高手帮我解这道隐函数方程
可利用fsolve函数求解;
先编写函数M文件,如下:
function y=f(x,a) %x是数组,存储theta1、theta2,a是theta1的值
y(1)=x(1)-a;
l1=0.7;l2=1.3;l3=0.9;l4=1.5;
y(2)=l1*cos(x(1))+l2*sqrt(1-((l3*sin(x(2))-l1*sin(x(1)))/l2)^2)-l3*cos(x(2))-l4;
再在matlab命令行中输入:
>> x0=[0,0.2];
>> [x,fv,ef]=fsolve(@f,x0,[],0)
即可得到:
x =
0 1.4033
fv =
1.0e-007 *
0 0.5511
即:theta1=0时,theta2=1.4033(rad)
其它情况依此即可,要注意初值x0的选取,否则可能不收敛。
~ ~
|