按回车没有结果?
初学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 编辑 ] 少个end嘛! LZ是否直接在command window下命令, 按回车没有结果, 因为语句未结束!
若LZ将程序存成m-script後执行, 就会有如下报错!
??? Error: File: zzz1.m Line: 5 Column: 1
At least one END is missing: the statement may begin here.
但注意 elseif与else if是不同的! 具体视LZ要那个!
还有习惯要养好! 同一loop对齐就很容易发现少end!
[ 本帖最后由 ChaChing 于 2009-4-19 00:08 编辑 ] 非常感谢了
页:
[1]