1
使用3個向量和3個函數,我構建了3個結果矩陣。下面是什麼我實際上做一個短期和簡單的例子:3D矩陣的插值
xVec = -0.2:0.05:0.2; % Vector 1
yVec = 0:0.1:0.4; % Vector 2
zVec = 1:3; % Vector 3
[X,Y,Z] = meshgrid(xVec,yVec,zVec);
R1 = (X.^2+Y.^2)./sqrt(Z); % Result matrix 1
R2 = sin(X.^2+Y.^2)./exp(Z); % Result matrix 2
R3 = cos(X.^2+Y.^(1/2)).*(Z.^(1/2)); % Result matrix 3
截至目前,我打電話6倍interp1
MATLAB功能,以插值(線性)的3個結果矩陣爲一組特定的的xVec,yVec和zVec值(例如,xVec = 0.012
,yVec = 0.37
和zVec = 1.45
)。我正在使用interp1
函數,因爲我無法找到更好的解決方法(我認爲這可以通過interp2
或interp3
MATLAB函數來實現)。通過運行MATLAB分析器,我發現調用interp1需要花費很多時間。因此,我想知道是否有更快的方法來完成此操作(例如,使用interp2
或interp3
MATLAB函數來減少調用,或者甚至可以將我的3個結果矩陣合併到多維數組中)?
我不知道它是否更快,但我認爲matlab建議使用'griddedInterpolant'。 – AnonSubmitter85