|
|
In for-Schleifen auf weitere Vektoren zugreifen |
|
ciccio |

Forum-Newbie
|
 |
Beiträge: 2
|
 |
|
 |
Anmeldedatum: 24.04.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.04.2015, 14:02
Titel: In for-Schleifen auf weitere Vektoren zugreifen
|
 |
|
 |
|
Hallo liebes Forum,
da ich zur Zeit verzweifle, habe ich mich hier angemeldet und hoffe auf Unterstützung!
Bei einer Steigungsberechnung der Fahrbahn, habe ich die Logik bereits erschlossen, allerdings schaffe ich es nicht so richtig, dies in MATLAB einzupflegen. Bitte habt Nachsicht, es ist meine erste Arbeit mit MATLAB.
Erstmal zu den Umständen:
Ich habe die Aufgabe, anhand eines Höhenprofils durchschnittliche Steigungen zu berechnen. Bisher habe ich mir folgendes ausspucken lassen:
Geschwindigkeit mit 100 Hz
Durch Integration: Zurückgelegte Strecke in 100 Hz
Höhendaten mit 20 Hz
Nun habe ich anhand einer for-Schleife erreicht, dass sobald sich die Höhendaten (nur in ganze Meter angegeben) um einen Meter verändern, er mir die Anzahl der Werte "ohne" Höhenänderung ausspuckt, ich diese Zahl durch 20 Teile, um auf die Zeit zu kommen, die vom Fahrzeug benötigt wird, diese Höhenänderung zu erreichen.
So weit, so gut.
Nun habe ich Zeitintervalle berechnen lassen, also nicht nur nach welcher Zeit ändert sich die Höhe zum vorigen Wert, sondern zum Startwert.
Sprich, wenn die erste Änderung 30 Sekunden dauert, die zweite 6 Sekunden, dann habe ich nun einen Vektor, der so aussieht:
30
36
und nicht mehr
30
6
_________________________________
Diese Intervalle multipliziere ich hier nach mit 100, sodass ich weiß, wie viele "Werte des Wegs" gemessen wurden, bis der relevante Wert auftaucht.
Und nun zu der Stelle, an der mein Problem auftaucht.
wegprodh = Weg pro Höhenänderung von 1m
wegint = aus Geschwindigkeit integrierter Weg in 100 Hz
intervalle = Intervalle, die die Zeit zum Zurücklegen der Strecke bezeichnen, multipliziert mit 100, um auf die Frequenz zu kommen
Ich möchte, dass der Weg gespeichert wird, der zurückgelegt wird, um eine Höhenänderung von 1m zu erreichen. Das einzige was nicht funktioniert (klappt zwar in C++, aber nicht in MATLAB) ist, dass ich mich bei wegint auf (intervalle(d)) beziehe.
Hier bekomme ich folgende Fehlermeldung:
Attempted to access wegint(3880); index must be a
positive integer or logical.
Das bedeutet doch, dass er für intervalle(d) 3880 einsetzt und mir sagt, dass es sich hierbei nicht um Integer handelt, oder?
Ich wäre wirklich sehr dankbar, wenn mir jemand sagen kann, wie ich dieses Problem löse.
|
|
|
|
|
Alpri223 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.04.2015, 14:41
Titel:
|
 |
wie hängt d mit deiner laufvariable i zusammen?
|
|
|
ciccio |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 2
|
 |
|
 |
Anmeldedatum: 24.04.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.04.2015, 16:20
Titel:
|
 |
Sorry, meine natürlich:
Habe das Problem übrigens bereits gelöst: Der Fehler lag in einfachen "NaN" beim Integral für den Weg. Manchmal ist es zu einfach.
|
|
|
|
|
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.
|
|