| 查看: 1772 | 回復(fù): 11 | ||||
[求助]
matlab中if循環(huán)不起來,請求大牛幫助!
|
|
我matlab中寫了一段if循環(huán)語句,顯示的卻只是最后一次循環(huán)得到的結(jié)果檢查不出錯(cuò)誤在哪,還請高手指點(diǎn)一下,不勝感激。 下面是我的代碼: 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 我本來是想把每次迭代得到的GRIDTemp的結(jié)果分別放到A0中, 可實(shí)際A0只是最后一次迭代的GRIDTemp的結(jié)果,不清楚該怎么去修改! 謝謝! |
|
重新粘一下代碼 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 ] |
榮譽(yù)版主 (著名寫手)
彩色掛圖
![]() |
專家經(jīng)驗(yàn): +2 |

榮譽(yù)版主 (著名寫手)
彩色掛圖
![]() |
專家經(jīng)驗(yàn): +2 |
| 不確定你要獲得什么結(jié)果,你這樣的循環(huán)是每個(gè)k,i,j都有一個(gè)GRIDTemp,但是對于每一個(gè)k只有最后一個(gè)也就是i=R,j=C那個(gè)GRIDTemp賦給了Atemp(k),其他的GRIDTemp都沒有使用。如果每個(gè)k只有一個(gè)GRIDTemp,那么將其初始化放在k循環(huán)下,再在不同的i和j下對其部分值進(jìn)行修改(這時(shí)也可能不需要i,j的循環(huán)了,使用矩陣操作)。如果確實(shí)有那么多GRIDTemp要使用,那么將它定義為一個(gè)多維數(shù)組。 |

榮譽(yù)版主 (著名寫手)
彩色掛圖
![]() |
專家經(jīng)驗(yàn): +2 |
|
6樓: Originally posted by czmsina at 2012-07-05 10:23:12 確實(shí)是每個(gè)k都值得到了最后一次的結(jié)果,我是想把每次的結(jié)果都提出來!... 如果每次k,i,j的循環(huán)都需要得到一個(gè)GRID的話,也就是共(R*C)*R*C個(gè)GRID的話,那你把它用成多維數(shù)組就可以了,比如用GRIDTemp(k,i,j,:, =ones(R,C);然后后面的修改為0的方式不變,最后在循環(huán)里面賦給一個(gè)A(k,i,j, ,最后依次把這里的A的每一層撥出來。但是我覺得你應(yīng)該要的不是這樣的結(jié)果。 |

榮譽(yù)版主 (著名寫手)
彩色掛圖
![]() |
專家經(jīng)驗(yàn): +2 |
|
或者你這樣吧,簡單點(diǎn) clc clear R=3%12; C=4%16; t=0; for k=1:(R*C) for i=1:R for j=1:C t=t+1; 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 ATemp(t,:)=reshape(GRIDTemp',1,R*C); end end end A0=ATemp |

|
8樓: Originally posted by csgt0 at 2012-07-05 11:13:18 或者你這樣吧,簡單點(diǎn) clc clear R=3%12; C=4%16; t=0; for k=1 R*C)for i=1:R for j=1:C t=t+1; GRIDTemp=ones(R,C); if (i-1)>=1 ... 很感謝您的耐心。〔贿^這個(gè)循環(huán)好像比我要的結(jié)果多很多。 每次i,j都會(huì)得到一個(gè)GRIDTemp(R行C列的矩陣),k的循環(huán)是把每次的GRIDTemp矩陣轉(zhuǎn)化為ATemp的一行,最終的ATemp應(yīng)該是R*C行,R*C列的新矩陣。 自己也試著改了多次都沒有成功!還是很感謝您的熱心! |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 化學(xué)0703 調(diào)劑 306分 一志愿211 +6 | 26要上岸 2026-03-28 | 6/300 |
|
|---|---|---|---|---|
|
[考研] 329求調(diào)劑 +10 | 鈕恩雪 2026-03-25 | 10/500 |
|
|
[考研] 340求調(diào)劑 +6 | Amber00 2026-03-26 | 6/300 |
|
|
[考研] 332求調(diào)劑 +4 | @MZB382400 2026-03-28 | 4/200 |
|
|
[考研] 083000學(xué)碩274求調(diào)劑 +8 | Li李魚 2026-03-26 | 8/400 |
|
|
[考研] 一志愿華理,數(shù)一英一285求A區(qū)調(diào)劑 +8 | AZMK 2026-03-25 | 12/600 |
|
|
[考研] 壓國家一區(qū)線,求導(dǎo)師收留,有恩必謝! +7 | 迷人的哈哈 2026-03-28 | 7/350 |
|
|
[考研] 347求調(diào)劑 +3 | 山頂見α 2026-03-25 | 3/150 |
|
|
[考研] 339求調(diào)劑,想調(diào)回江蘇 +6 | 烤麥芽 2026-03-27 | 8/400 |
|
|
[考研] 308求調(diào)劑 +7 | 墨墨漠 2026-03-27 | 7/350 |
|
|
[考研] 283求調(diào)劑(080500) +4 | A child 2026-03-27 | 4/200 |
|
|
[考研] 085600,材料與化工321分調(diào)劑 +4 | 大饞小子 2026-03-27 | 6/300 |
|
|
[考研] 求調(diào)劑 +3 | 劉柯@ 2026-03-24 | 4/200 |
|
|
[考研] 0703化學(xué)一志愿南京師范大學(xué)303求調(diào)劑 +3 | zzffylgg 2026-03-24 | 3/150 |
|
|
[考研] 調(diào)劑 +4 | 柚柚yoyo 2026-03-26 | 4/200 |
|
|
[考研] 334分 一志愿武理-080500 材料求調(diào)劑 +4 | 李李不服輸 2026-03-25 | 4/200 |
|
|
[考研] 機(jī)械學(xué)碩總分317求調(diào)劑。。! +4 | Acaciad 2026-03-25 | 4/200 |
|
|
[考研] 材料與化工304求B區(qū)調(diào)劑 +3 | 邱gl 2026-03-25 | 3/150 |
|
|
[考研] 296求調(diào)劑 +4 | 汪?! 2026-03-25 | 7/350 |
|
|
[考研] 材料專碩331求調(diào)劑 +4 | 鮮當(dāng)牛 2026-03-24 | 4/200 |
|