Entwickler-Ecke

Sonstiges (.NET) - Matlab-Code einbinden oder konvertieren


Coja - Mo 23.08.10 13:56
Titel: Matlab-Code einbinden oder konvertieren
Hallo,
ich würde gerne eine Berechnung in C# durchführen lassen. Den Code habe ich aber in Matlab geschrieben. Ist es möglich diesen Code in C# zu verwenden?
vg
Coja


Christian S. - Mo 23.08.10 14:26

Ich fürchte, wenn man sich die Feature-Matrix [http://www.mathworks.de/support/compilers/R2010a/index.html] anguckt, brauchst Du für das Einbinden in .NET den Matlab Builder NE.

Eventuell wäre es möglich, ein DLL in C zu erstellen, welche den Matlab-Code ansteuert und diese C-DLL dann per PInvoke in C# zu benutzen. Toll klingt das aber nicht ;-)


gfoidl - Mo 23.08.10 15:24

Hallo,

möglich wäre auch den Matlab-Code als COM zu veröffentlichen und diesen in C# zu verwenden.


mfG Gü


Coja - Mo 23.08.10 22:32

Danke für die Tipps. Ich nutze im Matlab-Code auch Vektor- und CAT-Befehle (damit die Berechnung schneller ist). Durch diesen Code möchte ich dann mit Eingabedaten aus C# eine Berechnung starten. Das ganze soll als eigenständige *.exe-Datei laufen. Welche Variante wäre hierbei die beste? Ohne den Builder NE wird es wohl nicht gehen...


Coja - Mi 08.09.10 15:36

Hallo,
gibt es ein Beispiel oder eine Anleitung dafür?
Ein kleines Testprogramm würde mir für den Anfang schon reichen.
Zum Beispiel würde ich gerne in C# zwei Werte vorgeben/eingeben (Integer). Nun sollen diese Werte mit Matlab "interpoliert" werden.
Also:

C#-Quelltext
1:
2:
b1=2 
b2=5 // in C# eingeben

Nun soll durch klicken eines Buttons eine Matlab Berechnung erfolgen:

function y=MatlabFunktion(x1,x2)
y=b1:1:b2; % also es wird ein Vektor zurückgegeben y=[2,3,4,5]
end

Dieser Vektor soll nun in C# angezeigt werden, zum Beispiel in einer Liste,Array,..
Für den Builder NE hab ich schon folgende Seite gefunden:
http://www.mathworks.de/products/netbuilder/description3.html
vg
Coja