|
|
Fehler beim Plotten von Daten in neueren Matlab Versionen |
|
gast123 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 02.11.2013, 19:32
Titel:
|
 |
Hmm...es taucht noch drei weitere Mal in meinem Skript auf:
Ich hab den rechten Ausdruck einfach durch a ersetzt.
Daraufhin meckert aber Matlab sinnvollerweise, weil a nicht als Variable oder Funktion definiert ist. Hab dann a als a=[] definiert.
Meckert aber weiter:
??? Attempted to access a(1); index out of bounds because numel(a)=0.
Error in ==> Frontend>do_fit at 720
ub_vector(i) = a(i);
Eine Idee?
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 02.11.2013, 21:09
Titel:
|
 |
Hallo,
da kann ich ohne den Kontext schwer weiterhelfen. Vermutlich wird das ganze ja noch in einer Schleife oder so verwendet, denn sonst bräuchte man das {fitfunction_index} nicht.
Versuchen wir's mal so:
Schau mal, ob der Aufruf so in Zeile 749 funktioniert:
Falls ja, das immer so ersetzen.
In (Callback-)Funktionen, in denen fitfunctions zugewiesen/verändert wird (links vom Gleichheitszeichens), setze am Ende der Funktion
In (Callback-)Funktionen, in denen fitfunctions abgefragt wird (rechts vom Gleichheitszeichen), setze am Anfang der Funktion
Sollte handles.figure1 nicht erkannt werden, öffne das zugehörige .fig (Rechtsklick --> Open in GUIDE), doppelklicke ins Leere, und schaue was die Eigenschaft "tag" für einen Wert hat --- dann musst du das statt figure1 verwenden.
Zur generellen Verwendung von setappdata/getappdata siehe
http://www.mathworks.com/help/matla.....-data-in-a-guide-gui.html
Grüße,
Harald
|
|
|
gast123 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 03.11.2013, 03:02
Titel:
|
 |
??? Illegal right hand side in assignment. Too many elements.
Hallo,
wenn ich den Aufruf in besagter Zeile durch
ersetzte, kommt die alte Fehlerkette:
Error in ==> Frontend>do_fit at 759
[fitfunctions{fitfunction_index}.param_vector, handles.data_fit, exitflag, output] = ...
Error in ==> Frontend>fit_button_Callback at 673
do_fit(hObject, handles);
Error in ==> gui_mainfcn at 96
feval(varargin{:});
Error in ==> Frontend at 42
gui_mainfcn(gui_State, varargin{:});
??? Error while evaluating uicontrol Callback
Ist schon komisch...
|
|
|
gast123 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 03.11.2013, 03:04
Titel:
|
 |
Sry, so sollte es richtig sein:
??? Illegal right hand side in assignment. Too many elements.
Error in ==> Frontend>do_fit at 759
[fitfunctions{fitfunction_index}.param_vector, handles.data_fit, exitflag, output] = ...
Error in ==> Frontend>fit_button_Callback at 673
do_fit(hObject, handles);
Error in ==> gui_mainfcn at 96
feval(varargin{:});
Error in ==> Frontend at 42
gui_mainfcn(gui_State, varargin{:});
??? Error while evaluating uicontrol Callback
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 03.11.2013, 11:02
Titel:
|
 |
Hallo,
das sieht mir sehr komisch aus. Bist du ganz sicher, dass die GUI mit demselben Ablauf vorher funktioniert hat?
Setze bitte einen Haltepunkt in Zeile 749, lasse
laufen, speichere die Variablen a und fitfunction_index in einer .mat-Datei ab, und hänge sie hier an.
Grüße,
Harald
|
|
|
gast123 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 03.11.2013, 16:48
Titel:
|
 |
Hi,
ja, als ich nur das erste Output-Argument durch "a" ersetzt habe, wurde was gefittet (ohne Fehlermeldung!). Bei allen anderen Ersetzungen/Änderungen sind Fehler aufgetreten.
Ich werde das morgen auch mal mit der R2012b-Versionen probieren. Vielleicht ist da ja wieder etwas ganz anders...
Ich habe jetzt mal den Haltepunkt gesetzt und davor in der Zeile
definiert. Ansonsten ist alles so wie es anfangs auch war.
vg
|
|
|
gast123 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 03.11.2013, 16:51
Titel:
|
 |
