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

Index exceeds matrix dimensions.

 

mirkado
Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 09.12.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.12.2016, 16:09     Titel: Index exceeds matrix dimensions.
  Antworten mit Zitat      
Hallo an Alles, brauche dringend Hilfe.
ich muss für eine Raketenflugbahn die Höhe und die entfernung berechnen von Start bis zur Landung.
Die ersten beiden Phasen klappen problemlos aber bei der Landungsphase (letzte while Schleife) tauschen andauernd Fehler auf und ich weiß nicht ganz genau woran das liegt. Nach 8 Stunden auf den Code starren wende ich mich an euch.
Ich habe so einiges ausprobiert und dabei aber auch andere Fehler bekommen, sodass es nicht lief.

Vielen Dank im Voraus.
Die Datei mit dem Code ist angehängt.

getflughooehe.m
 Beschreibung:

Download
 Dateiname:  getflughooehe.m
 Dateigröße:  5.3 KB
 Heruntergeladen:  247 mal
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: 09.12.2016, 16:26     Titel:
  Antworten mit Zitat      
Hallo,

das Problem liegt bei
while t(i)<t_max

Meintest du da vielleicht t3 statt t?

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

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 09.12.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.12.2016, 16:32     Titel:
  Antworten mit Zitat      
Vielen Dank erstmal für deine schnelle Antwort.

Ich habe es auch mit t3 versucht geht aber leider nicht.
Ich wollte ja t um t3 erweitern.
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: 09.12.2016, 17:13     Titel:
  Antworten mit Zitat      
Hallo,

dann schau dir doch mal t3 an. In Schritten von 0.01 kommst du eben nicht genau zu t_max, deswegen ist die letzte Komponente etwas kleiner.

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

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 09.12.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.12.2016, 17:24     Titel:
  Antworten mit Zitat      
Ich habe t_max so groß gewählt weilnicu nicht genau weiß wann die höhe null wird.
Ich dachte mir lieber größer wählen als zu klein.

Bin ich es da falsch angegangen?

Gruß Mirkan
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: 09.12.2016, 17:41     Titel:
  Antworten mit Zitat      
Hallo,

das Problem ist nur, dass die while-Schleife offenbar nicht vorher abbricht und damit t(i) für i > length(t) abgefragt wird, siehe anfänglicher Vorschlag.

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

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 09.12.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.12.2016, 18:00     Titel:
  Antworten mit Zitat      
Ich habe jetzt t3 statt t eingesetzt und das Problem ist leider weiterhin da.
Die schrittweite mit 0.01 muss ich leider nach der Aufgabenstellung so lassen.

Warum bricht er aber nicht ab? Geht das nicht mit der if Bedingung in der while Schleife?

Gruß,
Mirkan
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: 09.12.2016, 21:04     Titel:
  Antworten mit Zitat      
Hallo,

vermutlich tritt die Bedingung nicht ein oder sie ist falsch formuliert.
Sollen dann abgebrochen, wenn alle h < 0 sind (so ist es programmiert) oder vielleicht nur, wenn h(i) < 0 ist? Falls letzteres, dann musst du eben auch genau das hinschreiben.

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

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 09.12.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.12.2016, 21:24     Titel:
  Antworten mit Zitat      
So hatte ich es auch schonmal, dann kommt aber der Fehler, dass die Vektoren aus irgendeinem Grund eine unterschiedliche Länge haben.
Ich lade mal diese Version hoch.
Es ist mir ein Rätsel.

getflughooehe.m
 Beschreibung:

Download
 Dateiname:  getflughooehe.m
 Dateigröße:  5.3 KB
 Heruntergeladen:  238 mal

_________________

Liebe Grüße,

Mirkan
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: 09.12.2016, 22:21     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
dann kommt aber der Fehler, dass die Vektoren aus irgendeinem Grund eine unterschiedliche Länge haben.

Bitte Fehlermeldungen kopieren, nicht interpretieren, und die Zeile der Fehlermeldung angeben.

Warum könnten sie denn unterschiedliche Längen haben?
Vielleicht, weil der Vektor t wie du selbst sagst bewusst zu lange gewählt wird?
Dann müsstest du ja nur nachträglich den überflüssigen Teil von t abschneiden.

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

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 09.12.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.12.2016, 23:16     Titel: teilweise gelöst
  Antworten mit Zitat      
ja das ist es. Mein Tutor hat mir auch eine Mail geschickt in der er meinte, dass der Zeitvektor ja vor der Schleife festgelegt wurde und somit schon eine definierte Länge hat und der Vektor für die Höhe durch break kürzer ist als der der Zeit. Habe jetzt den Vektor mit
[code]%
t=t(1/length(h(i)));

gekürzt und das einzige Problem ist jetzt, dass er irgendwie kein Plot ausgibt.

Danke für deine Hilfe.
Habe die Datei trotzdem angehängt, falls du einen Tip für mich hast.

getflughooehe.m
 Beschreibung:

Download
 Dateiname:  getflughooehe.m
 Dateigröße:  5.37 KB
 Heruntergeladen:  227 mal

_________________

Liebe Grüße,

Mirkan
Private Nachricht senden Benutzer-Profile anzeigen
 
mirkado
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 09.12.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.12.2016, 00:42     Titel:
  Antworten mit Zitat      
hmm sobald ich break entferne kommt der Fehler
Index exceeds matrix dimensions.
erneut.
_________________

Liebe Grüße,

Mirkan
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: 10.12.2016, 00:51     Titel:
  Antworten mit Zitat      
Hallo,

Code:
t=t(1/length(h(i)));

warum denn 1/ ?!
Und mal überlegen: Welche Länge hat denn das eine Element h(i) ?

Zitat:
hmm sobald ich break entferne kommt der Fehler
Index exceeds matrix dimensions.
erneut.

Weil du dann in dasselbe Problem wie zuvor beschrieben läufst?

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

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 09.12.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.12.2016, 01:02     Titel:
  Antworten mit Zitat      
Hallo,
Ich hatte das Ganze ohne 1/ und bekam was komisches raus. Mein Tutor hat mir dann gesagt dass es dahin muss. Habe ihn auch gefragt, kamaber noch keine Antwort.
Ich habe auch versuchst vor break noch t_max so zu definieren, sodass es = t(i) ist und somit die Schleife sich autonatisch beendet.die Länge von h(i) sollte 316 sein soweit ich mich erinnere und die Zeit lag bei 29,33 sekunden.
_________________

Liebe Grüße,

Mirkan
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: 10.12.2016, 01:15     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
die Länge von h(i) sollte 316 sein

Die Länge von h(i) wird eher 1 sein. Wenn, dann die Länge von h - und schon würde das ganze auch Sinn ergeben.
Code:


Grüße,
Harald
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 - 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.