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

Frage zu Matlab compiler

 

Gast07_03_2012

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.03.2012, 09:08     Titel: Frage zu Matlab compiler
  Antworten mit Zitat      
Hi,

bin gerade von WinXp auf Win7 umgestiegen und habe nun statt Matlab 2008b auch die Matlab 2011b Version erhalten. Wenn ich etwas mit der 2008 Version kompiliert hatte und es ausführte, gab es immer ein Art Statusfenster. Dort wurde der aktuelle Status sowie die Codezeile bzw. die Fehlermeldung angezeigt. Jetzt habe ich unter Matlab 2011b das Programm kompiliert. Jedoch gibt es dieses Statusfenster nicht mehr. Dieses möchte ich aber gerne weiter nutzen. Gibt es eine Einstellmöglichkeit dieses Fenster wieder zu bekommen.

MfG Gast


Gast07_03_2012

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.03.2012, 15:58     Titel:
  Antworten mit Zitat      
Keiner eine Idee?
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 08.03.2012, 16:01     Titel:
  Antworten mit Zitat      
Na wenn es so dringend ist - MathWorks Support kontaktieren?

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 08.03.2012, 17:38     Titel:
  Antworten mit Zitat      
Hallo Gast07_03_2012,

Was genbau bedeutet "kompiliert" hier? Ein C-Mex-file? Coder oder Simulink?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast07_03_2012

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.03.2012, 18:35     Titel:
  Antworten mit Zitat      
Hi,

bisher compiliere ich nur Windows Standalone Application. Wenn ich bis nächste Woche keine Lösung finde, wird wohl wieder Systemtechnisch zurück gegangen. Als zweite Möglichkeit bleibt mir wohl nur ein zusaetzliches Statusfenster zubauen und vor bzw. nach jeder ausgeführten Codezeile mit disp etc. mir selbst eine Zeilenummer in diesem Fenster auszugeben. Dort würde ich immerhin die Zeile herausbekommen wo es abstürzt. Aber der sehr gute Hinweistext von Matlab (um welches Problem es sich handelt) würde halt fehlen. Wäre echt ärgerlich wenn ich dies tun wüsste. Für die Zukunft ist geplant, den Code von Matlab als dll zu compilieren und ein Exe mit C-Code zuschreiben. Damit nicht immer die Runtime Application von Matlab nstalliert werden muss. Habe dazu schon Studio 2010 bekommen. Da lese ich mich aber immer erst abends oder am Wochenende ein. Hab ihr dazu vielleicht empfehlenswerte Lektüre.

MfG
 
Harald
Forum-Meister

Forum-Meister


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

zum einen: dir wurde empfohlen, den technischen Support von MathWorks zu kontaktieren. Was hält dich davon ab?

zum anderen: verstehe ich es richtig, dass du unter dem "Statusfenster" eine schwarze Betriebssystem-Konsole verstehst? Dann starte die Anwendung doch aus einer Konsole (unter Windows Start --> cmd) heraus; dann solltest du die Fehlermeldung sehen.
Falls nicht, versuch statt "Windows Standalone Application" mal "Standalone Application".

Und schließlich: warum nutzt du nicht die MATLAB-Anwendung zur Fehleranalyse, sondern das Executable?

Zitat:
Für die Zukunft ist geplant, den Code von Matlab als dll zu compilieren und ein Exe mit C-Code zuschreiben. Damit nicht immer die Runtime Application von Matlab nstalliert werden muss.

Für die DLL wirst du meines Wissens trotzdem noch die Runtime brauchen. Die einzige mir bekannte Möglichkeit, die Runtime zu umgehen, ist, mit MATLAB Coder C-Code zu erzeugen.
Und: immer? Selbst wenn du jeden Release-Wechsel mitmachst, was ja anscheinend nicht der Fall ist, müsste die Runtime 2 Mal im Jahr installiert werden.

Grüße,
Harald
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: 08.03.2012, 22:43     Titel:
  Antworten mit Zitat      
Hey,
Zitat:

Und schließlich: warum nutzt du nicht die MATLAB-Anwendung zur Fehleranalyse, sondern das Executable?

Hierzu kann ich etwas sagen. Man programmiert, testet und denkt, dass man jegliche Art von Fehlern abgefangen hat. Dann gibt es ein Update für die in meinem Fall ca. 15 User, welche das Programm ausgiebig nutzen. Da kann es schonmal vorkommen, dass irgendetwas nicht bedacht wurde (lass es etwas Betriebssystem bedingtes sein XP, Vista, Win7 was ich vorher nicht testen konnte). Dies wird dann glücklicherweise dort angezeigt und man hat einen Anhaltspunkt. Das war besonders Anfangs als ich noch nicht so tief in der Matlab Programmierung steckte recht hilfreich.

Greetings
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast07_03_2012

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.03.2012, 08:24     Titel:
  Antworten mit Zitat      
