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

Eigenständige Anwendung mit MCR

 

Phil254
Forum-Anfänger

Forum-Anfänger


Beiträge: 35
Anmeldedatum: 31.01.13
Wohnort: München
Version: 2012b
     Beitrag Verfasst am: 28.05.2013, 02:51     Titel: Eigenständige Anwendung mit MCR
  Antworten mit Zitat      
Hallo an alle Matlab Freunde!

Ich habe eine Matlab GUI, die aus mehreren Oberflächen (also *.m und *.fig) Dateien besteht, die sich teilweise gegenseitig aufrufen. Also simpelster Fall: Ich habe insgesammt vier große Oberflächen. Um das ganze komfortabler zu machen habe ich eine kleine Oberfläche mit vier Buttons erstellt, mit denen man die jeweilige Oberfläche aufrufen kann.

Ich will das ganze jez mit dem Matlab Compiler und der MCR in eine von Matlab unabhängig Anwendung umwandeln.
Als Hauptfunktion habe ich das oben genannte Menü verwendet. Jetzt hat sich das Problem gezeigt, dass sich die Oberflächen teilweise sofort nach Aufruf wieder schließen. Ich habe die Vermutung, dass das daran liegt, dass ich teilweise direkt in der OpeningFcn Plots erstelle, mit dem Standard plot Befehl. Ich komme da drauf, weil ich eine einzige GUI habe, in der ich das nicht mache und diese schließt sich nicht sofort nach dem Öffnen.

Weiss jemand woran das liegt und wie ich das Problem umgehen kann?

Riesen Dankeschön für jede Hilfe!!
Gruß,
Phil.
Private Nachricht senden Benutzer-Profile anzeigen


Marco H.
Forum-Guru

Forum-Guru


Beiträge: 404
Anmeldedatum: 12.11.10
Wohnort: Dortmund
Version: 2010a/2012b
     Beitrag Verfasst am: 28.05.2013, 10:12     Titel:
  Antworten mit Zitat      
Hey Phil,

welche Version nutzt du denn? Das hört sich danach an, als würde dein Quellcode einen Fehler verursachen. Dies kann durchaus nur in der compilierten Version passieren obwohl es in der Matlab Version reibungslos funktioniert. Es gibt z.B. Matlab Funktionen, die nicht vom Compiler unterstützt werden. Des Weiteren musst du sicherstellen, dass wenn du Daten von der Festplatte laden möchtest diese auch in der Compilierten Version gefunden werden... Da gibt es nun einige Punkte bei denen man ansetzen kann... Ganz ohne Quellcode kann ich nur raten...

Mit dem plot Befehl an sich hat es sicherlich nichts zu tun, höchstens mit den Daten, die du plotten möchtest...

Greetings
Private Nachricht senden Benutzer-Profile anzeigen
 
Phil254
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 35
Anmeldedatum: 31.01.13
Wohnort: München
Version: 2012b
     Beitrag Verfasst am: 28.05.2013, 12:13     Titel:
  Antworten mit Zitat      
Hallo Marco,

danke für deine Antwort!

Ja, also mein Code ist ziemlich riesig und chaotisch deswegen will ich ihn nur ungerne hier posten Smile

Es ist allerdings wirklich so, dass ich Daten lade um sie anschließend zu plotten. Ich habe wie gesagt mehrere Oberflächen, in denen man einige Parameter eingeben kann um anschließend einen Plot zu erstellen. Die Plots kann man als *.mat abspeichern und laden. Und in der OpeningFcn wird ein default plot geladen. Ich habe allerdings die entsprechende *.mat datei eigentlich auch mit in den Compiler gepackt.. oder müsste die in das Verzeichnis, in dem die endgültige *.exe liegt.?

edit: achso sorry, ich habe Matlab 2012b

Danke nochmal!
Gruß,
Phil.
Private Nachricht senden Benutzer-Profile anzeigen
 
Phil254
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 35
Anmeldedatum: 31.01.13
Wohnort: München
Version: 2012b
     Beitrag Verfasst am: 28.05.2013, 15:15     Titel:
  Antworten mit Zitat      
