2010-11-25 11 views
8

Je cherchais depuis un moment à voir si quelqu'un avait déjà travaillé sur la lecture de fichiers Matlab dans CSharp, et il semble qu'il n'y ait rien là-bas.Importer/lire/charger des variables depuis matlab matfile en C#

Est-ce que quelqu'un a vu des solutions?

Je ne peux pas simplement exporter mes fichiers mat en texte, puis les lire dans mon code C#, car il existe des structures assez complexes. Je n'aime pas interagir avec Matlab et je ne veux pas non plus utiliser Python (SciPy with loadmat).

Répondre

6

Une option à essayer est la soumission CSMatIO par David Zier sur le MathWorks File Exchange. C'est une API pour .NET 2.0 qui vous permettra de lire les fichiers .mat de niveau 5.

Si vous devez lire les nouveaux formats de fichiers .mat, vous pouvez d'abord charger votre fichier .mat dans Matlab et resave comme un format plus ancien à l'aide de la fonction SAVE la version option de.

+1

Vous pouvez également utiliser un lecteur HD5 pour extraire les données des nouveaux fichiers .mat, mais vous devrez peut-être ajouter – Jonas

+0

Je viens d'essayer les librairies de David Zier, elles fonctionnent pour moi, même si elles ne sont pas faciles à manipuler et ont besoin de beaucoup de torsion pour que mes structures complexes puissent sortir, mais elles sont pour le moment les meilleures disponibles. – Ali

1

voulait ajouter une autre alternative. La bibliothèque Accord.Math (disponible via Nuget, ou ici: http://accord-framework.net/ fournit un lecteur de fichier .mat.)