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

Fehler bei xlabel/ylabel > Index exceeds matrix dimension

 

MrSnoot
Forum-Anfänger

Forum-Anfänger



Beiträge: 17
Anmeldedatum: 16.02.09
Wohnort: Dresden
Version: R2007b
     Beitrag Verfasst am: 22.02.2009, 15:09     Titel: Fehler bei xlabel/ylabel > Index exceeds matrix dimension
  Antworten mit Zitat      
Hi,

ich will eine simple x-y-Kurve darstellen, aber beim Hinzufügen von Achsenbeschriftungen erhalte ich immer einen Fehler:

Zitat:
??? Index exceeds matrix dimensions.

Error in ==> thermo at 9
xlabel('x-Achse'), ylabel('y-Achse')

Der Code sieht so aus:
Code:
load L:\Matlab\thermo.mat

daten = temp; %tempir %tempuv
zeile = 300;

x = [1:zeile]';
y = daten(1:zeile,9);
plot(x,y)
xlabel('x-Achse'), ylabel('y-Achse')
grid on

Ohne Achsenbeschriftung läuft alles ganz normal. Was ist da denn faul?
Private Nachricht senden Benutzer-Profile anzeigen


Nelly Van Sale

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.02.2009, 16:16     Titel:
  Antworten mit Zitat      
Das Komma zwischen xlabel() und ylabel() ist falsch. Versuchs mit einem Semikolon oder schreib ylabel in eine neue Zeile.
 
MrSnoot
Themenstarter

Forum-Anfänger

Forum-Anfänger



Beiträge: 17
Anmeldedatum: 16.02.09
Wohnort: Dresden
Version: R2007b
     Beitrag Verfasst am: 22.02.2009, 16:52     Titel:
  Antworten mit Zitat      
Ne, das geht alles nicht. Auch wenn ich nur eine von beiden Achsen beschriften will kommt der Fehler Sad
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.02.2009, 17:48     Titel:
  Antworten mit Zitat      
Erstell doch mal ein !lauffähiges! Beispiel (lauffähig auch für die Leute, die keine thermo.mat haben). Du kannst z.B. mir rand einen Datensatz zum Testen erzeugen.

Sind evtl. plot, xlabel oder ylabel bei dir Variablen, die in thermo.mat definiert werden.
Was gibt
Code:

clear all;
load L:\Matlab\thermo.mat
whos
aus?
 
MrSnoot
Themenstarter

Forum-Anfänger

Forum-Anfänger



Beiträge: 17
Anmeldedatum: 16.02.09
Wohnort: Dresden
Version: R2007b
     Beitrag Verfasst am: 22.02.2009, 18:25     Titel:
  Antworten mit Zitat      
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

>>


temp.txt
 Beschreibung:
Wertetabelle

Download
 Dateiname:  temp.txt
 Dateigröße:  1.95 KB
 Heruntergeladen:  736 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.02.2009, 19:02     Titel:
  Antworten mit Zitat      
Ok, in der hochgeladenen Datei hat daten 10 Zeilen, du versuchst aber bis auf Zeile 300 zuzugreifen, daher der Fehler.
So klappts:
Code:
zeile = 10;
x = [1:zeile]';
y = daten(1:zeile,9);
plot(x,y)
xlabel('x-Achse'), ylabel('y-Achse')
grid on


Der Ausgabe von whos nach gelten bei dir entsprechend andere Werte.
 
MrSnoot
Themenstarter

Forum-Anfänger

Forum-Anfänger



Beiträge: 17
Anmeldedatum: 16.02.09
Wohnort: Dresden
Version: R2007b
     Beitrag Verfasst am: 22.02.2009, 19:09     Titel:
  Antworten mit Zitat      
Ich hab die Datei nur gekürzt, eigentlich sind da 3000 bis 4000 Zeilen drin, sorry Wink

Zitat:
temp 3343x17
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.02.2009, 19:25     Titel:
  Antworten mit Zitat      
Da mein Code mit deiner Datei funktioniert wirst du wohl einen Fehler machen. Aber ohne ein reproduzierendes Beispiel kann ich dir nicht helfen.
 
MrSnoot
Themenstarter

Forum-Anfänger

Forum-Anfänger



