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

作者: s455164 (夢想家)   2017-06-23 15:53:03
有點卡關..
我有三個陣列:
三維陣列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個多小時...不知道可以如何改善
想請教如何解決,麻煩大家了

Links booklink

Contact Us: admin [ a t ] ucptt.com