2
我想減去兩個不同大小的MATLAB數組,我目前正在使用for循環,這需要很長的時間。 有什麼辦法讓代碼更快?我想知道如果也許我可以以一種快速的方式創建一個沒有for循環的117x489x489的數組。MATLAB如何擺脫循環減去兩個陣列
第一個數組a的尺寸爲1x117,第二個數組b的尺寸爲489x489。 結果矩陣的尺寸爲117x489x489。
這裏是我如何減去兩個數組:
for i = 1:length(a)
result(i) = a(i) - b;
end
爲什麼你想避免'permute'?比'reshape'慢得多嗎? – kkuilla 2015-03-19 10:18:29
@kkuilla是的,從我的一點經驗來看,它很重,特別是在排列大型數組和多維數組時。在這種情況下,'b'是'489x489',它可能是昂貴的。如果它是'a'而不是'1x117',那不會有什麼大不了的。另一方面,「重塑」在運行成本上應該很輕。 – Divakar 2015-03-19 11:50:41