[请益]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