|
motzer |

Forum-Newbie
|
 |
Beiträge: 6
|
 |
|
 |
Anmeldedatum: 17.11.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 17.11.2014, 14:40
Titel: Datenumwandlung
|
 |
Hallo,
habe gerade einen Fehler den ich einfach nicht rauskriege. Kann die Handlung von Matlab nicht nachvollziehen. Ich möchte Werte eines Vektors erst mit einem Schwellwert vergleichen und dann dementsprechend umrechnen. Mit zwei Vektoren funktioniert es korrekt mit dem dritten nicht. Liegt es an irgendwelchen Optimierungen seitens Matlab?
Programm ist klein sieht so aus:
Meine Daten liegen in der Form 1205x1 double vor also x, y und z.
g_y,g_y liegen als 1x1205 double vor.
g_z liegt als 1x1061 double vor.
Wobei z ab 1061er Zeile nur noch 0 1 und 2 als Werte hat, wird da was weggerundet oder optimiert ?
Verstehe überhaupt nicht wieso mein z Shifting nicht funktioniert.
Irgendwleche Hinweise?
Gruß
motzer
P.S: Anwendung ist ein Beschleunigungssensor dessen 8 bit Werte in physikalische g-Werte umgerechnet werden sollen
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 17.11.2014, 15:02
Titel:
|
 |
Hallo,
du belegst g_z(i) ja für i > 1061 nie, also wird das auch nicht erzeugt.
Die entscheidende Frage ist: was soll in g_x, g_y, g_z stehen, wenn der entsprechende Eintrag von x, y, z die Bedingung nicht erfüllt? 0? Der Wert von x,y,z?
Je nach Wunsch sollte man g_z (und auch die anderen Vektoren) vorbelegen, z.B.
oder
Darauf dürfte auch der Code Analyzer mittels oranger Balken im Editor hinweisen.
Zudem würde ich Strichpunkte ans Ende der Zeilen setzen. Wenn du dir ansehen möchtest, wie sich die Variablen entwickeln, solltest du den Debugger verwenden.
Grüße,
Harald
|
|
|
motzer |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 6
|
 |
|
 |
Anmeldedatum: 17.11.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 17.11.2014, 15:17
Titel:
|
 |
Danke für den Schubser =)
bin irgendwie intuitiv falsch davon ausgegangen, dass ich die Matrizen mit einer Kopie initialisiert hatte.
so läufts und endlich geben die Graphen auch einen Sinn =)
wobei ich jetzt natürliche den else Case auch weglassen könnte, aber für die Übersichtlichkeit lasse ich ihn hier mal stehen.
Grüße
motzer
Zuletzt bearbeitet von motzer am 17.11.2014, 15:22, insgesamt einmal bearbeitet
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 17.11.2014, 15:20
Titel:
|
 |
Hallo,
jetzt können wir das noch etwas schöner / effizienter machen:
... und ebenso für g_y und g_z.
Grüße,
Harald
|
|
|
|
|
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.
|
|