Hi,

hab mich vielleicht etwas ünglücklich ausgedrückt. Das Fenster, welches sich unter mit der 2008b Version öffnet, sieht ähnlich dem Command Window in Matlab aus. Der einzige Unterschied besteht darin, dass man dort nichts eingegeben kann. Es wurde halt nur der Status des ablaufenden Programm wieder gegeben.

Marco H. trifft es genau auf dem Kopf. Ich teste es auf meinen Rechner hier und habe nur eine Betriebssystemkonfiguration. Wenn es läuft kompiliere es ich und teste es noch mal. Unsere IT hat etwas gegen Multibootsysteme. Anschließend bekommen es andere (das Programm ist nur für die eigene Messdatenanalyse gedacht und nicht kommerziell). Nur die anderen sind weltweit unterwegs (Erprobung und andere Niederlassungen mit eigener IT). Es gibt ziemlich viele Fehlerkonstellationen, die ich alleine nicht untersuchen bzw. ausschließen kann. Bisher habe ich halt die Datei, mit der es Probleme gab, zusammen mit einem Schnappschuß der Fehlemeldung dieses Statusfensters bekommen und habe den Fehler probiert nachzustellen und abzustellen. Da ist dieses Fenster extrem hilfreich. Selbst alles was unter Matlab selbst läuft, läuft noch lange nicht als komplilierte exe. Dann prüft die IT z.B. erst die Updates von Microsoft und installiert sie anschließend. Also es gibt viele Quellen (ähnlich wird bei anderen Programmen vorgegangen) die ich einfach vorher nicht testen kann. Jetzt ist es aber zuweit das Konzernweit auf Win7 umgestiegen wird.

Ich bin halt kein Informatiker sondern ein Maschinenbauer (Fahrzeugtechnik) der sich die Programmierung nebenbei beibringt und halt in der Abteilung gefragt wurde, ob ich die Analysen automatisieren könnte. Und die Programmierung macht mir halt spaß und ich bin lernwillig.

Systemtechnisch könnte ich jede Matlab Version bekommen, wäre alles vorhanden, nur ich programmiere nebenbei.

MfG
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 09.03.2012, 08:36     Titel:
  Antworten mit Zitat      
Ich möchte nicht suggerieren, dass Anwender immer den Support kontaktieren sollen. Das Forum ist prima. Nur wenn es scheinbar dringen ist ud die Community nix weiss...

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.502
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 09.03.2012, 10:07     Titel:
  Antworten mit Zitat      
Hallo,

hast du das denn versucht?

Zitat:
Dann starte die Anwendung doch aus einer Konsole (unter Windows Start --> cmd) heraus; dann solltest du die Fehlermeldung sehen.
Falls nicht, versuch statt "Windows Standalone Application" mal "Standalone Application".


Falls das nicht geholfen hat: ich bin mir immer noch nicht sicher, was du mit dem Statusfenster meinst. Kannst du davon mal einen Screenshot anhängen?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 09.03.2012, 10:20     Titel:
  Antworten mit Zitat      
Hallo Gast07_03_2012,

Eine Konsole zur Fehler-Analyse ist ohne jeden Zweifel hilfreich. Gut programmierte professionelle Anwendungen haben etwa einen Bug pro 1000 Zeilen. Dabei gibt es mehrere Klassen von Bugs:
1. Ein System-Crash ohne jede Mitteilung (dazu zählt natürlich auch "genereller Anwengungsfehler" - da es keine Information enthält, ist es auch keine Mitteilung...)
2. Ein Crash mit einem Hinweis über Ort und eventuelle Ursache
3. Eine Fehler, der eine Meldung erzeugt, aber abgefangen wird. Dann hat man zwar auch kein Ergebnis, kann dem Programmierer aber wertvolle Tips geben.
4. Ein unerkannter Bug - dann ist einfach das Ergebnis falsch (sehr übel!)
5. Ein Bug, bei dem man darüber diskutieren kann, ob es nicht vielleicht doch korrekt ist. Z.B. eine Integration, bei der eine Zahl als endergebnis ausgegeben wird, aber gar nicht getestet wird, wie das Ergebnis von der Genauigkeit der Anfangswerte abhängt. Wenn eine Simulation z.B. vorgibt ausgerechnet zu haben, dass ein Bleistift exakt senkrecht stehen bleibt, wenn man ihn "genau" gerade hinstellt.

Alle diese Fehler können während des Programmierens oder erst während der Benutzung des Programms auftreten. Eine Text-Konsole erlaubt dann z.B. auch Informationen über korrekt verlaufende Berechnungen auszugeben, wenn eine Berechnung lange dauert. Wenn ich größere Programme schreibe, bau ich eine Möglichkeit ein verschiedene Level von Debug-Informationen ins Command-Window (oder eine andere Konsole) zu schreiben. Einfache Probleme können vielleicht schon erkannt werden, wenn jede Unterfunktion nur ihren Namen in die Liste schreibt, während komplizierte Probleme auch die Inputs, die Berechnungen und die Outputs benötigen - und damit das Logfile so stark aufblähen, dass das Lesen Stunden benötigt.

