作业帮 > 综合 > 作业

matlab的问题 我通过solve解出方程组:syms q c1 c2 l D1 E1 E2 F1[D1,E1,E2,

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/06/09 12:32:15
matlab的问题
我通过solve解出方程组:
syms q c1 c2 l D1 E1 E2 F1
[D1,E1,E2,F1]=solve('1/2*(q*(c2-c1)-q*(c2-c1)*(c2+c1)/(2*l))*c1^2+D1=0.5*(q*(c2-c1)-q*(c2-c1)*(c2+c1)/(2*l))*c1^2+E1',...
'1/6*(q(2-c1)-q*(c2-c1)*(c2+c1)/(2*l))*c1^3+D1*c1=1/6*(q(c2-c1)-q*(c2-c1)*(c2+c1)/(2*l))*c1^3+E1*c1+E2',...
'0.5*(q*(c2-c1)-q*(c2-c1)*(c2+c1)/(2*l))*c2^2-1/6*q(c2-c1)^3+E1=-q*(c2-c1)*(c2+c1)*c2^3/(4*l)+q*(c2-c1)*(c2+c1)*c2/2',...
'1/6*(q*(c2-c1)-q*(c2-c1)*(c2+c1)/(2*l))*c2^3-1/24*q*(c2-c1)^4+E1*c2+E2=-q*(c2-c1)*(c2+c1)/(12*l)*c2^3+q*(c2-c1)*(c2+c1)/4*c2^2+F1*c2',D1,E1,E2,F1)
得到
D1 =-.83333333333333333333333333333333e-1*(-3.*q*c2^4-6.*q*c2^2*c1*l+3.*q*c2^2*c1^2-2.*q(c2-c1)^3*l+3.*q*c2^5-3.*q*c2^3*c1^2+6.*q*c2*l*c1^2)/l;
E1 =-.83333333333333333333333333333333e-1*(-3.*q*c2^4-6.*q*c2^2*c1*l+3.*q*c2^2*c1^2-2.*q(c2-c1)^3*l+3.*q*c2^5-3.*q*c2^3*c1^2+6.*q*c2*l*c1^2)/l;
E2 =.16666666666666666666666666666667*c1^3*q(2-c1)-.16666666666666666666666666666667*c1^3*q(c2-c1);
F1 =-.41666666666666666666666666666667e-1*(3.*q*c2^4*l-4.*q*l*c2*c1^3+q*l*c1^4-6.*q*c2^5-12.*q*c2^3*c1*l+6.*q*c2^3*c1^2-4.*c2*q(c2-c1)^3*l+6.*q*c2^6-6.*q*c2^4*c1^2+12.*q*l*c2^2*c1^2-4.*c1^3*q(2-c1)*l+4.*c1^3*q(c2-c1)*l)/c2/l;
但是带入q,c1,c2,l数值时,出现错误:Subscript indices must either be real positive integers or logicals.主要在E2和F1有错误
我检查了下你的程序,有几处类似q(c2-c1)这样的地方应该是你少打了乘号吧(q*(c2-c1))?
最后导致E2和F1最后存在q(c2-c1)这样的项,当你代入实际数值时,matlab把这样的项当做了q的第c2-c1个分量处理,结果当然就不对了