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

6 visualizaciones (últimos 30 días)
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 配列に変換する方法を教えてください。

Respuesta aceptada

MathWorks Support Team
MathWorks Support Team el 22 de En. de 2021
Editada: MathWorks Support Team el 22 de En. de 2021
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'])

Más respuestas (0)

Categorías

Más información sobre .NET と MATLAB 間でのデータ変換 en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!