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

Dimension mismatch error beim wechseln von Editor-Taps

 

Ajax
Forum-Century

Forum-Century


Beiträge: 176
Anmeldedatum: 09.09.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.03.2012, 11:51     Titel: Dimension mismatch error beim wechseln von Editor-Taps
  Antworten mit Zitat      
Hallo Zusammen,

ich hatte ich letzter Zeit ab und zu einen sehr seltsamen Fehler bei Matlab. Leider ist der Fehler nicht direkt reproduzierbar, er trat jedoch schon öfter bei mir auf (teilweise nachdem ich vorher schon längere Zeit mit Matlab gearbeitet habe):
Ich lasse einen funktionstüchtigen Code laufen, welcher (z.B. durch einlesen größerer Datenmengen) mehrere Sekunden bis ein paar Minuten läuft. Um die Zeit zu nutzen, wollte ich an anderer Stelle im Editor weiter arbeiten. Sobald ich jedoch das Fenster gewechselt habe, bricht Matlab die Ausführung des Codes mit dem "dimension mismatch error" ab. Fasse ich Matlab während der Zeit der Ausführung der Funktion nicht mehr an, dann läuft der Code fehlerfrei (die Ergebnisse stimmen auch). Ist der Fehler einmal aufgetreten, dann ist er reproduzierbar - d.h. ich kann den Code jederzeit durch das Wechseln eines Taps abbrechen. Leider weiß ich nicht, wodurch der Fehler "gestartet" wird. Nach einem Neustart von Matlab läuft alles wieder normal.
Ist dieser Fehler bekannt bzw. hatte jemand anderes schon dieses Problem? Leider hat mich eine Suche bei google bisher nicht weiter gebracht.
Vielen Dank für Hilfe und Hinweise,
viele Grüße,

Ajax
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 19.03.2012, 22:55     Titel:
  Antworten mit Zitat      
Hallo,

eine gewagte Vermutung: du hast eine Variable angelegt, die die Funktion überlagert, die intern aufgerufen wird, wenn du zwischen den Editor-Fenstern hin- und her springst.

Lass mal folgendes im Workspace laufen, nachdem du deinen Code hast durchlaufen lassen:

Code:
s = whos;
for I=1:numel(s)
    v = which(s(I).name, '-all');
    if length(v) > 1
        disp(s(I).name)
    end
end


Das zeigt dann eine Liste von Variablennamen an, die Funktionen überlagern und damit problematisch sein könnten.

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

Forum-Century

Forum-Century


Beiträge: 176
Anmeldedatum: 09.09.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.03.2012, 10:19     Titel:
  Antworten mit Zitat      
Hallo Harald,

vielen Dank für die Antwort. Wenn der Fehler das nächste Mal auftritt, werde ich das ausprobieren und stelle die Ergebnisse hier rein. Da der Fehler nur sehr unregelmäßig auftritt, kann das jedoch etwas dauern.
Auf jeden Fall noch einmal vielen Dank für die Hilfe,
viele Grüße,

Ajax
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

um das richtig zu verstehen:
Wenn du das Problem nach dem Ausführen eines bestimmten Codes hast, MATLAB neu startest, und dann denselben Code nochmal ausführst, hast du das Problem dann sicher wieder oder nicht?

So oder so: teste bitte auch, ob
Code:

das Problem behebt.

Zudem: gibt es eine Zeilenangabe oder weitere Infos, wo der Fehler auftritt?

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

Forum-Century

Forum-Century


Beiträge: 176
Anmeldedatum: 09.09.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.03.2012, 09:11     Titel:
  Antworten mit Zitat      
Hallo Harald,

sobald Matlab neu gestartet wird, kann der selbe Code fehlerfrei ausgeführt werden! Deshalb ist der Fehler auch nicht einfach reproduzierbar und tritt nur sehr unregelmäßig auf.
Eine Zeilenangabe wird bei der Fehlermeldung ebenfalls mit ausgegeben. Die Zuweisung an dieser Stelle war jedoch immer korrekt (das habe ich ausführlich getestet).
Besonders "offensichtlich" war es, als ich aus dem Command Window eine eigene Funktion zum einlesen einer Datei gestartet hatte. Diese hatte davor immer funktioniert und auf einmal kam dieser Fehler. Wie gesagt, ist etwas seltsam... Aber es kann gut sein, dass ich bereits davor etwas gemacht habe, was dazu geführt hat. Allerdings kenne ich mich dazu viel zu wenig aus - und um ehrlich zu sein, weiß ich auch nicht mehr was ich davor gemacht habe Wink
Weitere Infos gab es glaube ich nicht.
Sicher bin ich mir zwar nicht, aber ich glaube "clear all" habe ich erfolglos versucht. Werde es aber, sobald / falls der Fehler wieder auftritt, nochmals probieren.
Vielen Dank nocheinmal!
Viele Grüße,

Ajax
Private Nachricht senden Benutzer-Profile anzeigen
 
Ajax
Themenstarter

Forum-Century

Forum-Century


Beiträge: 176
Anmeldedatum: 09.09.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.04.2012, 13:36     Titel:
  Antworten mit Zitat      
Hallo Harald,

ich glaube, dass ich jetzt (zumindest prinzipiell) dahinter gekommen bin, woher mein Problem kommt:
Matlab liegt bei mir auf einem Server, alle meine Dateien liegen jedoch auf meinem lokalen Rechner. Wenn der Server jetzt voll ausgelastet ist (was bei uns zum Glück nicht sehr häufig vorkommt), dann scheint es größere Probleme mit dem "Datenaustausch" zwischen meinem Rechner und dem Server zu geben. Dadurch kommt es bei einer beliebigen Aktion in Matlab (sei es etwas tippen oder eben das Fenster wechseln), wie mir jetzt aufgefallen ist, zu unterschiedlichsten Fehlermeldungen, welche die Ausführung des Codes abbrechen. Ohne die Aktion (einfach die Finger weg lassen) läuft der Code durch - genauso, wie wenn der Server nicht ausgelastet ist.
Nachdem normalerweise kaum jemand diesen Server verwendet, hatte ich mir bis jetzt auch wenig Gedanken in diese Richtung gemacht. Aber es scheint tatsächlich einfach daran zu liegen, dass der Zugriff auf meine lokalen Daten bei voller Auslastung zu lange dauert bzw. nicht korrekt funktioniert.
Auf jeden Fall vielen Dank für deine Bemühungen und die Hilfe,
viele Grüße,

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