马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
初学Matlab,不知道下面的错在那里,望高人指点。
这是一个程序的简化部分,按回车没有结果。应该是if语句出错。
m=9;
n=15;
po=zeros(m,n);
p=zeros(m,n);
for k=1:10
for i=2:m-1
for j=1:n
if j==1
p(i,j)=po(i+1,j)+po(i-1,j)+po(i,j+1)+po(i,n-1)+0.5;
else if j==n
p(i,j)=po(i+1,j)+po(i+1,j)+po(j,2)+po(i,n-1)+0.5;
else
p(i,j)=po(i+1,j)+po(i-1,j)+po(i,j+1)+po(i,j-1)+0.5;
end
end
end
po=p;
end
如果不要if语句,可以计算出来,但每行上的数值都是相等的,不是我想要的结果。
m=9;
n=15;
po=zeros(m,n);
p=zeros(m,n);
for k=1:10
for i=2:m-1
for j=2:n-1
p(i,1)=po(i+1,1)+po(i-1,1)+po(i,2)+po(i,14)+0.5;
p(i,15)=po(i+1,15)+po(i-1,15)+po(i,2)+po(i,14)+0.5;
p(i,j)=po(i+1,j)+po(i-1,j)+po(i,j+1)+po(i,j-1)+0.5;
end
end
po=p;
end
[ 本帖最后由 ChaChing 于 2009-4-19 11:28 编辑 ] |