Is it possible to read/write MAT files from a C# application?
74 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
MathWorks Support Team
el 25 de Abr. de 2012
Editada: MathWorks Support Team
el 7 de Mayo de 2024
I would like to develop a C# application that is able to import and export MAT files compatible with MATLAB 7.14 (R2012a).
Respuesta aceptada
MathWorks Support Team
el 7 de Mayo de 2024
Editada: MathWorks Support Team
el 7 de Mayo de 2024
MAT-file APIs are only available for Fortran and the C/C++ languages.
So one option here could be to develop a wrapper .NET Assembly around these interfaces using managed C++. On the one end this could make use of the C/C++ MAT-file API and on the other end it could provide a .NET interface which you could easily access from C# code.
One workaround where you do not make use of the MAT-file API is to access MAT files using the Builder NE toolbox to build a .NET assembly.
The idea is to write some simple MATLAB functions that load a given MAT file into the workspace, then return the data. Then you can deploy these functions using Builder NE into a .NET assembly.
In your C# code, you can then reference the deployed .NET assembly and call your written functions, which will return the data back as MWArray objects in your C# code. You can manipulate the MWArray objects to obtain native arrays and other data.
The MWArray class reference is included below:
An alternative workaround is writing C# code which creates and reads MAT-files on a binary level. To do this, please refer to the following MAT file format document:
The following page is an example of a C# implementation from a third party user:
Note that this library is not developed or supported by MathWorks and if you need assistance using it, please contact the author directly.
0 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Call MATLAB from .NET en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!