2009-10-16 13 views
5

Um MATLAB-Code in C oder C++ aufzurufen, wie wählen Sie zwischen der Verwendung der MATLAB-Engine und der Verwendung des MATLAB-Compilers mcc, um gemeinsam genutzte C- oder C++ - Bibliotheken aus Ihrem MATLAB-Code zu erstellen? Was sind ihre Vor- und Nachteile? Für die zweite Methode, siehe http://www.mathworks.com/access/helpdesk/help/toolbox/compiler/f2-9676.htmlMATLAB-Engine versus von MATLAB Compiler erstellte Bibliotheken?

Gibt es andere Möglichkeiten, MATLAB von C oder C++ aufzurufen?

+1

Möchte http://stackoverflow.com/questions/1071778/data-streaming-in-matlab-with-input-data-coming-in-from-ac-executable/1074038#1074038 – Jacob

+0

Danke aber das ist nicht was ich will. Ich spreche nicht über das Aufrufen von C oder C++ von Matlab nach Mex, sondern das mcc-kompilieren von Matlab-Code in eine Bibliothek, die später in C oder C++ aufgerufen werden kann. – Tim

+1

Ich kenne die vollständige Antwort nicht, aber sehen Sie sich die Installationsanforderungen für die Ausführung an. Das Aufrufen der MATLAB-Engine erfordert definitiv die Installation von MATLAB auf der Maschine. Trifft das zu, wenn Sie nur gemeinsam genutzte Bibliotheken verwenden? –

Antwort

2

Wenn die Berechnung linear und lang ist, würde ich mcc verwenden, um den Code zu kompilieren. Es ist, als wäre MATLAB einfach eine andere Bibliothek mit numerischen Routinen, die in Ihr Programm eingebunden werden.

Wenn ich in meinem Programm eine Interaktion mit MATLAB bereitstellen wollte, wo der Benutzer eine große Anzahl von Anweisungen angeben könnte, die unmöglich oder nur mühsam einzeln zu codieren wären, würde ich die MATLAB-Engine verwenden. Es ist, als ob ich MATLAB ohne die Benutzeroberfläche von Mathworks ausführen wollte.

Ich habe mich nie darum gekümmert, die MATLAB-Engine außerhalb eines Tests zu öffnen.