|
|
Abfrage ob Vektorelement in Matrix vorhanden -> Matrixupd |
|
sarah88 |

Forum-Anfänger
|
 |
Beiträge: 19
|
 |
|
 |
Anmeldedatum: 13.01.16
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 19.01.2016, 18:42
Titel: Abfrage ob Vektorelement in Matrix vorhanden -> Matrixupd
|
 |
Hi,
ich habe eine Frage:
Ich habe einen Zeilenvektor mit 3 Elementen und eine 10x3 Matrix.
Nun möchte ich den ersten Wert des Vektors mit den Werten in der ersten Spalte der Matrix vergleichen.
Es soll eine Abfrage stattfinden, welche prüft, ob das erste Vektorelement bereits in dieser Matrix vorhanden ist oder nicht.
Ist es vorhanden, so soll die Zeile in der Matrix mit dem kompletten, neuen Zeilenvektor überschrieben werden. Der alte Wert interessiert erstmal nicht mehr.
Ist es nicht vorhanden, so soll der neue Zeilenvektor in eine Zeile eingefügt werden, welche leer bzw. an erster Stelle keinen Wert außer Null hat bzw. gleich [0 0 0] ist.
Mein bisheriger Code:
Danke für jegliche Hilfe und Grüße
eure Sarah
|
|
|
|
|
DSP |

Forum-Meister
|
 |
Beiträge: 2.117
|
 |
|
 |
Anmeldedatum: 28.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014b
|
 |
|
|
 |
|
Verfasst am: 19.01.2016, 21:49
Titel:
|
 |
Hallo,
die Suche geht recht einfach mit dem find Befehl:
Jetzt musst du dir noch überlegen, was passiert wenn eine Spalte in m den gesuchten Wert mehrmals enthält. Dann ist Index ja kein Skalar, sondern ein Vektor. Man könnte das dann z.B. mit einer Schleife lösen.
Zitat: |
Bei Testvektor 2 muss eine freie Stelle in der Matrix gefunden und der neue Vektor eingefügt werden. |
Was ist für dich eine freie Stelle in m? Prinzipiell könnte man v2 in jeder Zeile einfügen.
|
|
|
sarah88 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 19
|
 |
|
 |
Anmeldedatum: 13.01.16
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 19.01.2016, 23:05
Titel:
|
 |
Hi, danke für deine Antwort!
Mit freier Stelle meine ich in der Matrix z.B. [...;0 0 0;....]. Quasi ein freier Platz zum belegen, da v1[1] ja nirgendwo anders vorkommt und auch mit in die Matrix aufgenommen werden soll.
Die freien Plätze, also alle mit einer Null in Spalte 1, kann ich ja ebenfalls mit dem find-Befehl ausfindig machen und den erstbesten nehmen.
Dass in der Matrix ein Spaltenwert mehr als einmal vorkommt ist unwahrscheinlich, da die Matrix zu Beginn mit lauter Nullen initialisiert ist. Aber du hast natürlich recht, das muss alles in Form einer Schleife einsortiert werden, da sonst Werte doppelt gespeichert werden könnten.
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 20.01.2016, 13:28
Titel:
|
 |
Hallo Sarah,
Noch eine Vereinfachung:
Dies sucht nach dem ersten Vorkommen einer passende Zahl oder einer 0.
Gruß, Jan
|
|
|
sarah88 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 19
|
 |
|
 |
Anmeldedatum: 13.01.16
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 20.01.2016, 18:45
Titel:
|
 |
|
|
|
|
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.
|
|