|
|
Fehler bei xlabel/ylabel > Index exceeds matrix dimension |
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 22.02.2009, 23:20
Titel:
|
 |
MrSnoot hat Folgendes geschrieben: |
Hi,
in thermo.mat sind lediglich Wertetabellen: temp, tempir, tempuv (Beispieltabelle im Anhang).
Deine Befehle liefern:
Zitat: |
>> whos
Name Size Bytes Class Attributes
temp 3343x17 454648 double
tempir 3758x17 511088 double
tempuv 4004x17 544544 double
>> |
|
Nur um nochmal sicher zu sein:
Du hast (zu keinem Zeitpunkt) keine Variablen xlabel und/oder ylabel im Workspace?
|
|
|
|
|
MrSnoot |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 17
|
 |
|
 |
Anmeldedatum: 16.02.09
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2007b
|
 |
|
|
 |
|
Verfasst am: 22.02.2009, 23:41
Titel:
|
 |
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 22.02.2009, 23:46
Titel:
|
 |
Ja, aber oben hast du doch was von tempir und tempuv geschrieben...
Ehrlich gesagt traue ich deinen Angaben nicht so besonders weit.
Kannst Du vielleicht mal alle benötigten Dateien ich ein zip-File packen und hier hochladen? Wie gesagt kannst du ja mit rand auch Daten erzeugen, wenn du die Orginaldaten nicht preisgeben möchtest. Wichtig ist nur dass alles ausführbar ist und bei dir der Fehler auftritt.
|
|
|
MrSnoot |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 17
|
 |
|
 |
Anmeldedatum: 16.02.09
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2007b
|
 |
|
|
 |
|
Verfasst am: 23.02.2009, 00:14
Titel:
|
 |
Ja, sind halt neben temp noch zwei weitere Wertetabellen, ändert aber am Fehler nichts.
Beschreibung: |
|
 Download |
Dateiname: |
thermo.zip |
Dateigröße: |
11.29 KB |
Heruntergeladen: |
611 mal |
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 23.02.2009, 00:39
Titel:
|
 |
Also ich seh da keine zwei weiteren Wertetabellen, dafür hab ich da eine weitere Variable temp im Workspace. Wenn du solche falschen Angaben machst wird die Fehlersuche schwierig. Einen Fehler bekomme ich wie zu erwarten war nicht.
Sind das wirklich die Daten und Dateien die du auch benutzt? Oder läuft das ganze in einem größeren Programm?
|
|
|
MrSnoot |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 17
|
 |
|
 |
Anmeldedatum: 16.02.09
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2007b
|
 |
|
|
 |
|
Verfasst am: 23.02.2009, 00:52
Titel:
|
 |
temp ist doch die importierte Datentabelle - du kannst sie gerne kopieren und jeweils in tempir und tempuv umbenennen (sind genau so aufgebaut wie temp, nur mit anderen Werten)
MrSnoot hat Folgendes geschrieben: |
Fakt ist: ich habe obigen Code - so wie er da steht. Nehme ich die Achsenbeschriftung mit rein, kommt der Fehler. Die geladene thermo mat entält nur die temp.txt, welche als tab-getrennte Daten importiert wurde. |
Das ist der gesamt Code, ich habe nichts weiter reingeschrieben - mehr als dasbrauche ich ja auch gar nicht. Abgesehn, von den noch fehlenden Achsenbeschriftungen.
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 23.02.2009, 01:16
Titel:
|
 |
MrSnoot hat Folgendes geschrieben: |
temp ist doch die importierte Datentabelle - du kannst sie gerne kopieren und jeweils in tempir und tempuv umbenennen (sind genau so aufgebaut wie temp, nur mit anderen Werten) |
Es geht doch darum, dass ein Programm, von dem du sagst es liefere einen Fehler, bei mir andere Variablen anlegt als bei dir. Ich kann halt den Fehler nicht so nicht reproduzieren.
Ich kann ihn reproduzieren falls eben xlabel oder ylabel zuvor als Variablen deklariert wurden:
So funktioniert es bei mir:
Ich gebe hier auf...
|
|
|
MrSnoot |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 17
|
 |
|
 |
Anmeldedatum: 16.02.09
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2007b
|
 |
|
|
 |
|
Verfasst am: 23.02.2009, 11:24
Titel:
|
 |
|
 |
|
Hier in der Arbeit läufts jedenfalls auch korrekt; mit den Dateien, die ich von zu Hause hier hochgeladen hatte ...
Ich speicher das hier als neue Dateien, schicks mir heim und lass mich überraschen
Zu den Variablen, die ich vorher genannt hatte (daten, zeile, x, y) kommt halt noch temp für die Wertetabelle (tempir und tempuv sind identisch zu temp. Ob sie in der .mat mit auftauchen oder nicht, ändert am Fehler nichts; im Script werden sie auch nicht benutzt). Andere Variablen habe ich nicht.
edit: so, also es läuft jetzt auch auf meinem Rechner zu Hause. Ich habe ggü. gestern aber nichts geändert ...
Verstehe einer Matlab; letztens wollte Matlab auch immer auf eine Datei zugreifen, die ich Stunden vorher mal eingebunden, dann aber ersetzt hatte und nirgends mehr ein Verweis auf die Datei vorhanden war. Auch hier lief am nächsten Tag alles ganz normal (Matlab wurde zwischendurch aber auch mehrmals neu gestartet)...
Trotzdem vielen Dank für deine Geduld
|
|
|
Predel |

