|
andyxp |

Forum-Anfänger
|
 |
Beiträge: 14
|
 |
|
 |
Anmeldedatum: 18.08.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2009b
|
 |
|
|
 |
|
Verfasst am: 20.08.2010, 09:14
Titel: Probleme mit Vektor
|
 |
Hallo Leute,
ich habe folgendes Problem:
Ich habe einen Roboter der mir Daten sendet wenn ich diese abfrage.
Ich benötige aber z.B. nur die ersten fünf, also frage ich in einer schleife nach den ersten fünf werten.
a = [ 1 2 3 4 5 ]
Ich benötige auch exakt diese Reihenfolge, weil jede Zahl eine Bedeutung hat.
Das ganze in eine Scheife verpackt um mir permanent z.B. die Drehzahl auszugeben.
Mein Problem jetzt ist: der Roboter sendet unkontrolliert Fehler mit.
Sobald der Fehler im Vektor auftritt verschiebt sich das ganze
z.B.
a = [ 1 2 9 3 4 ]
a = [ 5 1 2 3 4 ]
a = [ 5 1 9 2 3 ]
....
Jetzt habe ich es schon geschafft diese Zahl zu finden und zu löschen, aber die Verschiebung bleibt.
a = [ 1 2 () 3 4 ]
a = [ 5 1 2 3 4 ]
a = [ 5 1 () 2 3 ]
Wie kann ich diese Zahl finden, löschen und die anderen Werte aufrücken lassen? So dass ich immer die 1 als ersten Wert habe.
Danke
|
|
|
|
|
Vito |

Forum-Guru
|
 |
Beiträge: 315
|
 |
|
 |
Anmeldedatum: 02.11.09
|
 |
|
 |
Wohnort: Stuttgart
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 20.08.2010, 09:33
Titel:
|
 |
Hi,
du kannst das so machen:
Gruß,
Vito
|
|
|
andyxp |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 14
|
 |
|
 |
Anmeldedatum: 18.08.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2009b
|
 |
|
|
 |
|
Verfasst am: 20.08.2010, 10:03
Titel:
|
 |
Hallo Vito,
danke für deine schnelle Antwort.
Das würde funktionieren wenn ich immer die gleiche Drehzahl hätte, sobald ich eine andere habe wechseln auch die Werte im Vektor.
Der genaue Vektor sieht so aus:
a = [123 1 85 16 1 240 90 150 215]
Die einzigen Werte die immer gleich sind, sind 123 und 215
123 = Start
215 = Ende
Die anderen Werte entschlüsseln sich zu Drehzahl, welcher Motor und Ist Drehzahl.
Mein Fehlercode ist die Nummer 92, sobald diese kommt will ich die 92 und die folgende Zahl löschen.
Hätte mein Problem wohl noch genauer erklären können.
Gruß Andy
|
|
|
Vito |

Forum-Guru
|
 |
Beiträge: 315
|
 |
|
 |
Anmeldedatum: 02.11.09
|
 |
|
 |
Wohnort: Stuttgart
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 20.08.2010, 10:16
Titel:
|
 |
Hi,
noch ne Vorschlag
|
|
|
Frank |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 20.08.2010, 10:24
Titel: a
|
 |
hallo Vito
Zitat: |
sobald diese kommt will ich die 92 und die folgende Zahl löschen.
|
ich glaub du hast zu viel gelöscht
viele grüsse
|
|
|
Vito |

Forum-Guru
|
 |
Beiträge: 315
|
 |
|
 |
Anmeldedatum: 02.11.09
|
 |
|
 |
Wohnort: Stuttgart
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 20.08.2010, 11:19
Titel:
|
 |
Hi,
ist doch kein Problem, dann so
Gruß,
Vito
|
|
|
andyxp |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 14
|
 |
|
 |
Anmeldedatum: 18.08.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2009b
|
 |
|
|
 |
|
Verfasst am: 23.08.2010, 13:27
Titel:
|
 |
Hallo Vito,
sitze gerade wieder am Roboter, die 92 und die folgende Zahl löscht er, das klappt.
Mein Problem aber weiterhin, das Matlab den Rest des Vektors leer lässt und ich deshalb eine Verschiebung habe.
Siehe hier:
eingang = 123 219 85 16 1 246 124 217 125
eingang = 123 220 85 16 1 245 215
eingang = 125 123 221 85 16 1 246 88 181
Die 125 fällt immer in den Vektor der nächsten Schleife.
Wie kann ich das denn lösen?
Gruß Andy
|
|
|
Vito |

