声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1156|回复: 1

[编程技巧] 请教,求方程组,运行没有反应

[复制链接]
发表于 2009-6-4 17:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

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


function [S,E]=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);
[S,E]=solve(f(1),f(2),'S','E');



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

使用道具 举报

 楼主| 发表于 2009-6-5 15:07 | 显示全部楼层
再次运行,到是有反应了,但是为什么运行了很久之后出现一堆
Warning: Warning, external library missing

我并没有用到外部函数啊

而且最后得出无解,我确定这应该是有解的
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-4 18:10 , Processed in 0.054361 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表