# Multiply parts of matrices

3 Ansichten (letzte 30 Tage)
Tiffany am 30 Nov. 2011
Hello everyone - many thanks for taking the time to read this.
Matrix A is 63x63 and Matrix B is 63x7
I want to multiply every 9x9 of Matrix A with every 9x1 of Matrix B.
So the first:
9x9 in matrix A with the first 9x1 in Matrix B
1 2 3 4 5 6 7 8 9 1
1 2 3 4 5 6 7 8 9 2
1 2 3 4 5 6 7 8 9 3
1 2 3 4 5 6 7 8 9 4
1 2 3 4 5 6 7 8 9 5
1 2 3 4 5 6 7 8 9 6
1 2 3 4 5 6 7 8 9 7
1 2 3 4 5 6 7 8 9 8
1 2 3 4 5 6 7 8 9 9
Then the second 9x9 to the right in matrix A with the second 9x1 in matrix B.
I'm currently doing it using cells which is great but need to be able to do it outside of cell format.
What would you recommend?
##### 2 KommentareKeine anzeigenKeine ausblenden
Sean am 1 Dez. 2011
What's wrong with using cells?
Tiffany am 1 Dez. 2011
Absolutely nothing but this has to go in part of a loop where using cells has proved to be very difficult.

Melden Sie sich an, um zu kommentieren.

### Akzeptierte Antwort

Andrei Bobrov am 1 Dez. 2011
variant 1
A = randi(100,8,6);
B = randi(50,4,3);
[m n] = size(A);
q = 4;
p = 2;
a1 = reshape(permute(reshape(A,q,m/q,p,[]),[1 3 2 4]),q,p,[]);
out = reshape(sum(bsxfun(@times,a1,reshape(B,1,p,[])),2),m,[]);
##### 0 Kommentare-2 ältere Kommentare anzeigen-2 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

### Weitere Antworten (1)

Walter Roberson am 30 Nov. 2011
When you say multiply the 9x9 by the 9x1, is that a matrix multiplication (which would output a 9x1), or is that an element-by-element multiplication producing 9 x 9 with each row in A multiplied the (single) value from the corresponding column in B ?
##### 4 Kommentare2 ältere Kommentare anzeigen2 ältere Kommentare ausblenden
Tiffany am 1 Dez. 2011
Brill, I'll check that out. Thanks!
Walter Roberson am 1 Dez. 2011
Correction:
Bcol = 1 + (block_struct.location(2) - 1)/9

Melden Sie sich an, um zu kommentieren.

### Kategorien

Mehr zu Shifting and Sorting Matrices finden Sie in Help Center und File Exchange

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by