WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

starten einer M-file aus Visual Basic 6.0

 

Minus

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.02.2009, 14:38     Titel: starten einer M-file aus Visual Basic 6.0
  Antworten mit Zitat      
Hi!
Ich möchte eine m-file aus VB 6.0 aus starten. Auf der Matlabhilfe hab ich folgendes gefunden. Ich habe dann es so programmiert.
Nur will es nicht so richtig.
Muss Matlab geöffnet sein?
Eigentlich müssen wenn es geöffnet ist, die Variablen der m-file im Workspace erscheinen oder?
Das m-File ist im selben ordner wie mein VB-Projekt. Stimmt das.
Muss ich noch irgendetwas mit der m-File machen???
Vielen Dank!!!

Zum Ausprobieren ist der Code von VB so....
Code:

Dim MatLab As Object

Sub Main()

Dim Result As String
Dim MReal(1, 3) As Double
Dim MImag() As Double

Set MatLab = CreateObject("Matlab.Application")

'CALLING M-FILE FROM VB
'Result = MatLab.Execute("cd D:\MATLABR12\work\alltest")
Result = MatLab.Execute("vb6")

'OTHER THINGS THAT CAN BE DONE
'Result = MatLab.Execute("surf(peaks)")
Result = MatLab.Execute("a = [1 2 3 4; 5 6 7 8;]")
Result = MatLab.Execute("b = a + a ")
'Call MatLab.GetFullMatrix("b", "base", MReal, MImag)

End Sub
 


und die m-file sieht so aus

a=[5 5 5 5];
b=2*a;
save b bbbb


Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.02.2009, 16:28     Titel:
  Antworten mit Zitat      
Es sollte ein Matlab Command Window als neue Instanz gestartet werden, egal wie viele Matlabs gerade laufen. Daher werden die Variablen in keinem der vorhandenen Workspaces angezeigt. Mit
Code:
im neu gestarteten Command Window kannst du dir die Variablen aber anzeigen lassen.
 
Minus

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.02.2009, 17:11     Titel:
  Antworten mit Zitat      
Vielen Dank!
Das hat schon für das erste geholfen.
Aber muss ich im neuen Command Window Manuell die m-File aufrufen!
Ich habe in VB 6 einen Haltepunkt gesetzt, weil das Matlab Fenster immer verschwindet. Wenn ich dort nun who eingebe, wird mir gar nichts angezeigt.
Nur nachdem ich manuell den path geändert habe (dort wo meine m-file liegt) und dann die m-file ausführe.
Das muss doch automatisch gehen?!
Und selbst dann kann ich nicht einfach eine Variable in dem Pfad speichern.

Wie funktioniert es auch mit der Datenrückgabe. In meinem Beispiel habe ich ja einen Vektor. Muss ich das einlesen in Matlab und dann wieder auslesen aus dem Matlabworkspace immer über eine Schleife machen, oder?

Danke
 
Heisenberg

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.02.2012, 00:16     Titel:
  Antworten mit Zitat      
ich würde gerne sooetwas ähnliches machen undzwar ein m-file aufrufen und dann ausführen (run). wie ist das möglich?

grüße
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.