Hallo nochmal,

also irgendwie funktioniert so gut wie garnix Sad

Lässt sich irgendwie analysieren an welcher Stelle es genau hackt in der compilierten GUI ? Fehlermeldungen oder Ähnliches ausgebenlassen?.

Danke!
Gruß,
Phil.
Private Nachricht senden Benutzer-Profile anzeigen
 
Phil254
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 35
Anmeldedatum: 31.01.13
Wohnort: München
Version: 2012b
     Beitrag Verfasst am: 28.05.2013, 15:32     Titel:
  Antworten mit Zitat      
Und wieder ich.

Also ich übergebe einmal Werte zwischen den GUIs durch setappdata(0,*) und getappdata(0,*).. Wenn ich das ganze als standalone habe und Matlab nicht läuft, dann wird das vermutlich ein Problem sein oder? Also zumindest dachte ich immer appdata 0 wäre sozusagen das Matlab Fenster an sich.. ?

Gruß,
Phil.
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 28.05.2013, 16:16     Titel:
  Antworten mit Zitat      
Hallo Phil

Zitat:
Also ich übergebe einmal Werte zwischen den GUIs durch setappdata(0,*) und getappdata(0,*).. Wenn ich das ganze als standalone habe und Matlab nicht läuft, dann wird das vermutlich ein Problem sein oder?


Das ist Richtig. Da sollst getappdata/setappdata nur mit deiner Figure-Handle verwenden.
Private Nachricht senden Benutzer-Profile anzeigen
 
Phil254
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 35
Anmeldedatum: 31.01.13
Wohnort: München
Version: 2012b
     Beitrag Verfasst am: 28.05.2013, 19:23     Titel:
  Antworten mit Zitat      
Hallo Denny,

danke für deine Antwort!
Und wie genau funktioniert das dann?
Bin noch relativ neu in Matlab, das mit setappdata und getappdata habe ich nur aus einem Video Tutorial geklaut Wink

Und eine andere Frage, kann es sein, dass die Verwendung der Symbolic Math Toolbox zu Problemen in der compilierten GUI führt?
Die einzige meiner GUIs die in compilierter Form funktioniert ist die, in der ich keine symbolischen Variablen habe. Eigenartiger Weise kann ich in den anderen GUIs auch Daten laden und anschließend plotten, aber keine neuen Plots berechnen. Deswegen dachte ich das liegt evtl an der Toolbox..


Danke für jede Hilfe!
Gruß,
Phil.
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 28.05.2013, 20:29     Titel:
  Antworten mit Zitat      
Hallo
Zitat:
Und wie genau funktioniert das dann?
Bin noch relativ neu in Matlab, das mit setappdata und getappdata habe ich nur aus einem Video Tutorial geklaut

Genau so, du muss nur Null, durch handles deines Fensters ersetzen

z.B.

Code:

handles.MeinFenster = figure()
handles.mydata = 1:100;
setappdata(handles.MeinFenster,'handles', handles)
handles = rmfield(handles,'mydata')
handles = getappdata(handles.MeinFenster,'mydata')
 



Zitat:
Und eine andere Frage, kann es sein, dass die Verwendung der Symbolic Math Toolbox zu Problemen in der compilierten GUI führt?
Die einzige meiner GUIs die in compilierter Form funktioniert ist die, in der ich keine symbolischen Variablen habe. Eigenartiger Weise kann ich in den anderen GUIs auch Daten laden und anschließend plotten, aber keine neuen Plots berechnen. Deswegen dachte ich das liegt evtl an der Toolbox..

ich finde diese Toolbox nicht in der Liste von unterstützten Toolboxen
siehe hier:
http://www.mathworks.de/products/co.....ted/compiler_support.html

Du kannst aber das auch überprüfen laut blog, die Log-Datei mccExcludedFiles.log durchschauen :
Zitat:
The Compiler creates a list of excluded functions in the output directory. This list, mccExcludedFiles.log, which is often quite long, contains the full paths to the M-files that the Compiler removed from the list produced by depfun and a short explanation for why each function cannot be deployed.