Hier noch die .mat-Datei.
Beschreibung: |
|
 Download |
Dateiname: |
daten.zip |
Dateigröße: |
10.17 KB |
Heruntergeladen: |
318 mal |
|
|
|
gast123 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.11.2013, 14:22
Titel:
|
 |
Hallo,
also in R2012b läuft alles genau so ab, wie in 2009. Nur wenn ich " handles.fitfunctions{fitfunction_index}.param_vector" durch "a" in Zeile 749 ersetze (und nur da!), dann fittet er. Ansonsten nicht.
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 04.11.2013, 21:07
Titel:
|
 |
|
 |
|
Hallo,
ich hätte mich klarer ausdrücken sollen:
Bist du ganz sicher, dass die GUI mit demselben Ablauf in Release 2006 funktioniert hat? Es wäre ja zumindest möglich, dass die GUI im alten Release zwar für andere Abläufe funktioniert, aber nicht für genau diesen.
Ansonsten muss ich sagen, dass ich für das Problem zumindest gegenwärtig keine Erklärung habe.
Ein Versuch noch:
setze den Haltepunkt in der Zeile. Gehe dann auf "continue". Kommt die Fehlermeldung sofort, oder springt MATLAB erst nochmal "normal" in diese Zeile? Falls letzteres:
bitte dieselbe Vorgehensweise mit der .mat-Datei nochmal, aber nicht den Haltepunkt manuell setzen, sondern
Dann wrüde die Zeile nämlich mehrfach durchlaufen, und der Fehler tritt erst in einer späteren Iteration auf - und es ist natürlich interessant, sich den Stand vor dieser späteren Iteration anzusehen.
Im übrigen sehe ich nur die Möglichkeit, sich mit einer Ersetzung zu behelfen, die aber natürlich dann auch in den anderen Teilen der GUI durchgeführt werden muss, damit diese Teile weiterhin funktionieren.
Oder natürlich: die GUI sowie den Ablauf und sämtliche benötigten Daten zur Verfügung stellen, damit man sich selbst ein Bild machen kann. Sollte das hier in der "Öffentlichkeit" nicht möglich sein, kann man sich ja an den Technischen Support von MathWorks wenden.
Grüße,
Harald
|
|
|
gast123 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.11.2013, 00:40
Titel:
|
 |
Hallo,
präzisiere bitte "mit demselben Ablauf"?
Es ist der gleiche Code, und wenn ich auf "Run" klicke, dann öffnet sich meine GUI, wo ich dann meine Daten einlesen und fitten kann. Oder meinst du, dass andere Fehler auftauchen müssten (auch wenn die Daten gefittet werden können)???
Zu deinem Vorschlag:
Die Fehlermeldung kommt sofort, d.h. Matlab springt nicht in die Zeile.
Ja, mit der Ersetzung hast du recht. Wenn, dann muss man das eigentlich überball machen. Wirklich komisch, dass das "soweit funktioniert", wenn ich das nur in der betreffenden Zeile ersetze.
vg
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 05.11.2013, 10:20
Titel:
|
 |
Hallo,
Zitat: |
präzisiere bitte "mit demselben Ablauf"? |
Es werden die selben GUI-Elemente in der selben Reihenfolge betätigt, und die verwendeten Daten sind auch gleich. Also eben alles außer der verwendeten MATLAB-Version.
Zitat: |
Wirklich komisch, dass das "soweit funktioniert", wenn ich das nur in der betreffenden Zeile ersetze. |
Vermutlich verwendest du einfach nur nicht die Funktionalität, mit der die anderen Zeilen aufgerufen werden.
Grüße,
Harald
|
|
|
gast123 |

Forum-Newbie
|
 |
Beiträge: 1
|
 |
|
 |
Anmeldedatum: 05.11.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.11.2013, 10:58
Titel:
|
 |
Hallo,
ja, die Daten sind gleich! Ich verwende auch die selben Elemente in der GUI.
|
|
|
|
Gehe zu Seite Zurück 1, 2
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|