[請益]for迴圈內差法過慢

看板MATLAB作者 (夢想家)時間7年前 (2017/06/23 15:53), 7年前編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/3 (看更多)
有點卡關.. 我有三個陣列: 三維陣列A(100,100,51)、二維陣列B(100,100)、一維陣列C(1,51) 其中A陣列的第三個維度是與C互相呼應的(A(:,:,1)是對應C(1,1)) 想要利用B陣列與C陣列之間的比例關係去對A陣列 內插出一個新的二維陣列A'(100,100) 我自己的寫法是這樣的 A' = zeros(100,100); for i = 1:100 for j = 1:100 for k = 1:51-1 if ((B(i,j)>=C(k)) && (B(i,j)<=C(k+1))) || (((B(i,j)>=C(k)) && (B(i,j)>=C(k+1) A'(i,j) = (A(i,j,k+1)-A(i,j,k)) * (B(i,j)-C(k))/(C(k+1)-C(k)) + A(i,j,k); elseif (B(i,j) <= C(k)) && (B(i,j) < = C(k+1)) A'(i,j) = A(i,j,k+1) - (A(i,j,k+1)-A(i,j,k)) * (C(k+1)-B(i,j))/(C(k+1)-C(k)) end end end end 可是發現計算時間真的太長了,要花到3個多小時...不知道可以如何改善 想請教如何解決,麻煩大家了 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.26.183 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1498204385.A.91C.html ※ 編輯: s455164 (140.112.26.183), 06/23/2017 15:55:20
文章代碼(AID): #1PJCZXaS (MATLAB)
文章代碼(AID): #1PJCZXaS (MATLAB)