Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2009-08-27, 10:16   #1
hitzhjg
初级会员
 
注册日期: 2009-04-15
年龄: 40
帖子: 4
声望力: 0
hitzhjg 正向着好的方向发展
默认 请大家帮忙看看这个框图的的程序怎么编,我自己是初学者,刚编了一个程序,只能运行一次,请大家帮帮忙,谢谢了

p=8407.484658*10^(-6)
ht=297.648033*10^(-9)
E=9.03*10^10;
e_sheding=0.1;
D=2*10^(-6);
n=3.39*ones(1,50);
sigema0=930*10^6*ones(1,50);
i=1;
e=ones(1,50);
while(e(i)>e_sheding)
c(i)=sqrt(0.5*((2*n(i)+1)/(2*n(i)))^(2*n(i)-2));
C=(c).^2;
d(i)=2*sqrt(C(i)*ht*D-(C(i)*ht^2));
kesi_p(i)=0.2*d(i)/D;
fai(i)=(6*n(i)/(2*n(i)+1))*(40/(9*pi))^(1/n(i));
sigema(i)=4*p/(pi*(d(i))^2*fai(i));
K(i)= E*(sigema0(i)/E)^(1-1/(n(i)));
m(i)=log(kesi_p)/log(sigema(i)/K(i));
sigema_y(i)=E*(K(i)/E)^(m(i)/(m(i)-1));
kesi_0(i)=sigema_y(i)/E;
e(i+1)=max([abs((sigema_y(i)-sigema0(i))/sigema0(i)) abs((m(i)-n(i))/n(i))]);
sigema0(i+1)=sigema_y(i);
n(i+1)=m(i);
end
disp('适合数组为:'),disp(i-1),disp('sigema='),disp(sigema_y(i-1)),disp('n='),disp(m(i-1)),disp('误差='),disp(e(i-1))

框图在附件里面,谢谢各位MATLAB精通者帮忙,谢谢。
上传的附件
文件类型: rar 框图.rar (70.8 KB, 9 次查看)
hitzhjg 当前离线   回复时引用此帖
旧 2009-09-11, 13:38   #2
barcelona
初级会员
 
注册日期: 2009-08-28
年龄: 45
帖子: 14
声望力: 16
barcelona 正向着好的方向发展
默认 回复: 请大家帮忙看看这个框图的的程序怎么编,我自己是初学者,刚编了一个程序,只能运行一次,请大家帮帮忙,谢谢了

我没有仔细看你的代码内容,只是针对你说的只能运行一次简单看了一下;
只能运行一次是因为在while循环语句中i的值一直没有变,只是1;
你可以在end之前添加一个关于i的赋值语句i=i+1;
barcelona 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 04:03


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.