|
|
Wandernder Multiplikator? |
|
Bastl |

Forum-Newbie
|
 |
Beiträge: 2
|
 |
|
 |
Anmeldedatum: 10.08.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 10.08.2012, 08:28
Titel: Wandernder Multiplikator?
|
 |
|
 |
|
Moin Allerseits.
Ich versuche gerade ein für mich kniffliges Problem zu lösen. Und zwar möchte ich eine 4x4-Matrix (Daten -
mit contourf zu plotten: contourf(x,y,daten) )
mit einer 3x3-Matrix (Multiplikator) multiplizieren lassen, sodass der Multiplikator links oben beginnt, nach rechts wandert und dass vorige Ergebnis mitmultipliziert. Dann soll er dasselbe mit der letzten Zeile wiederholen. Heraus kommen sollte eine 4x4-Matrix. Zum besseren Verständnis erkläre ich den Code unterhalb nochmal.
Erläuterung:
Der Multiplikator ist eine 3x3-Matrix mit den Werten von "multi". Die Daten (4x4-Matrix "daten") sollen folgendermaßen multipliziert werden. Als Erstes werden die ersten drei Zeilen und ersten drei Spalten der "daten" mit "multi" multipliziert. Hier soll eine 4x4-Matrix herauskommen, die so aussieht: Ergebnis_1=[-1 -4 -3 1;2 16 6 1;-1 -10 -2 1;1 1 3 1]. Dabei bleiben Spalte 4 und Zeile 4 mit den Daten identisch. Nun soll dieses Ergebnis wieder mit "multi" multipliziert werden, aber nun die letzten drei Spalten und ersten drei Zeilen. "multi" rückt also nach rechts. Das darauf folgende Ergebnis soll dann wieder multipliziert werden, dann die letzten drei Zeilen und die ersten drei Spalten und zum Schluss soll dieses Ergebnis dann multipliziert werden, also die letzten drei Spalte und die letzten drei Zeilen.
Ich hoffe, dass das einigermaßen klar geworden ist, denn ich komm einfach nicht auf eine Lösung, die das machen kann...
Mein Programm soll ja laut meinem Befehl aus zwei 3x3-Matrizen durch eine Schleife eine 4x4-Matrix erstellen, hier gibt es aber Probleme mit der Dimension.
Ich würde mich freuen, wenn dieses Problem jemand zu lösen vermag
Vielen Dank schonmal im Voraus
|
|
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 17.08.2012, 22:01
Titel: Re: Wandernder Multiplikator?
|
 |
Hallo Bastl,
Schau Dir mal den Befehl CONV2 an.
Es ist nicht klar, was "das vorherige Ergebnis mitmultiplizieren" bedeutet. Ausserdem startest Du mit einer 4x4 und einer 3x3 Matrix. Dann ist dies unklar:
Zitat: |
Mein Programm soll ja laut meinem Befehl aus zwei 3x3-Matrizen durch eine Schleife eine 4x4-Matrix erstellen, ... |
Gruß, Jan
|
|
|
Bastl |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 2
|
 |
|
 |
Anmeldedatum: 10.08.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 27.08.2012, 11:56
Titel:
|
 |
|
 |
|
Moin,
danke für die Antwort. Mit einer Konvolution (conv2) funktioniert das leider nicht, schade eigentlich, das wäre echt fein. Ebenso mit der Funktion "filter2" nicht.
Das mit der Multiplikation ist so gemeint:
Die Daten [1 2 3 1;1 4 3 1;1 5 2 1;1 1 3 1] sollen mit [-1 -2 -1;2 4 2;-1 -2 -1]
multipliziert werden, wobei der Multiplikator oben links anfängt, nach unten läuft, dann nach rechts oben und schließlich unten rechts endet. Zum besseren Verständnis hier die Zwischenergebnisse:
Daten mal Multiplikator oben links: [-1 -4 -3 1;2 16 6 1;-1 -10 -2 1;1 1 3 1];
Dieses Ergebnis mal Multiplikator unten links:
[-1 -4 -3 1;-2 -32 -6 1;-2 -40 -4 1;-1 -2 -3 1];
Dieses Ergebnis mal Multiplikator oben rechts:
[-1 4 6 -1;-2 -64 -24 2;-2 40 8 -1;-1 -2 -3 1];
Das Endergebnis ist dann dieses Ergebnis mal Multiplikator unten rechts:
[-1 4 6 -1;-2 64 48 -2; -2 80 32 -2;-1 2 6 -1].
Ich hoffe, jetzt ist es klar geworden.
Ich habe auch probiert, den Multiplikator als 4x4 Matrix aufzuschreiben, und dabei die 3x3-Matrix mit 1 aufgefüllt, um dann mit "circshift" den Multiplikator in sich wandern zu lassen. Per Hand hat das funktioniert, aber dann habe ich alle Zwischenergebnisse:
Wollte ich dass dann bspw. auf eine 40x50 Matrix oder mehr anwenden, dann schreibe ich mich zu Tode.
Hierzu bräuchte ich eine Schleife, die eben den Multiplikator wandern lässt. Die bekomme ich einfach nicht hin...
|
|
|
|
|
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.
|
|