matlab fsolve求解器,Matlab fsolve函数求解非线性方程

这是我用fsolve函数求解非线性方程的的matlab程序

function yy3=dds1(X)

l0=7096;

l1=8980;

l2=3000;

l3=600;

l4=8000;

l8=8000;

l5=5000;

l6=5000;

l7=5000;

l9=9000;

xp=-5400;

zp=-3000;

d=3000;

theta2=2*pi/3;

q1=500;q2=-1000;q3=0;q4=0;q5=30;

theta1=acos((l2^2+l0^2-(l1+q1)^2)/2/l2/l0);

theta3=theta2-theta1;

yy3(1)=((l2+l3)*cos(theta3)-l5/2*sin(X(4))-X(1))^2+(q5-l5/2+l5/2*cos(X(4))-X(2))^2+((l2+l3)*sin(theta3)+X(3))^2-l6^2; %one

yy3(2)=((l2+l3)*cos(theta3)+l5/2*sin(X(4))-X(1))^2+(q5+l5/2-l5/2*cos(X(4))-X(2))^2+((l2+l3)*sin(theta3)+X(3))^2-l6^2; %two

yy3(3)=X(2)-l8*sin(X(4))*cos(X(5))-q4; %three

yy3(4)=((l2+l3)*cos(theta3)-l4+l8*cos(X(4))*cos(X(5))-X(1))^2+((l2+l3)*sin(theta3)+l8*sin(X(5))+X(3))^2-(l7+q2)^2; %four

yy3(5)=(d/l6*(l5/2*sin(X(4))+X(1)-(l2+l3)*cos(theta3))+(l2+l3)*cos(theta3)-xp-l5/2*sin(X(6)))^2+(d/l6*(-l5/2*cos(X(4))+X(2)-q5+l5/2)+q5-l5/2+l5/2*cos(X(6)))^2+(d/l6*(X(3)+(l2+l3)*sin(theta3))-(l2+l3)*sin(theta3)-zp)^2-(l9+q3)^2;

yy3(6)=(d/l6*(-l5/2*sin(X(4))+X(1)-(l2+l3)*cos(theta3))+(l2+l3)*cos(theta3)-xp+l5/2*sin(X(6)))^2+(d/l6*(l5/2*cos(X(4))+X(2)-q5-l5/2)+q5+l5/2-l5/2*cos(X(6)))^2+(d/l6*(X(3)+(l2+l3)*sin(theta3))-(l2+l3)*sin(theta3)-zp)^2-(l9+q3)^2;

>> fsolve('dds1',[3600 30 -4000 0.01 0.1 0.01])

下面是运行结果:

Optimization terminated: norm of relative change in X is less

than max(options.TolX^2,eps) and  sum-of-squares of function

values is less than sqrt(options.TolFun).

ans =

1.0e+003 *

3.6012   -0.0000   -4.0185   -0.0000    0.0001   -0.0000

请问高手这个怎么解决?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值