Beiträge: 17
Anmeldedatum: 16.02.09
Wohnort: Dresden
Version: R2007b
     Beitrag Verfasst am: 22.02.2009, 20:29     Titel:
  Antworten mit Zitat      
Dann nochmal der gleiche Code wie in Post 1 mit einer kompletten Wertetabelle.

temp.txt
 Beschreibung:

Download
 Dateiname:  temp.txt
 Dateigröße:  642.6 KB
 Heruntergeladen:  738 mal
thermo.m
 Beschreibung:

Download
 Dateiname:  thermo.m
 Dateigröße:  169 Bytes
 Heruntergeladen:  755 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.02.2009, 21:55     Titel:
  Antworten mit Zitat      
Hat es was damit zu tun, dass du zwar thermo.mat einlesen willst, aber temp.txt hochgeladen hast?
Soweit ich das überblicke sollte es mit
Code:
funktionieren.
Wenn du es nicht schaffst, ein Beispiel zu konstruieren, welches den Fehler reproduziert, kannst du ja mal alle Zeilen auskommentieren (Strg+R) und dann von oben nach unten Zeile für Zeile wieder aktivieren (Strg+T), bis du wenigstens die Zeile hast, die den Fehler wirft. Da weist du dann, wo du ansetzten musst.
 
MrSnoot
Themenstarter

Forum-Anfänger

Forum-Anfänger



Beiträge: 17
Anmeldedatum: 16.02.09
Wohnort: Dresden
Version: R2007b
     Beitrag Verfasst am: 22.02.2009, 22:12     Titel:
  Antworten mit Zitat      
ha, ich dachte die thermo.mat, scheinbar ist das Dateiformat hier gesperrt.

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.
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.02.2009, 22:19     Titel:
  Antworten mit Zitat      
Werds morgen mal testen, aber der Code sollte so schon funktionieren, falls die Daten richtig sind.
Versuch doch mal nur ylabel oder nur xlabel und schreib die genaue Fehlermeldung auf.
Hast Du evtl. m-Files im Suchpfad, die xlabel.m oder ylabel.m heissen?
 
MrSnoot
Themenstarter

Forum-Anfänger

Forum-Anfänger



Beiträge: 17
Anmeldedatum: 16.02.09
Wohnort: Dresden
Version: R2007b
     Beitrag Verfasst am: 22.02.2009, 22:46     Titel:
  Antworten mit Zitat      
Nein, nichts.

Ich habe eine thermo.m, eine temp.txt und eine thermo.mat. Der gesamte Code aus der thermo.m steht oben, die thermo.mat enthält die importierte temp.txt, sonst nichts. Ich habe nichts anderes im Code, keine anderen Dateien im Ordner wo diese Dateien gespeichert sind.


Je nach dem, was ich für eine Achsenbeschriftung angebe, xlabel('x-Achse') und/oder ylabel('y-Achse') erhalte ich eben die oben genannte Meldung:

Zitat:
??? Index exceeds matrix dimensions.

Error in ==> thermo at 9
xlabel('x-Achse')

oder was halt in Zeile 9 als Achsenbeschriftung steht.


Interessant wäre ja zu wissen, was die Fehlermeldung ungefähr bedeutet. Dann wüsste man was den Fehler verursachen könnte. Aber was soll die Achsenbeschriftung mit "matrix dimensions" zu tun haben?

Ich werd's mir mal in die Arbeit schicken und dort testen.
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.02.2009, 22:52     Titel:
  Antworten mit Zitat      
Funktioniert denn das hier:
Code:
?

Die Fehlermeldung kommt, wenn du auf ein nicht-existierendes Element einer Matrix (oder Vektors) zugreifen willst, z.B.:
Code:
x=rand(1,10);
x(11)
 
MrSnoot
Themenstarter

Forum-Anfänger

Forum-Anfänger



Beiträge: 17
Anmeldedatum: 16.02.09
Wohnort: Dresden
Version: R2007b
     Beitrag Verfasst am: 22.02.2009, 23:16     Titel:
  Antworten mit Zitat      
Jo, das läuft. Hab auch schon andere Beispiele per copy and paste probiert, die keine probleme gemacht haben. Ich habe auch bei mir mal neue Dateien angelegt, damit da nicht irgendwas altes im Hintergrund Fehler produzieren kann, aber irgendwas klemmt weiterhin Sad
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 - 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.