|
annikilla |
Forum-Anfänger
|
|
Beiträge: 18
|
|
|
|
Anmeldedatum: 09.09.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 2012b
|
|
|
|
|
|
Verfasst am: 24.02.2020, 14:43
Titel: Matrizen verrechnen
|
|
Hallo ihr lieben
ich habe ein Problem bei dem ich nicht mehr weiter komme, hab aber auch nicht so viel Ahnung von Matlab.
Ich habe zwei Matrizen,
R [30x2] und u [2x18000]
ich würde die beiden gerne miteinander verrechen, allerdings so, dass ich die jeweils ersten beiden Zeilen von R mit Zeile 1 bis 600 von u verrechne, dann Zeilen 3 und 4 von R mit Zeile 601:1200 von u usw. Also im Prinzip immer [2x2] mit [2x1].
Das Ergebnis sollte dann wieder eine [2x18000] Matrix ergeben.
Vllt hat ja jemand eine Idee
Beste Grüße
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 24.02.2020, 14:54
Titel:
|
|
Hallo,
selbst wenn es ohne gehen sollte, dürfte eine for-Schleife am verständlichsten sein.
Bei u meinst du Spalten? Das hat ja nur 2 Zeilen. Oder liegt das in der Dimensionsangabe?
Was bedeutet "verrechnen"? Addition, Multiplikation, irgendwas anderes?
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 ;)
|
|
|
annikilla |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 18
|
|
|
|
Anmeldedatum: 09.09.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 2012b
|
|
|
|
|
|
Verfasst am: 24.02.2020, 14:58
Titel:
|
|
oh ja genau, bei u meine ich Spalten und die würde ich gerne multiplizieren.
Hab mich schon an einer for Schleife versucht, aber so wirklich komme ich da nicht auf das gewünschte Ergebnis.
Beste Grüße!
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 24.02.2020, 15:15
Titel:
|
|
Hallo,
dann poste doch mal bitte deine Schleife, und dann kann man drüber schauen. Nutzt du tatsächlich noch R2012b??
Sollen die Werte elementweise multipliziert werden oder wie?
Ein kleines Beispiel (z.B. 3x2 und 2x6) mit Daten und gewünschten Ergebnissen würde beim Testen helfen.
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 ;)
|
|
|
annikilla |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 18
|
|
|
|
Anmeldedatum: 09.09.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 2012b
|
|
|
|
|
|
Verfasst am: 24.02.2020, 16:09
Titel:
|
|
Hallo,
ja, leider nutze ich tatsächlich immer noch 2012b... Studenten bekommen bei mir am Unternehmen leider nichts besseres :/
so sieht das bei mir aus, aber das stimmt glaub leider gar nicht. Bin aber auch wirklich ziemliche Anfängerin. Auszug der Matritzen findest du unten:
Beste grüße
Annika
R:
0.5856 0.8961
0.5627 -0.4698
0.5622 -0.4999
0.5401 -0.8907
0.5377 -0.805
-0.8105 0.5856
u:
12.0287 -12.8786 -9.47901
-2.8941 0.1882 8.5598
Gewünschtes Ergebnis ist ein bisschen schwierig darzustellen, da die ersten 600 Spalten von u mit der Matriz aus den ersten beiden Zeilen von R multipliziert werden soll. Die ersten zwei Spalten wären folgende:
4.4505 -7.3730
8.1289 -7.3357
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 24.02.2020, 16:21
Titel:
|
|
Hallo,
für mich macht das einen ganz vernünftigen Eindruck. Man sollte aber mit einer Schleife auskommen können, und dann ist es vielleicht sogar einfacher.
Meinst du wirklich Matrixmultiplikation, oder elementweise?
Stimmt es, dass du das auf jeweils 600 Spalten anwenden willst? Dann hättest du ja bei Zeilen 29 und 30 die Spalten 8401:9000, oder?
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 ;)
|
|
|
annikilla |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 18
|
|
|
|
Anmeldedatum: 09.09.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 2012b
|
|
|
|
|
|
Verfasst am: 24.02.2020, 16:31
Titel:
|
|
Hallo Harald,
ich glaube ich habe von Anfang an einen Fehler gemacht. Mein u ist tatsächlich [2x9000] und eine Matrix in der Größe soll auch rauskommen. Hab irgendwie falsch gedacht.
Und ja, ich möchte Matritzenmultiplikation machen, so dass ich theoretisch immer 600 mal die gleiche 2x2 Matrix mit jeweils einer Spalte von u multipliziere, dann zwei nach unten springe und die nächste 2x2 Matrix mit den Spalten 601:1200 mulitpliziere.
Leider kommt bei mir nur eine Fehlermeldung.
Danke dir!
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 24.02.2020, 16:39
Titel:
|
|
Hallo,
ich würde es so versuchen:
Falls das nicht klappt oder falsche Ergebnisse liefert, bitte eine genaue Beschreibung des Problems / der Fehlermeldung geben.
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 ;)
|
|
|
annikilla |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 18
|
|
|
|
Anmeldedatum: 09.09.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 2012b
|
|
|
|
|
|
Verfasst am: 24.02.2020, 17:24
Titel:
|
|
vielen dank, das funktioniert super!!
|
|
|
|
|
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.
|
|