Zuletzt bearbeitet von denny am 29.05.2013, 11:46, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
Phil254
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 35
Anmeldedatum: 31.01.13
Wohnort: München
Version: 2012b
     Beitrag Verfasst am: 29.05.2013, 10:33     Titel:
  Antworten mit Zitat      
Hallo Denny!

Hmja, hast recht mit der Toolbox und dem Compiler

http://www.mathworks.de/support/sol.....LLS/index.html?product=SM

Ok, das ist nun echt ein Problem.. Äääh, irgendeine Idee für eine Workaround? ^^

Der Grund für das alles ist, dass ich Kompatibilitätsprobleme meiner GUI mit anderen Matlab Versionen hatte. Und das ganze umgehen wollte, indem ich eine Standalone Anwendung erzeuge.. aber das wird wohl nichts...

Dann muss ich wohl doch mal das eigentliche Problem angehen.. Gibt es irgendeine Möglichkeit die Kompatibilität zu Überprüfen, ohne 20 Matlab Versionen installieren zu müssen?

Dankeschöne malwieder!
Gruß,
Phil.
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 29.05.2013, 15:09     Titel:
  Antworten mit Zitat      
Hallo
Welche Versionen musst du denn unterstützen?
Private Nachricht senden Benutzer-Profile anzeigen
 
Phil254
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 35
Anmeldedatum: 31.01.13
Wohnort: München
Version: 2012b
     Beitrag Verfasst am: 29.05.2013, 23:49     Titel:
  Antworten mit Zitat      
Naja, 'müssen' tu ich garnix Smile

Es ist allerdings so, dass ich die GUI für meine Semesterarbeit schreibe. Und ich musste leider feststellen, dass ich schon mit Matlab 2013a Fehlermeldungen bekomme, deren Ursache ich nicht auf Anhieb feststellen konnte. Teilweise scheint sich die Symbolic Math Toolbox anders zu verhalten als in Matlab 2012b..

Das Problem bei der Sache ist halt, dass die GUI dann mindestens mein Betreuer in den Händen hat, evtl. halt noch mehr leute am Lehrstuhl. Und es wäre sehr doof, wenn jemand mal einen Matlab Upgrade durchführt und dann plötzlich nix mehr geht...
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 30.05.2013, 00:05     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
Und ich musste leider feststellen, dass ich schon mit Matlab 2013a Fehlermeldungen bekomme, deren Ursache ich nicht auf Anhieb feststellen konnte.

Wenn du diese Fehlermeldungen postest, kann man dir vielleicht dabei helfen - ansonsten wohl nicht.

Zitat:

Und es wäre sehr doof, wenn jemand mal einen Matlab Upgrade durchführt und dann plötzlich nix mehr geht...

Ich würde in die Dokumentation meines Codes schreiben, unter welchem Release das ganze getestet ist. Wenn der Code dann unter einer neueren Version nicht mehr funktionieren sollte, kann man sicher versuchen, dem nachzugehen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Phil254
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 35
Anmeldedatum: 31.01.13
Wohnort: München
Version: 2012b
     Beitrag Verfasst am: 30.05.2013, 10:28     Titel:
  Antworten mit Zitat      
Hallo Harald,

danke für deine Antwort!

Also vorerst muss ich meine Arbeit fertig schreiben (bis morgen Wink ). Da ich für die Überprüfung der Kompatibilität mit Matlab 2013a dieses erst erneut installieren müsste und das über eine Stunde dauert, werde ich wohl vorerst darauf verzichten müssen.
Ich komme eventuell später mal auf dein Angebot zurück und poste dann mal die genaue Fehlermeldung. Aber vorerst sind dann denke ich alle meine Fragen beantwortet.

Riesen dankeschön an alle!
Ich möchte hier nochmal anmerken, dass die Community in diesem Forum absolut top ist, hab noch nie so viele hilfsbereite Leute auf einen Haufen gehabt. Es hagelt ja doch sehr oft dumme Kommentare wenn man Fragen in Foren stellt Wink

Gruß,
Phil.
Private Nachricht senden Benutzer-Profile anzeigen
 
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.