わかりましたので、ベクトル化できない多数のネストされたループを含むコードを MATLAB で開発しました。処理を高速化するために、このファイルを「コード生成」します。ここでの問題は、.m ファイルではなく gcc (または mex) にある関数を呼び出していることです。ここで関数: http://www.mathworks.com/matlabcentral/fileexchange/21702-3d-volume-interpolation-with-ba-interp3--fast-interp3-replacement
誰もこれを修正する方法を知っていますか?
メイン ファイル (main.m) の構造は次のとおりです。
function OUT=main(IN)
assert(isa(IN,'double'));
assert(all(size(IN)==[256,256,128]));
for i=1:I
for j=1:J
for m=1:M
[.....]
OUT=ba_interp3(Y,X,Z,IN,reg_y,reg_x,reg_z,'nearest'); %%% function in either cpp or mex file
[.....]
end
end
end
end
MATLAB エラー:
Only MATLAB files are supported for code generation. Unsupported file extension 'mexa64'