www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Matlab" - Matrix Multiplikation
Matrix Multiplikation < Matlab < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Matrix Multiplikation: Idee
Status: (Frage) überfällig Status 
Datum: 15:48 Mi 16.12.2009
Autor: babapapa

Hallo!

Ich tüftle gerade etwas mit Matrixmultiplikationen herum, aber das folgende Beispiel habe ich nur sehr langatmig (damit meine ich dass das verfahren zu langsam ist) implementiert.

Hier ist die Multiplikation schematisch dargestellt:
[Dateianhang nicht öffentlich]
[]Alternativ: Link zum Bild


Ich will also convolution anwenden.
sprich:

x'_{i,j} = [mm] \sum_{k=-1}^{1} \sum_{l=-1}^{1} A_{i+k,j+k} [/mm] . x{i+k,j+l}

Das ganze funktoniert normalerweise mit conv2, aber nun habe ich statt koeffizienten, funktionen in der matrix A, welche wiederum von [mm] x_{i,j} [/mm] und [mm] x_{i+k,k+l} [/mm] abhängig sind.


Anbei mal mein aktueller (sehr sehr sehr prototypischer) Code:







1:
2: for i = 1:rows_x;
3:     for j = 1:columns_x;
4:         
5:         if (i-1 > 0 && j-1 > 0)
6:             y_kl = pwlsig(x(i-1,j-1));
7:             tmp(i,j) = tmp(i,j) + globmax(x(i,j),y_kl) * y_kl;
8:         end;
9:         
10:         if (i-1 >= 1)
11:             y_kl = pwlsig(x(i-1,j));
12:             tmp(i,j) = tmp(i,j) + globmax(x(i,j),y_kl) * y_kl;
13:         end;
14:         
15:         if (i-1 > 0 && j+1 <= columns_x)
16:             y_kl = pwlsig(x(i-1,j+1));
17:             tmp(i,j) = tmp(i,j) + globmax(x(i,j),y_kl) * y_kl;
18:         end;
19:            
20:         
21:         if (j-1 > 0)
22:             y_kl = pwlsig(x(i,j-1));
23:             tmp(i,j) = tmp(i,j) + globmax(x(i,j),y_kl) * y_kl;
24:         end;
25:         
26:         y_kl = pwlsig(x(i,j));
27:         tmp(i,j) = tmp(i,j) + y_kl;
28:         
29:         if (j+1 <= columns_x)
30:             y_kl = pwlsig(x(i,j+1));
31:             tmp(i,j) = tmp(i,j) + globmax(x(i,j),y_kl) * y_kl;
32:         end;
33:         
34:         
35:         if (i+1 <= rows_x && j-1 > 0)
36:             y_kl = pwlsig(x(i+1,j-1));
37:             tmp(i,j) = tmp(i,j) + globmax(x(i,j),y_kl) * y_kl;
38:         end;
39:         
40:         if (i+1 <= rows_x)
41:             y_kl = pwlsig(x(i+1,j));
42:             tmp(i,j) = tmp(i,j) + globmax(x(i,j),y_kl) * y_kl;
43:         end;
44:         
45:         if (i+1 <= rows_x && j+1 <= columns_x)
46:             y_kl = pwlsig(x(i+1,j+1));
47:             tmp(i,j) = tmp(i,j) + globmax(x(i,j),y_kl) * y_kl;
48:         end;
49:     end;
50: end;
51:



Dateianhänge:
Anhang Nr. 1 (Typ: png) [nicht öffentlich]
        
Bezug
Matrix Multiplikation: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 16:20 Sa 19.12.2009
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]