![]() |
请教一个while循环的问题
for i=1:179;
b=i/180*pi; x(i)=b; err=subs(err); while err>10^-4 p=1/2*(pmin+pmax); d1=1/3*pi*p^3*(1-cos(b))^2*(2+cos(b))/(sin(b))^3; d2=g*(1-k)*pi*p^2 ; err=abs((d1+d2)-d)/d; if (d1+d2)>d pmax=p; else pmin=p; end end y(i)=p; end [SIZE="4"]以上是循环部分的内容,我想得到随着i的递增取值~while循环中每一个对应i值的p值~ 把这些p值写到一个矩阵中~然后用在后边的计算中~ 现在的问题是~y(i)中的p值全都被同一次循环的值取代了~不知什么原因~ 请高手指点~~ 以下是全部循环:[/SIZE] a=110/180*pi syms b syms p c=72.75*10^-3 d=1*10^-12 e=24*10^-6 f=32*10^-6 g=40*10^-6 h=1+4*g*(f-e)/f^2 k=(1-e/f)^2 pmax=solve(g*(1-k)*pi*p^2-d,p) pmax=pmax(1,:) pmax=subs(pmax) pmin=0 p=1/2*(pmin+pmax) d1=1/3*pi*p^3*(1-cos(b))^2*(2+cos(b))/(sin(b))^3 d2=g*(1-k)*pi.*p^2 err=abs((d1+d2)-d)/d for i=1:1:179; b=i/180*pi; x(i)=b; err=subs(err); while err>10^-4 p=1/2*(pmin+pmax); d1=1/3*pi*p^3*(1-cos(b))^2*(2+cos(b))/(sin(b))^3; d2=g*(1-k)*pi*p^2 ; err=abs((d1+d2)-d)/d; if (d1+d2)>d pmax=p; else pmin=p; end end y(i)=p; end |
所有时间均为北京时间。现在的时间是 11:07。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.