kevin82418 发表于 2009-7-14 07:06

循环语句出现问题,新人求助

syms x t
Me=0.07+0.16-0.01*t;
rho=2700;         
A=0.0004;            
L=0.37;            
Mb=rho*A*L         
f=@(c) Me/Mb*c*(cos(c)*sinh(c)-sin(c)*cosh(c))+cos(c)*cosh(c)+1; %define the function
i=0;
j=1;
%To get the lower n roots of f(x)=0.
n=3; %set n
while j<=n
if f(i)*f(i+1)<= 0
   
lambda(j)=fzero(f,i);
j=j+1;
end
i=i+1;
end
phi=cosh(lambda*x/L)-cos(lambda*x/L)-(cosh(lambda)+cos(lambda))/(sinh(lambda)+sin(lambda))*(sinh(lambda*x/L)-sin(lambda*x/L));

kevin82418 发表于 2009-7-14 07:08

假如Me是常量,是能运算得到结果的
但Me变成关于时间得函数,循环就无法进行~不知道有什么方法能解决

sogooda 发表于 2009-7-14 09:27

回复 沙发 kevin82418 的帖子

求数值解,也就是代入一系列的Me值,之后求出一系列的f。

kevin82418 发表于 2009-7-14 18:03

我现在增加了

for t=...
循环
end
已经得到数值解了

但如果我lambda想用t 来表示,该如何写啊
页: [1]
查看完整版本: 循环语句出现问题,新人求助