24小时热门版块排行榜    

查看: 585  |  回复: 1

mezhaosheng

新虫 (初入文坛)

[求助] 求助运用matlab求解非线性方程组已有1人参与

想用matlab求解关于k0,k11和e的超越方程组,方程组如下,
h1+l1*sin(k0)+l5*sin(k6)+h4*sin(e)+l8*sin(e)=h3+lz*sin(k11)+h6*cos(e)
l1*cos(k0)+l9+lz*cos(k11)=l5*cos(k6)-h4*sin(e)+l8*cos(e)+h6*sin(e)
e=k3+k4+k5+k6-k0+k8+k9
其中k3和k4是关于k0和e的中间变量
k3=acos((11^2+(sqrt(l1^2+l2^2+2*l1*l2*cos(k2+k0)))^2+l1^2-l2^2)/(2*l1*(sqrt(l1^2+l2^2+2*l1*l2*cos(k2+k0)))))
k4=acos((14^2+(sqrt(l1^2+l2^2+2*l1*l2*cos(k2+k0)))^2+l4^2-l3^2)/(2*l4*(sqrt(l1^2+l2^2+2*l1*l2*cos(k2+k0)))))
其余是已知量,我编制了如下方程:
clear;
clc

l1=3450;l2=1400.89;l3=3500;l4=700;l5=4600.22;l6=1790.25;l7=637.02;l8=1387.51;l9=2330;
h1=500;h2=1300;h3=550;h4=380;h5=850;h6=609.77;
k2=deg2rad(34.82);k5=deg2rad(2.45);k8=deg2rad(14.77);k10=deg2rad(137.54)

lz=7070.65
lq=1554.66

syms k9
assume(0<k9<pi)
f=acos((l6^2+l7^2-lq^2)/(2*l6*l7))-k9
k9=solve(f,k9)

syms k0 e k11
assume(0<k0<pi)
assume(-pi/18<e<pi/18)
assume(-pi/2<k9<pi/2)
k3=acos((11^2+(sqrt(l1^2+l2^2+2*l1*l2*cos(k2+k0)))^2+l1^2-l2^2)/(2*l1*(sqrt(l1^2+l2^2+2*l1*l2*cos(k2+k0)))))
k4=acos((14^2+(sqrt(l1^2+l2^2+2*l1*l2*cos(k2+k0)))^2+l4^2-l3^2)/(2*l4*(sqrt(l1^2+l2^2+2*l1*l2*cos(k2+k0)))))
k6=k3+k4+k5-k0
eq1='h1+l1*sin(k0)+l5*sin(k6)+h4*sin(e)+l8*sin(e)=h3+lz*sin(k11)+h6*cos(e)';
eq2='l1*cos(k0)+l9+lz*cos(k11)=l5*cos(k6)-h4*sin(e)+l8*cos(e)+h6*sin(e)';
eq3='e=k3+k4+k5+k6-k0+k8+k9'
[k0,e,k11]=solve(eq1,eq2,eq3,'k0','e','k11')
但是得不到有效解,求助啊。。
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

pdl9527

专家顾问 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
求出来有两个参数不满足定义域,希望有帮助。
CODE:
function question_17
clear;
clc
l1=3450;l2=1400.89;l3=3500;l4=700;l5=4600.22;l6=1790.25;l7=637.02;l8=1387.51;l9=2330;
h1=500;h2=1300;h3=550;h4=380;h5=850;h6=609.77;
k2=deg2rad(34.82);k5=deg2rad(2.45);k8=deg2rad(14.77);k10=deg2rad(137.54);
lz=7070.65;
lq=1554.66;
[x,fval,exitflag,output]=fsolve(@fun,[1,1,0,0])


function y=fun(x)
%k9,k0,e,k11=x(1:4);
k3=acos((11^2+(sqrt(l1^2+l2^2+2*l1*l2*cos(k2+x(2))))^2+l1^2-l2^2)/(2*l1*(sqrt(l1^2+l2^2+2*l1*l2*cos(k2+x(2))))));
k4=acos((14^2+(sqrt(l1^2+l2^2+2*l1*l2*cos(k2+x(2))))^2+l4^2-l3^2)/(2*l4*(sqrt(l1^2+l2^2+2*l1*l2*cos(k2+x(2))))));
k6=k3+k4+k5-x(2);
f1=acos((l6^2+l7^2-lq^2)/(2*l6*l7))-x(1);
f2=h1+l1*sin(x(2))+l5*sin(k6)+h4*sin(x(3))+l8*sin(x(3))-(h3+lz*sin(x(4))+h6*cos(x(3)));
f3=l1*cos(x(2))+l9+lz*cos(x(4))-(l5*cos(k6)-h4*sin(x(3))+l8*cos(x(3))+h6*sin(x(3)));
f4=x(3)-(k3+k4+k5+k6-x(2)+k8+x(1));
y=[f1;f2;f3;f4];
end
end

2楼2016-12-28 23:43:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 mezhaosheng 的主题更新
信息提示
请填处理意见