声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1241|回复: 2

[编程技巧] 按回车没有结果?

[复制链接]
发表于 2009-4-17 16:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

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 编辑 ]
回复
分享到:

使用道具 举报

发表于 2009-4-19 00:06 | 显示全部楼层
少个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

查看全部评分

 楼主| 发表于 2009-4-19 22:11 | 显示全部楼层
非常感谢了
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-2 13:32 , Processed in 0.072483 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表