Frage

Nach dem um das Internet spähen sieht es aus wie es möglich ist, zwischen C # und Matlab Interop. Ich frage mich, wenn jemand Erfolg damit gehabt hat und was sie taten dies zu tun. Wenn möglich, zieht es irgendwie ohne die Verwendung von COM aus. Vielen Dank für Ihre Zeit.

War es hilfreich?

Lösung

Ja, durchaus möglich. Obwohl ich beenden die C-Schnittstelle nach oben mit und in das Aufrufen eines Mixed-Mode-DLL (und immer C # in dem nennen ... aber das war, weil ich auch mit einem anderen C-Code wurde eine Schnittstelle). Es ist ganz einfach. Auf Computern, auf denen Sie Ihr Programm ausführen möchten, müssen Sie Matlab Runtime MCRInstaller.exe.

installieren

edit: entfernt Defekten Link

Andere Tipps

Beginnend mit der R2009a Veröffentlichung von MATLAB können .NET-Objekte aus MATLAB aufgerufen werden:

http://www.mathworks.com/help/techdoc/matlab_external/ brpb5k6.html

In älteren Versionen von MATLAB ist es möglich, .NET-Objekte von MATLAB für den Zugriff auf CCW mit:

http: //www.mathworks. com / support / Lösungen / data / 1-5U8HND.html? Lösung = 1-5U8HND

und die MATLAB-Engine von .NET:

http://www.mathworks.com/access/helpdesk/help/techdoc/index.html?/access/helpdesk/help/techdoc/matlab_external/f135590.html#f135616

Sie können auch die MATLAB Builder NE verwenden m-Code in .NET-Assemblies zu wickeln.

http://www.mathworks.com/products/netbuilder/

Ja, habe ich es geschafft, das zu tun, und es war meist schmerzlos.

Sie müssten Ihre MATLAB-Code für .NET kompilieren, führen MCR-Installer, Referenz MWArray.dll und die Einhaltung Code DLL in Ihrem .NET-Projekt (wie in pervious Antworten erklärt) und los geht.

Das einzige Ärgernis war die Gießen (und manchmal mehrere Gussteile!), Dass die Schnittstelle Kräfte, die auf Sie (in den Cast-Operatoren explizit verwenden)

Es ist ein freier und Open-Source-.NET-Wrapper für Matlab, und es ist sehr einfach: http://www.codeproject.com/KB/dotnet/matlabeng.aspx

Ich benutze dies.

In der R2009a Pre-Release Sie .NET-Assemblies aus MATLAB aufrufen können.

Ich bin mir nicht sicher, wie viel dies auf Sie zutrifft, sondern versuche, einen Blick in Matlab Executables oder MEX im Grunde ist es wirklich einfach, ein Programm in C oder Fortran zu schreiben, ist ein paar Bibliotheken und Funktionen, und dann können Sie verwenden Sie C oder Fortran-Funktion in Matlab

Wenn Sie bereit sind, Geld ausgeben, dies auch sein mag, was Sie brauchen:

http://www.mathworks.com/products/netbuilder/

Es kann Wrapper für Matlab-Code generieren, die es erlauben, sowohl von .NET und COM aufgerufen werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top