Laden...

Aufrufen von Matlab Funktionen

Erstellt von regger vor 9 Jahren Letzter Beitrag vor 9 Jahren 2.198 Views
R
regger Themenstarter:in
3 Beiträge seit 2015
vor 9 Jahren
Aufrufen von Matlab Funktionen

Ich kann mit der matlab.Feval() Funktion durch Angabe des Namens meiner .m Datei eine Funktion im C# problemlos aufrufen.
Mein Problem: Wie kann ich die entsprechende Funktion aufrufen wenn mehrere Funktionen in einer Datei definiert sind? Es wird immer die erste Funktion aufgerufen.

16.835 Beiträge seit 2008
vor 9 Jahren

Versetz Dich mal in die Lage, dass das jemand liest, der Deinen Code und Deine Gedanken nicht kennt.
Denke dann wird Dir selbst klar, dass Dir kaum einer folgen kann 😉

R
regger Themenstarter:in
3 Beiträge seit 2015
vor 9 Jahren

Ok.

matlab.Feval("MatlabTest", 1, out result2, Convert.ToInt16(textVarA.Text), Convert.ToInt16(textVarB.Text), Convert.ToInt16(textVarC.Text));

Dies ist mein Funktionsaufruf, wobei "MatlabTest" der Name meiner .m-Matlab-Datei ist. In dieser Datei sind mehere Funktionen enthalten. Nun will ich irgendeine dieser Funktionen aufrufen, ohne dass ich jede einzelne Funktion in eine eigene Datei packen muss.

189 Beiträge seit 2014
vor 9 Jahren

Es ist schon ne Weile her, dass ich mit Matlab gearbeitet habe. Aber ich meine, du kannst nicht eine spezielle Funktion in einem Skript aufrufen.
Das Skript (also .m-file) ist ja deine "Funktion".

R
regger Themenstarter:in
3 Beiträge seit 2015
vor 9 Jahren

Gibt also keine Möglichkeit in eine Subfunktion zu springen? Wie in dem Fall z.B. zu AddMatlabTest() ?

function [ result] = SubMatlabTest( a, b, c)
result = (a - b) * c;
end

function [ result] = AddMatlabTest( a, b, c)
result = (a + b) * c;
end
W
872 Beiträge seit 2005
vor 9 Jahren

Schau Dir mal diesen Artikel an.

K
8 Beiträge seit 2014
vor 9 Jahren

Hallo,

schon mal drüber nachgedacht aus dem m-file ne .dll zu bilden?


http://www.codeproject.com/Articles/5468/ways-of-integrating-MATLAB-with-the-NET

Gruß

Kai

.Net 😁