如何替换while
n=10; % the number of the meshh=10; % the heat transfer coefficient
k=1;
dx=1/n;
dy=1/n;
T_old=zeros(n+1,n+1)+500;
T_new=T_old;
eps=1;
iter=0;
while (eps>0.001)
iter=iter+1;
for j=2:n
i=1;
T_new(i,j)=1/(2*(h*dx/k+2))*(2*T_old(i+1,j)+T_new(i,j-1)+T_old(i,j+1)+2*h*dx/k*300);
end
for i=2:n
for j=2:n
T_new(i,j)=1/4*(T_old(i+1,j)+T_old(i,j+1)+T_new(i-1,j)+T_new(i,j-1));
end
end
ErrorTOT=T_old-T_new;
eps=max(max(ErrorTOT));
T_old=T_new;
end
=meshgrid(0:dx:1,0:dy:1);
figure(1)
contourf(XI,YI,T_new,30);
caxis();
colorbar('vert')
title('Temp Distribution at S-S')
% 不行用while,怎么替换谢谢
回复 楼主 的帖子
eps最好换个matlab里eps有特定的指代
不用while是什么意思,用if? 用if 和循环搞定
不用while
另外那个eps是应该换一下,免得机器混淆 不用while?为啥呢?以这段程序来看,用while最合适了啊。
要不就像3楼说的,用一个循环和一个选择代替。for ...
if ... break; end
...
end 楼上不要给思路,还是直接改正过来,最好已运行就能出结果的
我比较懒的 懒还那么有理由?
本来在这种情况下用while比for+if好很多,
为啥楼上要因为你懒除了给你思路还要去写一段自己本来不愿意接受的code给你?
回复 5楼 的帖子
我也比较懒:@L
页:
[1]