|
|
Horizontale Linienschar plotten |
|
Lucy |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 14.04.2011, 11:48
Titel: Horizontale Linienschar plotten
|
 |
Hallo zusammen,
ich entschuldige mich für diese vermutlich simple Frage, aber ich werd grad bescheuert hier ^^
Ich möchte eine Schar von äquidistanten horizontalen Linien plotten. Mit dem Plotbefehl klappt es zwar, aber dann werden nur einzelne Punkte und keine Linien gemalt; das ('-b') wird aus irgendeinem Grund ignoriert:
Ich habe mich im Forum umgeschaut und den line-Befehl gefunden, aber damit klappt es auch nicht. Mein Code:
Wäre jemand so gütig meinen Hirnknoten aufzulösen? Danke!!
|
|
|
|
|
eupho |

Forum-Meister
|
 |
Beiträge: 777
|
 |
|
 |
Anmeldedatum: 07.01.09
|
 |
|
 |
Wohnort: Marburg
|
 |
|
 |
Version: R2009b
|
 |
|
|
 |
|
Verfasst am: 14.04.2011, 11:52
Titel:
|
 |
Also dein Code mit line() funktioniert bei mir.
Wenn du es mit plot machen willst, musst du y auch als Vektor plotten, damit eine Linie zustande kommt:
|
|
|
Lucy |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 14.04.2011, 12:15
Titel:
|
 |
eupho hat Folgendes geschrieben: |
Also dein Code mit line() funktioniert bei mir. |
Komisch. Bei mir malt er nur die erste Linie und bricht dann ab mit der Bemerkung "Index exceeds matrix dimensions".
Deine Lösung über "plot" funktioniert bei mir, so kann ich es natürlich auch machen, danke! Wüsste aber trotzdem gern warum er bei mir mit dem line-Befehl nicht klarkommt
|
|
|
eupho |

Forum-Meister
|
 |
Beiträge: 777
|
 |
|
 |
Anmeldedatum: 07.01.09
|
 |
|
 |
Wohnort: Marburg
|
 |
|
 |
Version: R2009b
|
 |
|
|
 |
|
Verfasst am: 14.04.2011, 13:09
Titel:
|
 |
Schreib mal die genaue Fehlermeldung und in welcher Zeile sie auftritt
funktioniert bei mir auf jeden Fall. Lösche eventuell mal die aktuellen Werte mit clear all (sofern du die Daten im Workspace nicht mehr benötigst!).
|
|
|
Lucy |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 14.04.2011, 13:31
Titel:
|
 |
eupho hat Folgendes geschrieben: |
Schreib mal die genaue Fehlermeldung und in welcher Zeile sie auftritt |
??? Index exceeds matrix dimensions.
Error in ==> [Verweis auf die Zeile mit dem line-Befehl)
Zitat: |
Lösche eventuell mal die aktuellen Werte mit clear all (sofern du die Daten im Workspace nicht mehr benötigst!). |
"clear all" ist generell die erste Zeile in meinen Progrämmchen
Falls das wichtig ist: Ich habe Matlab 7.6.0 (R2008a).
|
|
|
eupho |

Forum-Meister
|
 |
Beiträge: 777
|
 |
|
 |
Anmeldedatum: 07.01.09
|
 |
|
 |
Wohnort: Marburg
|
 |
|
 |
Version: R2009b
|
 |
|
|
 |
|
Verfasst am: 14.04.2011, 13:35
Titel:
|
 |
Schreib das ganze mal in eine .m-Datei (als Skript), dann zeigt er dir auch die zugehörige Linie.
Ich sehe jetzt nicht, wo der Fehler auftreten sollte (ich habe R2009b).
|
|
|
Lucy |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 14.04.2011, 14:24
Titel:
|
 |
Ich arbeite eh nur mit dem Editor, hab die Datei mal angehängt.
Beschreibung: |
|
 Download |
Dateiname: |
TMP.m |
Dateigröße: |
327 Bytes |
Heruntergeladen: |
363 mal |
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 14.04.2011, 15:09
Titel:
|
 |
Hallo Lucy,
Der unbedachte Einsatz "clear all" hat schon zu vielen Problemen geführt. Da es nebenbei auch alle bereits geladenen M-Files aus dem Speicher wirft macht es Matlab auch deutlich langsamer - ein Faktor 200 ist durchaus realistisch bei kleinen Programmen. Ich rate deswegen grundsätzlich davon ab. Die Verwendung von Funktionen statt Scripten ist eine viel stabilere und effizientere Methode um Fehler durch falsch belegte Variablen zu umgehen.
Nun zu Deinem Programm:
"yA" ist ein Skalar, und "yA(i)" demnach ein Fehler. Ich vermute, Du meinst entweder "yS(i)" oder "[yA, yA]" im LINE Befehl.
Du kannst zum Finden solcher Probleme übrigens sehr gut den Debugger verwenden:
Dann stopped Matlab, wenn der Fehler auftritt und Du kannst die Werte aller Variablen bequem anschauen um die Ursache zu ergründen.
Gruß, Jan
|
|
|
Lucy |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 14.04.2011, 16:22
Titel:
|
 |
|
 |
|
Jan S hat Folgendes geschrieben: |
Hallo Lucy,
Der unbedachte Einsatz "clear all" hat schon zu vielen Problemen geführt. Da es nebenbei auch alle bereits geladenen M-Files aus dem Speicher wirft macht es Matlab auch deutlich langsamer - ein Faktor 200 ist durchaus realistisch bei kleinen Programmen. Ich rate deswegen grundsätzlich davon ab. Die Verwendung von Funktionen statt Scripten ist eine viel stabilere und effizientere Methode um Fehler durch falsch belegte Variablen zu umgehen. |
Das "clear all" ist ein Relikt aus den Anfangszeiten meiner ohnehin noch jungen Programmiererkarriere. Davor war mir häufig eine Variable hochgelaufen, anstatt bei jedem Programmstart bei 0 zu beginnen. Mittlerweile weiß ich dass ein einfaches "clear" auch gereicht hätte.
Für meine popeligen Anwendungen wäre zwar auch eine Verlangsamung um den Faktor 1000 unproblematisch, aber ich werde mir das im Hinterkopf notieren, sollte ich doch mal umfangreichere Anwendungen schreiben.
Jan S hat Folgendes geschrieben: |
Nun zu Deinem Programm:
"yA" ist ein Skalar, und "yA(i)" demnach ein Fehler. Ich vermute, Du meinst entweder "yS(i)" oder "[yA, yA]" im LINE Befehl. |
Ah. Großes Missverständnis meinerseits, ich hatte gedacht dass yA in der Schleife automatisch zum Vektor wird, weil mit jedem Schritt eine Komponente hinzugefügt wird. Ziemlich dämlich. So klappt es jetzt:
Den Debugger hatte ich bisher nicht gekannt, guter Tip, eventuell komme ich dann demnächst selbst auf den Fehler anstatt euch zu bemühen. Aber schön dass hier auch Programmierspasten betreut werden
|
|
|
|
|
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.
|
|