24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1656  |  回复: 11
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

czmsina

铁虫 (初入文坛)

[求助] matlab中if循环不起来,请求大牛帮助!

我matlab中写了一段if循环语句,显示的却只是最后一次循环得到的结果检查不出错误在哪,还请高手指点一下,不胜感激。
下面是我的代码:
R=12
C=16
for k=1R*C)
for i=1:R
for j=1:C
GRIDTemp=ones(R,C);
if (i-1)>=1
    GRIDTemp(i-1,j)=0;
end
if (j-1)>=1
    GRIDTemp(i,j-1)=0;
end
if (j+1)<=C
    GRIDTemp(i,j+1)=0;
end
if (i+1)<=R
    GRIDTemp(i+1,j)=0;
end
end
end
ATemp(k,=reshape(GRIDTemp',1,R*C);
end
A0=ATemp
我本来是想把每次迭代得到的GRIDTemp的结果分别放到A0中,
可实际A0只是最后一次迭代的GRIDTemp的结果,不清楚该怎么去修改!
谢谢!
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

czmsina

铁虫 (初入文坛)

引用回帖:
8楼: Originally posted by csgt0 at 2012-07-05 11:13:18
或者你这样吧,简单点
clc
clear
R=3%12;
C=4%16;
t=0;
for k=1R*C)
      for i=1:R
         for j=1:C
             t=t+1;
             GRIDTemp=ones(R,C);
             if (i-1)>=1
   ...

很感谢您的耐心啊!不过这个循环好像比我要的结果多很多。
每次i,j都会得到一个GRIDTemp(R行C列的矩阵),k的循环是把每次的GRIDTemp矩阵转化为ATemp的一行,最终的ATemp应该是R*C行,R*C列的新矩阵。
自己也试着改了多次都没有成功!还是很感谢您的热心!
9楼2012-07-06 14:09:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 12 个回答

czmsina

铁虫 (初入文坛)

dbb627: 编辑内容 2012-07-03 20:33
重新粘一下代码
CODE:
R=12
C=16
for k=1:(R*C)
for i=1:R
for j=1:C
GRIDTemp=ones(R,C);
if (i-1)>=1
    GRIDTemp(i-1,j)=0;
end
if (j-1)>=1
    GRIDTemp(i,j-1)=0;
end
if (j+1)<=C
    GRIDTemp(i,j+1)=0;
end
if (i+1)<=R
    GRIDTemp(i+1,j)=0;
end
end
end
ATemp(k,:)=reshape(GRIDTemp',1,R*C);
end
A0=ATemp

[ Last edited by dbb627 on 2012-7-3 at 20:33 ]
2楼2012-07-03 15:52:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

czmsina

铁虫 (初入文坛)

不知道怎么了,粘后有错误,都是冒号
3楼2012-07-03 15:54:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖

感谢参与,应助指数 +1
没什么问题啊,除了程序写的有点繁琐。A的每一列就是你的每次的结果啊,你给它变成行向量了
showmethemoney
4楼2012-07-03 16:50:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见