fengchenpupu 发表于 2009-6-4 17:01

请教,求方程组,运行没有反应

有一个表达式,很复杂,里面有8个变量,其中有两个是待求的(S,E),四个是已知的(b,h,g0,e0),还有两个是通过实验测得的(Vpi,l),于是通过测两组数据得到两个方程,从而求解两个未知数。我想先列出该表达是,然后利用solve函数来求解,以下是程序


function =pullinvoltage(Vpi1,Vpi2,l1,l2,b,h,g0,e0)
syms S E;
A(1)=2*(E/3*(pi/l1)^4*h^3/4+pi^2/(4*l1^2)*S*h);
A(2)=2*(E/3*(pi/l2)^4*h^3/4+pi^2/(4*l2^2)*S*h);
B(1)=pi^4/(8*l1^4)*E*h;
B(2)=pi^4/(8*l2^4)*E*h;
D(1)=A(1)/(B(1)*g0^2);
D(2)=A(2)/(B(2)*g0^2);
F(1)=36*D(1)+8+3*sqrt(375*D(1)^3-156*D(1)^2+144*D(1));
F(2)=36*D(2)+8+3*sqrt(375*D(2)^3-156*D(2)^2+144*D(2));
cpi(1)=g0/9*F(1)^(1/3)-((15*D(1)-4)*g0)/(9*F(1)^(1/3))+2/9*g0;
cpi(2)=g0/9*F(2)^(1/3)-((15*D(2)-4)*g0)/(9*F(2)^(1/3))+2/9*g0;
G(1)=sqrt(4*(A(1)*cpi(1)+B(1)*cpi(1)^3)*sqrt(g0)*(g0-cpi(1))^(3/2)/(e0*(1+0.42*g0/b)));
G(2)=sqrt(4*(A(2)*cpi(2)+B(2)*cpi(2)^3)*sqrt(g0)*(g0-cpi(2))^(3/2)/(e0*(1+0.42*g0/b)));
f(1)=Vpi1-1./(1.1454*(1-(1-0.8894*exp(1.0874*1e-2*g0/h)).*exp((-2.1064*S^0.623)/(E*h))*1.9252*1e3.*(l1-100*1e6+0.06724)))*G(1);
f(2)=Vpi2-1./(1.1454*(1-(1-0.8894*exp(1.0874*1e-2*g0/h)).*exp((-2.1064*S^0.623)/(E*h))*1.9252*1e3.*(l2-100*1e6+0.06724)))*G(2);
=solve(f(1),f(2),'S','E');



当我在comand windows中运行下面语句时=pullinvoltage(6.5791e-014,5.2161e-014,6.5e-7,7.3e-7,4.3e-7,2.2e-7,1.08e-7,2.33)
却没有任何反应,也没有给出错误提示。
请教各位高手,这究竟是什么原因,应该如何改进?谢谢!

fengchenpupu 发表于 2009-6-5 15:07

再次运行,到是有反应了,但是为什么运行了很久之后出现一堆
Warning: Warning, external library missing

我并没有用到外部函数啊

而且最后得出无解,我确定这应该是有解的
页: [1]
查看完整版本: 请教,求方程组,运行没有反应