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

Matlab-Bug in uitools? Benutzerfehler?

 

Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.03.2008, 13:45     Titel: Matlab-Bug in uitools? Benutzerfehler?
  Antworten mit Zitat      
Hallo Matlab-Experten,

ich hab ein kleines Problem mit meiner Matlab-Version (7.5.0.342). Sobald ich etwas plotte und anschließend die Plot-Tools aufrufe, bekomme ich folgende Fehlermeldung:

Code:

>> a=[1:10]

a =

     1     2     3     4     5     6     7     8     9    10

>> plot(a, 'DisplayName', 'a', 'YDataSource', 'a'); figure(gcf)
??? Input argument "hFig" is undefined.

Error in ==> uimode at 97
    hMode = uitools.uimode;

Error in ==> plotedit>localGetMode at 256
    hMode = uimode(hFig,'Standard.EditPlot');

Error in ==> plotedit at 143
hMode = localGetMode(fig);

Error in ==> plottools>localEnablePlotEdit at 243
    plotedit(hFig,'on');

Error in ==> plottools at 173
    localEnablePlotEdit(fig);

??? Error while evaluating uipushtool ClickedCallback


Der Matlab-Support hatte am Telefon leider keine Lösung für das Problem. Ich habe als Notlösung daraufhin das Programm komplett deinstalliert und auch alle Dateien mit *matlab* im Namen von der Platte entfernt.

Ergebnis: Matlab funktioniert wieder. Dann habe ich 4 Tage damit gearbeitet, wollte heute mal wieder die Tools aufrufen -> derselbe Fehler.

Ich könnte jetzt zwar wieder das Matlab von der Platte putzen, aber das ist ja keine Dauerlösung.

FRAGE: Kennt jemand dieses Problem?

Grüße
Jörg[/code]


tompie
Forum-Guru

Forum-Guru


Beiträge: 260
Anmeldedatum: 19.09.07
Wohnort: München
Version: immer alles
     Beitrag Verfasst am: 13.03.2008, 14:03     Titel:
  Antworten mit Zitat      
Hallo,

da ich Version 7.5 (noch) nicht habe, kann ich nur Vermutungen anstellen.

Meine erste Frage: Wenn Du den plot-Befehl ohne das Eigenschaftspaar
Code:
'DisplayName','a'
schreibst, kommt dann immer noch dieselbe Fehlermeldung?
Private Nachricht senden Benutzer-Profile anzeigen
 
tompie
Forum-Guru

Forum-Guru


Beiträge: 260
Anmeldedatum: 19.09.07
Wohnort: München
Version: immer alles
     Beitrag Verfasst am: 13.03.2008, 14:05     Titel:
  Antworten mit Zitat      
Hallo,

da ich Version 7.5 (noch) nicht habe, kann ich nur Vermutungen anstellen.

Meine erste Frage: Wenn Du den plot-Befehl ohne das Eigenschaftspaar
Code:
'DisplayName','a'
schreibst, kommt dann immer noch dieselbe Fehlermeldung?
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 13.03.2008, 14:14     Titel:
  Antworten mit Zitat      
Habe zwar genau die gleiche Version, kann aber dein Fehler nicht reproduzieren.

versuch erstmal nur plot einzugeben, auch ohne figure:
Code:

a=[1:10]
plot(a)
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.03.2008, 14:46     Titel:
  Antworten mit Zitat      
tompie hat Folgendes geschrieben:
Hallo,

da ich Version 7.5 (noch) nicht habe, kann ich nur Vermutungen anstellen.

Meine erste Frage: Wenn Du den plot-Befehl ohne das Eigenschaftspaar
Code:
'DisplayName','a'
schreibst, kommt dann immer noch dieselbe Fehlermeldung?


Hallo nochmal,

ich hab mich vielleicht etwas unglücklich ausgedrückt. Der Plot poppt schon auf und ist in Ordnung.

Wenn ich danach allerding auf "Show Plot Tools and Dock Figure" klicke, erscheint die waitbar(Opening Plot Tools...), er versucht die Plottools zu öffnen, gelangt aber nicht zum Ende und die Fehlermeldung erscheint.

Hm, vielleicht kann ich von zu Hause einen Screenshot mit reinstellen, hier aus dem Büro hab ich keinen webspace-Zugang.

Danke schonmal für die Hilfe!

Gruß, Jörg[/url]
 
outsider
Forum-Meister

Forum-Meister


Beiträge: 806
Anmeldedatum: 03.09.07
Wohnort: München
Version: R2012b
     Beitrag Verfasst am: 13.03.2008, 15:33     Titel:
  Antworten mit Zitat      
Funktioniert unter 7.5 fehlerfrei bei mir.


MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.03.2008, 15:49     Titel:
  Antworten mit Zitat      
outsider hat Folgendes geschrieben:
Funktioniert unter 7.5 fehlerfrei bei mir.


MfG


Das ist ja schön für Dich, wir haben hier auch 4 andere Matlab-Rechner bei denen es ohne Probleme funktioniert Very Happy

Die Frage ist ja, warum es bei diesem einen nicht funktioniert ... Wink
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 13.03.2008, 15:58     Titel:
  Antworten mit Zitat      
Dann solltest du vielleicht ausführlicher alles beschreiben.
Java- Version?
Matlab-Version?
(Ob mehrere Matlabs an diesem Rechner bereits installiert waren)


Einfach alles was dir einfällt, was ist gerade an diesem einem ist anders als bei anderen vier?
Private Nachricht senden Benutzer-Profile anzeigen
 
outsider
Forum-Meister

Forum-Meister


Beiträge: 806
Anmeldedatum: 03.09.07
Wohnort: München
Version: R2012b
     Beitrag Verfasst am: 13.03.2008, 16:53     Titel:
  Antworten mit Zitat      
Zitat:
Das ist ja schön für Dich,

eigentlich ist es schön für alle ausser Dir... Smile
Denn offensichtlich ist es nur ein Problem mit Deinem Rechner und kein allgemeines! Wink

Probier mal die PLOTTOOLS manuel aufzurufen und zwar wie folgt:
>> h = figure
>> plot(rand(5))
>> drawnow
>> plottools(h,'show')

Kommt die gleiche Fehlermeldung oder nicht?


MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.03.2008, 10:05     Titel:
  Antworten mit Zitat      
outsider hat Folgendes geschrieben:


Probier mal die PLOTTOOLS manuel aufzurufen und zwar wie folgt:
>> h = figure
>> plot(rand(5))
>> drawnow
>> plottools(h,'show')

Kommt die gleiche Fehlermeldung oder nicht?


MfG


Hallo nochmal,

bei dem Versuch die PLOTTOOLS manuell aufzurufen kommt leider dieselbe Fehlermeldung.

denny hat Folgendes geschrieben:

Dann solltest du vielleicht ausführlicher alles beschreiben.
Java- Version?
Matlab-Version?
(Ob mehrere Matlabs an diesem Rechner bereits installiert waren)


Es ist ein Firmenlaptop, läuft mit WinXP (Intel T2300@1,66GHz, 2Gb RAM), die Matlab-Version ist V7.5.0.342 vom 15.Aug 2007.

Die Java-Version ist Sun Microsystems, JRE-Version 1.4.2_02

An sowas wie die Java-Version hab ich auch schon gedacht. Wir haben hier zertifizierte Rechner die eigentlich mit jeglicher Software zurechtkommen. Die Rechner haben 2 Partitionen. Auf der Netz-Partition hat man nur Benutzerrechte. Auf der lokalen Seite, auf der auch Matlab installiert ist habe ich Admin-Rechte, man kann so Zeug wie Java u.ä. selbst updaten.

Könnte es an der Java-Version liegen?

Grüße
Jörg
 
outsider
Forum-Meister

Forum-Meister


Beiträge: 806
Anmeldedatum: 03.09.07
Wohnort: München
Version: R2012b
     Beitrag Verfasst am: 14.03.2008, 11:24     Titel:
  Antworten mit Zitat      
mit ML 7.5 wird Java 1.6 mitgelifert. Defaultmässig wird diese auch ausgeführt - es sei denn Du hast eine Umgebungsvariable MATLAB_JAVA die auf die ältere 1.4 zeigt.

checke es unter MATLAB mit
>> version -java

sollte folgendes kommen
Java 1.6.0 with Sun Microsystems Inc. Java HotSpot(TM) Client VM mixed mode


Ich glaube jedoch kaum, dass es an der Java liegt, weil die Fehlermeldung direkt von der Ausführung des M-Code kommt. Offensichtlich geht der FigureHandle (hFig) verloren. Hast Du (oder die Proggis mit denen Du arbeitest) jemals was an den defaulteinstellungen von MATLAB geändert?

Ich würde an Deiner Stelle mit dem Debugger überprüfen was nicht in Ordnung ist. Öffne den Editor, dann "debug"->"stop if errors/warning", danach im Fenster "always stop if errors" auswählen und nun die plottools starten. es sollte dann in der Funktion UIMODE stoppen. Überprüfe als erstes ob der FigureHandle auch tatsächlich übergeben wurde (sollte die Variable hObj in UIMODE sein). Falls nicht wähle aus dem Debugger Stack (ebenfalls im Editor zu finden die Funktion "plotedit>localGetMode") und so weiter bist Du feststellt, wo der Handle verloren geht...


MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.03.2008, 12:46     Titel:
  Antworten mit Zitat      
outsider hat Folgendes geschrieben:
mit ML 7.5 wird Java 1.6 mitgelifert. Defaultmässig wird diese auch ausgeführt - es sei denn Du hast eine Umgebungsvariable MATLAB_JAVA die auf die ältere 1.4 zeigt.

checke es unter MATLAB mit
>> version -java

sollte folgendes kommen
Java 1.6.0 with Sun Microsystems Inc. Java HotSpot(TM) Client VM mixed mode


Ich glaube jedoch kaum, dass es an der Java liegt, weil die Fehlermeldung direkt von der Ausführung des M-Code kommt. Offensichtlich geht der FigureHandle (hFig) verloren. Hast Du (oder die Proggis mit denen Du arbeitest) jemals was an den defaulteinstellungen von MATLAB geändert?


Java-Versionscheck unter Matlab ergibt:
Code:
>> version -java

ans =

Java 1.6.0 with Sun Microsystems Inc. Java HotSpot(TM) Client VM mixed mode


D.h. also die Java-Version sollte stimmen. Ich habe außer an den SetPath - Einstellungen nichts bewusst geändert. Werde in einer ruhigen Minute Dein empfohlenes Vorgehen starten und dann berichten was herauskommt.

Danke schonmal für die Hilfe!

Jörg
 
outsider
Forum-Meister

Forum-Meister


Beiträge: 806
Anmeldedatum: 03.09.07
Wohnort: München
Version: R2012b
     Beitrag Verfasst am: 14.03.2008, 13:11     Titel:
  Antworten mit Zitat      
Zitat:
Ich habe außer an den SetPath - Einstellungen nichts bewusst geändert.

dann versuche zuerst die hinzugefügte Pfade zu entfernen bzw. am Ende der Pathliste anzuhängen (pfade markieren und "move to bottom"-knopf im Pathtool wählen). Matlab fügt die Userpfade immer von oben - besser wäre jedoch diese von unten hinzufügen:

Mit RESTOREDEFAULTPATH kannst Du die original Pfade wiederherstellen.


MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.03.2008, 14:03     Titel:
  Antworten mit Zitat      
outsider hat Folgendes geschrieben:
Zitat:
Ich habe außer an den SetPath - Einstellungen nichts bewusst geändert.

dann versuche zuerst die hinzugefügte Pfade zu entfernen bzw. am Ende der Pathliste anzuhängen (pfade markieren und "move to bottom"-knopf im Pathtool wählen). Matlab fügt die Userpfade immer von oben - besser wäre jedoch diese von unten hinzufügen:

Mit RESTOREDEFAULTPATH kannst Du die original Pfade wiederherstellen.


MfG


Hallo nochmal,

das Zurücksetzen der Pfade hat leider nichts gebracht.


Wenn ich den Editor/Debugger einsetze, zeigt er mir an dass der Fehler in uimode.m stattfindet:

Code:

if isa(hObj,'hg.figure')
-> hMode = uitools.uimode;
    hMode.createuimode(handle(hObj),name);
    hManager = uigetmodemanager(hObj);
    hManager.registerMode(hMode);
elseif isa(hObj,'uitools.uimode')
    hMode = uitools.uimode;
    hMode.createuimode(handle(hObj.FigureHandle),name);
    hObj.registerMode(hMode);
end


Die Variable 'hObj' ist zu diesem Zeitpunkt eine 1x1 Figure und auch im Workspace vorhanden.

Puh, das Übersteigt deutlich meine Matlab-Basiskenntnisse, falls ihr noch Ideen habt was ich weiter ausprobieren soll mach ich das natürlich gerne. Ansonsten muss ich wohl doch über unsere IT versuchen so eine direkt Verbindung zu Mathworks herzustellen...

Jörg
 
outsider
Forum-Meister

Forum-Meister


Beiträge: 806
Anmeldedatum: 03.09.07
Wohnort: München
Version: R2012b
     Beitrag Verfasst am: 14.03.2008, 15:09     Titel:
  Antworten mit Zitat      
hmm... mystery...

ist zwar nur eine Vermutung für den Fall, wenn es sich um einen DualCore rechner handelt. Also falls es einer ist, kannst Du vielleicht einen Core über den TaskManager deaktivieren (rechte Maustaste auf den MATLAB.EXE Process und dann "zugehörigkeit festlegen", dann einen Kern auswählen ) und dann nochmal Plottools öffnen?


MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite 1, 2  Weiter

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 - 2024 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.