|
|
Zwei verknüpfte Matrizen zu einer umwandeln |
|
Ence |
Forum-Newbie
|
|
Beiträge: 2
|
|
|
|
Anmeldedatum: 06.07.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 06.07.2019, 14:45
Titel: Zwei verknüpfte Matrizen zu einer umwandeln
|
|
Hallo miteinandern!
Ich habe zwei 7x2 Matrizen die ich in eine 6x1 Matrix umbauen möchte. In meiner Matrix A sind Zahlenwerte zwischen 1 und 6. In meiner Matrix B sind beliebige Zahlenwerte. Die Elemente beider Matrizen hängen zusammen, sprich z.b. jede 1 in Matrix A ist gleich 280.42 aus Matrix B.
A = [
1 2
1 2
2 3
2 3
3 4
4 5
5 6
]
B = [
280.42 280.18
280.42 280.18
280.18 280.82
280.18 280.82
280.82 280.57
280.60 280.75
280.75 280.20
]
Ich möchte nun eine 6x1 Matrix C haben, welche z.B. in Zeile 1 die Zahlenwerte der Matrix B ausgibt, welche in Matrix A den Wert 1 hatten. Analog dazu in Zeile 2 die Zahlenwerte der Matrix B, welche in Matrix A den Wert 2 hatten. Im Endeffekt soll Matrix C also so aussehen:
C = [
280.42
280.18
280.82
280.57
280.75
280.20
]
Ich hoffe, jemand kann mir dabei helfen.
Danke und viele Grüße
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 06.07.2019, 17:19
Titel:
|
|
Hallo,
zunächst ist es egal, in welcher Spalte die Werte stehen, oder? Dann würde ich direkt mit Vektoren arbeiten (reshape).
Dann kannst du unique mit 2 Rückgabeargumenten aufrufen, um das erste Vorkommen jeder Zahl in A zu bekommen. Das verwendest du dann als Index auf B.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Ence |
Themenstarter
Forum-Newbie
|
|
Beiträge: 2
|
|
|
|
Anmeldedatum: 06.07.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 07.07.2019, 08:17
Titel:
|
|
Hey,
erstmal Danke für die flotte Antwort.
Im Grunde ist egal in welcher Spalte die Werte stehen, ja.
Mit unique habe ich es schon probiert, das funktioniert leider nicht. In dem Fall würde es jetzt natürlich klappen, aber das gesamte läuft in eine Schleife (um die 6000 Durchläufe) ab mit nicht nur 7 bzw. 6 Werten sondern um die 5000. Dann kann es ja durchaus sein, dass in meiner Matrix B z.B. dreimal 280.42 steht. Zweimal davon bezieht es sich dann auf die 1 in Matrix A, und das dritte mal dann z.B. auf 6 aus Matrix A. Durch unique würde ich ja dann das dritte ignorieren, weil es den gleichen Zahlenwert hat wie die Werte für 1. Im Endeffekt hätte ich ja dann nur eine 5x1 Matrix und der Wert für 6 ist verschwunden.
Viele Grüße
[EDITED, Jan, Bitte nicht die gesamte vorhergehende Nachricht zitieren - Danke!]
Zuletzt bearbeitet von Ence am 07.07.2019, 09:49, insgesamt einmal bearbeitet
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 07.07.2019, 09:46
Titel:
|
|
Hallo,
Zitat: |
Mit unique habe ich es schon probiert, das funktioniert leider nicht. |
Bitte genau sagen, was du mit dem Befehl versucht hast und was daran nicht funktioniert hat.
Zitat: |
In dem Fall würde es jetzt natürlich klappen, aber das gesamte läuft in eine Schleife (um die 6000 Durchläufe) ab mit nicht nur 7 bzw. 6 Werten sondern um die 5000. Irgendwann habe ich dann zwangsläufig Überschneidungen bei den Werten aus Matrix B und komme mit unique nicht mehr weiter. |
Das verstehe ich nicht. Insbesondere: was meinst du hier mit Überschneidungen?
Am besten ein Beispiel angeben, in dem dieses Problem erfasst ist.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 08.07.2019, 11:13
Titel: Re: Zwei verknüpfte Matrizen zu einer umwandeln
|
|
Hallo Ence,
Vielleicht meinst du dies:
Gruß, Jan
|
|
|
|
|
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.
|
|