Forum-Guru
|
 |
Beiträge: 315
|
 |
|
 |
Anmeldedatum: 02.11.09
|
 |
|
 |
Wohnort: Stuttgart
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 23.08.2010, 13:51
Titel:
|
 |
Hi,
können wir die leeren Stellen mit Nullen füllen? So
Gruß,
Vito
|
|
|
andyxp |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 14
|
 |
|
 |
Anmeldedatum: 18.08.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2009b
|
 |
|
|
 |
|
Verfasst am: 23.08.2010, 14:06
Titel:
|
 |
Das geht leider nicht.
Das Problem ist, das die 92 zusätzlich auftaucht und sich deswegen alles verschiebt.
Ich will die 92 löschen, aber Matlab sagen, das der Vektor trotzdem aus 9 besteht.
|
|
|
Vito |

Forum-Guru
|
 |
Beiträge: 315
|
 |
|
 |
Anmeldedatum: 02.11.09
|
 |
|
 |
Wohnort: Stuttgart
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 23.08.2010, 14:13
Titel:
|
 |
Hi,
ich verstehe dein Problem nicht, denn du willst ja immer die 92 und die nachfolgende Zahl löschen. Genau das wird ja gemacht und die Länge des Vektors wird beihalten. Oder stört dich das mit den Nullen? Du kannst da auch beliebige Zahl reinschreiben.
Gruß,
Vito
|
|
|
andyxp |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 14
|
 |
|
 |
Anmeldedatum: 18.08.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2009b
|
 |
|
|
 |
|
Verfasst am: 23.08.2010, 14:28
Titel:
|
 |
Hi,
das mit der 92 finden ist alles super, das klappt.
Das Problem ist, wenn die 92 zusätzlich auftaucht, dann besteht der Vektor aus 10 Zahlen, da aber nur 9 vorgegeben sind, fällt der 10 Wert (hier 125) in den Vektor der nächsten Schleife.
Und schon funktioniert meine Abfrage nicht mehr, da ich den 6 und 7 Wert benötige zur Ausgabe meiner Drehzahl, etc.
Die beiden Werte sind dann ja an Position 7 und 8.
Ich möchte die 92, 92+1 löschen und die 125 wieder in den Vektor holen.
Ich hoffe du konntest mein Problem jetzt verstehen.
Danke Dir
|
|
|
Vito |

Forum-Guru
|
 |
Beiträge: 315
|
 |
|
 |
Anmeldedatum: 02.11.09
|
 |
|
 |
Wohnort: Stuttgart
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 23.08.2010, 14:46
Titel:
|
 |
Hi,
probier mal das Copy/Paste
Gruß,
Vito
|
|
|
andyxp |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 14
|
 |
|
 |
Anmeldedatum: 18.08.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2009b
|
 |
|
|
 |
|
Verfasst am: 23.08.2010, 14:57
Titel:
|
 |
Dann macht er mir nen ganzen Vektor voller 0
Kann ich irgendwie festlegen das immer 125 die letzte Zahl des Vektors sein soll?
|
|
|
Vito |

Forum-Guru
|
 |
Beiträge: 315
|
 |
|
 |
Anmeldedatum: 02.11.09
|
 |
|
 |
Wohnort: Stuttgart
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 23.08.2010, 15:16
Titel:
|
 |
Hi,
machmal bitte Copy/Paste
Ich habe einmal dein Vektor weniger als 9 Elemente genommen und einmal 10. Und mit A{1} oder A{2} kannst du die Ergebnisse aufrufen.
Gruß,
Vito
|
|
|
yankemen |

Forum-Century
|
 |
Beiträge: 104
|
 |
|
 |
Anmeldedatum: 14.04.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 32: 2008a & 2010a
|
 |
|
|
 |
|
Verfasst am: 23.08.2010, 16:03
Titel:
|
 |
Moin moin,
ich habe mich jetzt nicht en detail mit den Lösungsvorschlägen befasst, aber
sollte Dich der Lösung elegant näher bringen. Mehr siehe Hilfe/ doc.
Ciao,
yankemen
_________________
Gibt es ein Ist und ein Wunsch-Soll? Gibt es Beispiele zum Durchprobieren? Wenn selbstgeschriebene Funktionen aufgerufen werden: können sie bitte angehangen werden? Gab es Fehlermeldungen?
Stimmen die Werte, wenn der Debugger mit Haltepunkten etc. eingesetzt wird?
Danke
|
|
|
|
Gehe zu Seite 1, 2 Weiter
|
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.
|
|