Re: [問題] 讀檔Index exceeds matrix dimensions
: 結果就是
: 當迴圈的第一次,也就是i = 1的時候,是完全正常的
: 可是第二次會直接錯,錯在這行
: ??? Index exceeds matrix dimensions.
: folder = dir(folder_name);
: 我以為是陣列大小的儲存問題,於是我加上了紫色那行,可是沒有用處
: 而我又做了以下三個嘗試:
: (1) for改成while、if、switch...之類的,不過功能一樣所以沒差
: (2) 直接把folder改成folder_1、folder_2放在兩個不同的if
: 兩次迴圈存檔的空間(記憶體)理應完全不同
: (所以不會有什麼覆蓋不覆蓋的問題了)
: (3) ..我忘了我改什麼了XD 總之沒用
: 可是一樣都是
: ??? Index exceeds matrix dimensions.
: folder = dir(folder_name);
: 請問這是什麼問題?
→
,
我剛剛測試,把程式碼給實際測試一遍,驚訝的發現
for i = 1:2
if i == 1
folder_name = 'D:\Brain\Left1~18\';
side = '13~18\';
elseif i == 2
folder_name = 'D:\Brain\Right1~15\';
side = '11~15\';
end
folder_name = strcat(folder_name,side);
folder = dir(folder_name);
for x = 1:size(folder);
b2 = folder(x,1).name;
pic_name = strcat(folder_name,b2);
I = imread(pic_name);
(大量運算)
end
end
發現
把綠色括號給去掉就可以執行了囧
當然綠色括號裡面包含了一兩千行的東西,
所以光這樣去掉實在沒什麼意義啦...
可是我還是不瞭解,為什麼可以執行的程式
最外圍加上一個迴圈跑兩次,就會錯了呢?
不能執行的錯也就算了,
跑第一次一定對,跑第二次一定錯是什麼情況啊..............
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.25.118.144
推
09/19 20:54, , 1F
09/19 20:54, 1F
→
09/19 20:55, , 2F
09/19 20:55, 2F
→
09/19 20:56, , 3F
09/19 20:56, 3F
→
09/19 20:58, , 4F
09/19 20:58, 4F
→
09/20 20:16, , 5F
09/20 20:16, 5F
→
09/20 20:16, , 6F
09/20 20:16, 6F
→
09/20 20:17, , 7F
09/20 20:17, 7F
→
09/22 01:42, , 8F
09/22 01:42, 8F
→
09/22 01:43, , 9F
09/22 01:43, 9F
→
09/22 01:44, , 10F
09/22 01:44, 10F
→
09/22 23:01, , 11F
09/22 23:01, 11F
→
09/22 23:02, , 12F
09/22 23:02, 12F
→
09/22 23:02, , 13F
09/22 23:02, 13F
討論串 (同標題文章)