MATLAB Builder NE による .NET コンポーネントによる出力 MWArray を Visual Basic 内で .NET Array に変換するにはどうすればよいですか?

2 次查看(过去 30 天)
MATLAB プログラムを MATLAB Builder NE を使用して.NET コンポーネントに変換しました。元となる MATLAB プログラムでは、複数のデータ型の複数の戻り値を返します。
例:
function [argout1, argout2, ..., varargout] = foo(argin1, argin2, ...., varargin)
ToArray() メソッドを使用して MWArray 型の戻り値をネイティブの.NET 配列に変換しようとすると、Visual Studio による以下のエラーとなります。
'ToArray' is not a member of 'MathWorks.MATLAB.NET.Arrays.MWArray'.
MWArray 型を .NET 配列に変換する方法を教えてください。

采纳的回答

MathWorks Support Team
编辑:MathWorks Support Team 2021-1-22
ToArray() メソッドは MWNumericArray, MWLogicalArray, MWCharArray 型のみに有効です。MAArray オブジェクトの要素は ToArray() メソッド実行前にこれら3つのうちのどれかにキャストされている必要があります。
Visual Basic では CType コマンドを使用して  MWArray 配列を MWNumericArray, MWLogicalArray, または MWCharArray にキャストし、ToArray メソッドを使用する方法があります。
たとえば、関数 foo が 複数の出力引数を持つ MWArray オブジェクトの場合、以下の記述により1番目の出力引数を、MWNumericArray 型を称する方法で、.NET の double 型配列に変換することができます。
Dim nativeArray(,) As Double = CType(foo(1), MWNumericArray).ToArray(MWArrayComponent.Real)
詳細については MATLAB Builder NE の MWArray クラスライブラリのドキュメントをご覧ください。
MATLAB 環境に MATLAB Builder NE のヘルプがインストールされている場合は、以下のコマンドでも開くこともできます。
>> 
web([docroot,'/toolbox/dotnetbuilder/MWArrayAPI/HTML/index.html'])

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 .NET と MATLAB 間でのデータ変換 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!