一般的なリストを返すメソッドを持つアセンブリとして C# dll を開発しました - List<T>. 私はMatlabからこのメソッドを呼び出して、返された値をSystem.Int32[].
このタイプを Matlab 内でより自由に使用するために、このタイプを Matlab マトリックス (またはセル) に変換するにはどうすればよいですか?
さらに良いことに、Matlab によって呼び出された場合、dll が「Matlab スタイル」の配列を自動的に返すようにすることはできますか?
次の型の配列があるとSystem.Int32[]します (C# 関数によって返される)。
arr = NET.createArray('System.Int32',5);
for i=1:5
arr.Set(i-1, i);
end
MATLAB 行列に変換するには、次のように簡単に実行できます。
M = double(arr)
またはより具体的に:
M = int32(arr)
結果:
>> whos
Name Size Bytes Class Attributes
M 1x5 20 int32
arr 1x1 60 System.Int32[]
MATLAB Builder NE アドオンが問題を解決してくれることを願っています。それを試してみてください。