Effacer les filtres
Effacer les filtres

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

12 vues (au cours des 30 derniers jours)
Hans Dohse
Hans Dohse le 12 Fév 2024
Réponse apportée : Aditya le 22 Fév 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?

Réponses (1)

Aditya
Aditya le 22 Fév 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!

Catégories

En savoir plus sur Deploy to C++ Applications Using mwArray API (C++03) dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by