WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Kombination von Matrizen

 

Diavolo1990
Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 09.11.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.11.2015, 22:14     Titel: Kombination von Matrizen
  Antworten mit Zitat      
Hallo Zusammen,
ich habe eine Matrix die folgendermaßen aussieht:

1 2
1 3
2 3

Die zweite Matrix sieht so aus:

1 0 0
0,35 1 0
0,5 0,45 0

Die zweite Spalte der ersten Matrix gibt die Zeilen-Position in der zweiten Matrix an. Die erste Spalte in der ersten Matrix gibt die Spalten-Position in der zweiten Matrix an.
Sprich: Zeile 1 der ersten Matrix entspricht Zeile 2, Spalte 1 aus der zweiten Matrix.
Wie kann ein Befehl/Code aussehen, der mir mit den Angaben aus der ersten Matrix die entsprechenden Werte aus der zweiten Matrix ausliest?

Kann mir jemand helfen, wie man dieses Problem in Matlab umsetzen kann?
Vielen Dank im Voraus!
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 09.11.2015, 22:39     Titel:
  Antworten mit Zitat      
Hallo,

mit sub2ind kannst du einen linearen Index erzeugen und diesen auf die Matrix anwenden. Und daran denken: in MATLAB ist . das Dezimaltrennzeichen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Diavolo1990
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 09.11.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.11.2015, 11:11     Titel:
  Antworten mit Zitat      
Hallo Harald,
vielen Dank für deine Antwort. Leider habe ich es noch nicht hinbekommen.

Die erste Matrix ssieht folgendermaßen aus:
Code:

A=[1 2;1 3;2 3];


Die zweite Matrix sieht s aus:
Code:

B=[1 0 0;0.5 1 0;0.45 0.3 1];
 

Die Werte 1 und 2 aus der ersten Zeile der Matrix A sollen bedeuten, dass der Wert aus Spalte 1 und Zeile 2 aus Matrix B ausgelesen werden soll und in einen neuen Vektor eingetragen werden soll (also 0.5). Das gleiche so für die zweite Zeile der Matrix A geschehen. Sprich 1 und 3 bedeuten, dass der Wert aus ersten Spalte und dritten Zeile aus Matrix B ausgelesen werden soll (also 0.45).

Wie müsste für diesen Anwendungsfall der Code aussehen?
Vielen Dank im Voraus.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 10.11.2015, 21:02     Titel:
  Antworten mit Zitat      
Hallo,

grundsätzlich bitte immer dazuschreiben, was du genau versucht hast und welche Probleme dabei aufgetreten sind.

Der Vorschlag:
Code:
idx = sub2ind(size(B), A(:,2), A(:,1));
B(idx)


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.