Forum-Newbie
|
 |
Beiträge: 1
|
 |
|
 |
Anmeldedatum: 12.07.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2012a
|
 |
|
|
 |
|
Verfasst am: 12.07.2012, 20:07
Titel:
|
 |
Hallo,
ich hatte gerade den selben Fehler und bin nach längerem Unverständnis drauf gekommen, warum dieser Error (zumindest bei mir) kommt:
ursprünglich wollte ich meine Achsen beschriften mit:
und habe damit dummerweise zwei Variablen mit Namen xlabel/ylabel erzeugt.
Da ich den Workspace nicht geleert hatte, kam bei jedem folgenden (korrigierten) Programmablauf
der Fehler: Index exceeds matrix dimensions.
|
|
|
Seer |

Forum-Fortgeschrittener
|
 |
Beiträge: 53
|
 |
|
 |
Anmeldedatum: 23.04.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.14.0.739
|
 |
|
|
 |
|
Verfasst am: 13.07.2012, 09:29
Titel:
|
 |
Predel hat Folgendes geschrieben: |
Da ich den Workspace nicht geleert hatte, kam bei jedem folgenden (korrigierten) Programmablauf
|
Aus diesem Grund ist es oft sinnvoll, wenn die ersten drei Zeilen des Hauptfiles lauten:
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 13.07.2012, 10:59
Titel:
|
 |
Hallo,
es ist sicher sinnvoll, seinen Workspace immer mal wieder zu leeren.
Insbesondere sind Fehlermeldung bzgl. Indizierung, wenn man eigentlich einen Funktionsaufruf beabsichtigt, oft ein Hinweis darauf, dass es eine Variable gibt, ddie die Funktion überlagert.
Ich würde jedoch davon abraten, immer clear all an den Anfang eines Skripts zu schreiben. Grund: wenn man ein Skript mehrfach laufen lässt, ist es bei den folgenden Aufrufen typischerweise schneller, da z.B. Funktionen schon in den Speicher geladen worden sind. Diesen Vorteil nimmt man sich durch ein clear all.
Ich habe mir eine Shortcut mit den drei Befehlen angelegt. Wenn ich "von vorne anfangen" oder "alles loswerden" will, klicke ich auf die Shortcut.
Grüße,
Harald
|
|
|
Seer |

Forum-Fortgeschrittener
|
 |
Beiträge: 53
|
 |
|
 |
Anmeldedatum: 23.04.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.14.0.739
|
 |
|
|
 |
|
Verfasst am: 13.07.2012, 11:21
Titel:
|
 |
Harald hat Folgendes geschrieben: |
Ich würde jedoch davon abraten, immer clear all an den Anfang eines Skripts zu schreiben. Grund: wenn man ein Skript mehrfach laufen lässt, ist es bei den folgenden Aufrufen typischerweise schneller, da z.B. Funktionen schon in den Speicher geladen worden sind. Diesen Vorteil nimmt man sich durch ein clear all. |
Gibt es Fälle wo der Effekt nennenswerte Größenordungen hat? Ich habe es gerade mal bei meinem aktuellen Projekt getestet: Mit "clear all" liegt die Laufzeit bei 25.86 Sekunden, ohne bei 25.37.
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 13.07.2012, 13:07
Titel:
|
 |
Hallo,
der Effekt dürfte um so stärker werden, je mehr kleine Funktionen aufgerufen werden. Mir ist jedoch kein Beispiel bekannt, wo das mehr als 1 Sekunde ausmacht und im Verhältnis zur gesamten Ausführungszeit signifikant ist.
Grüße,
Harald
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 16.07.2012, 12:31
Titel:
|
 |
|
 |
|
Hallo Harald,
Ich habe ein Programm, welches 200'000 Zeilen Code auf etwa 1200 M- und Mex-Files verteilt aufruft. Ein umfangreiches (händisch programmiertes, kein GUIDE) GUI mit etwa 7000 Zeilen steuert das Programm.
Nach "clear all" benötigt das Öffens des GUIs 3.2 Sekunden, alle nachfolgenden Starts benötigen nur 1.2 Sekunden. Das Programm selbst läuft nach "clear all" in 4.5 Sekunden, danach in 3.2 Sekunden.
Die Verzögerung wird deutliche größer, wenn man die M-Files auf in einem Netzwerk-Ordner lagert, damit man beim Arbeiten in einer Arbeitsgruppe mit 12 Mitgliedern die Instandhaltungsarbeiten nur einmal zentral erledigen muss.
Zudem bremst "clear all" aus, wenn man mehrere Verwaltungs-Funktionen benötigt, die irgendwelche Preferences-Files einlesen und aus Laufzeitgründen als PERSISTENT speichern.
Deshalb vermeide ich "clear all" grundsätzlich. Selbst "clear variables" verwende ich niemals, sondern verwende zum Debuggen einen Test auf die Existenz unerwarteter Variablen um Bugs aufzudecken.
Gruß, Jan
|
|
|
|
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.
|
|