Wenn Du nach einer Konsole suchst, ist Dir das alles bereits bekannt. Haben die Ratschläge von Marco, Haralb und Andreas bereits geholfen?

Ich frage eher zunächt im Forum nach, da man oft "Tomaten auf den Augen hat". Ich belästige ungern den Support mit Tippfehlern oder meiner Unfähigkeit den ACCUMARRAY Befehl zielsicher einsetzen zu können. Wenn ich dabei herausfinde, dass mein Problem wirklich schwierig ist, kontaktiere ich den Support. Ich finde die beindruckend schnelle und kompetente Hilfe des TMW Support Teams zu wertvoll, um unbedacht deren Zeit zu verplempern. Ich kann mir einfach nicht vorstellen, dass die TMWler herum sitzen und sich langweilen und nur auf die nächste Frage warten :-)

Ich kenne kein anderes Programmpaket, dessen Support eine ähnliche Qualität anbieten kann.

Gruß, Jan

PS. Ich kann den Support so frei heraus loben, weil ich nicht von TMW bezahlt werde. Im Gegenteil: Ich bezahle für Matlab und bin zufrieden mit dem Produkt und dem Service.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.502
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 09.03.2012, 10:31     Titel:
  Antworten mit Zitat      
Hallo,

weitere Möglichkeiten, die mir eingefallen sind, falls das zuvor vorgeschlagene nicht funktioniert:

Mit try-catch die Fehlermeldung abfangen und in eine Textdatei schreiben, die dir dein Kollege dann schicken kann. Oder die Fehlermeldung mit msgbox oder errordlg anzeigen.

Damit die Anwendung nicht vorzeitig geschlossen wird, hilft vielleicht auch noch pause.

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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.03.2012, 20:31     Titel:
  Antworten mit Zitat      
Hallo,

danke für die Hinweise. Kann Sie aber erst am Mitwoch ausprobieren, da ich unerhofft mal auf "Außendienst" musste. Ich habe deshalb noch nicht den Support von Mathworks kontaktiert, da ich dachte die Frage wäre zu leicht für den Soppurt und wollte Sie damit nicht behelligen. War mir sicher das ich den Wald vor Bäumen nicht sehe.
Hoffe das ich im Outlook noch ein Schnappschuss finde, da ich der letzte mit WinXp war. Was sich noch geändert hatte (fällt mir grade ein), ist die Tatsache, dass die 2008b bei mir nur als Netzwerklizenz installiert war. Die ersten Zeilen im "Statusfenster" waren halt mit dem beziehen der Lizenz beschrieben. Jetzt habe ich eine "Rechnergebundene" Standalone Installation erhalten und muss nicht erst auf das Antworten des Servers warten.
@JanS. Deine Erklärung mit den verschiedenen Debuglevels hat mich neugierig gemacht. Kannst du dazu eventuell Lektüre empfehlen wie man da die ersten Schritte erlernt.
@Harald. Da habe ich wieder etwas gelernt. Aber den mit Matlab erzeugten C-Code könnte dann ein dort geschriebene Exe ausführen. Mir geht es darum, dass um die Runtime installieren zu können, muss man Adminrechte besitzen. Dazu muss das Notebook immer zum Admin gebracht werden. Wenn man aber mal z.b: im Death Valley ist, ist dies schlecht möglich. Dachte ein Exe aus C-Code lässt sich ohne Installation von speziellen Programmen ausführen.

MfG
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.502
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 10.03.2012, 10:58     Titel:
  Antworten mit Zitat      
Hallo,

ich denke nicht, dass der Support etwas gegen einfache Fragen hat. Die Leute im Support wollen (ebenso wie die Leute hier) den Usern ja weiterhelfen, und wenn ihnen durch die Beantwortung einfacher Fragen geholfen wird, umso besser.
Meine Vermutung ist, dass es nichts mit der Art der Lizenz zu tun hat, sondern etwas anderem. Empfehlung wäre, die zuvor genannten Vorschläge zu testen.
Bei der Verwendung des Compilers wirst du um die Installation der Runtime wohl nicht umhin kommen. Vielleicht lässt sich das ja mit der generellen Wartung von Rechnern verbinden.
Wenn du C-Code generieren möchtest, der unabhängig von einer Runtime ist, müsstest du wie gesagt MATLAB Coder verwenden. Allerdings unterstützt MATLAB Coder nicht die komplette MATLAB-Sprache; Details siehe hier:
http://www.mathworks.de/products/matlab-coder/

Grüße,
Harald
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.