Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2010-08-14
年龄: 39
帖子: 1
声望力: 0 ![]() |
![]()
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 以上是循环部分的内容,我想得到随着i的递增取值~while循环中每一个对应i值的p值~ 把这些p值写到一个矩阵中~然后用在后边的计算中~ 现在的问题是~y(i)中的p值全都被同一次循环的值取代了~不知什么原因~ 请高手指点~~ 以下是全部循环: 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 此帖于 2010-08-14 00:49 被 黑黝黝 编辑。 |
![]() |
![]() |