Pass multi dimensional byte array from C# to Matlab library using MWArray.

2 visualizaciones (últimos 30 días)
Hans Dohse
Hans Dohse el 12 de Feb. de 2024
Respondida: Aditya el 22 de Feb. de 2024
I have a C# array
byte[,,] r = new byte[2, 3, 4];
I have a matlab function which takes in a 3D byte array.
How do I use MWArray to transfer the data?

Respuestas (1)

Aditya
Aditya el 22 de Feb. de 2024
Hi Hans,
I understand that you have a 3D byte array in C# that you need to pass to a MATLAB function, which expects a 3D byte array as input, using the “MWArray interface provided by the MATLAB Compiler SDK.
To achieve this, you can follow these points:
  1. Create your 3D byte array in C#.
  2. Convert the C# byte array to an MWNumericArray, which is a specialized type of MWArray designed for numeric data.
  3. Invoke the MATLAB function with the MWNumericArray as an argument.
  4. The function's return value will be stored in an MWArray object, which you can then use in your C# application.
MWArray is the base class for different array types in MATLAB, and MWNumericArray is a derived class that specifically handles numeric data, making it suitable for transferring numeric arrays like your byte array.
For further guidance on data conversion and handling different data types when interfacing between .NET and MATLAB, you can utilize the below MATLAB resources:
These resources provide valuable information on how to effectively manage data conversion, ensuring accurate communication between your C# application and MATLAB functions.
Hope this helps!

Categorías

Más información sobre Deploy to .NET Applications Using MWArray API 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!

Translated by