Filter löschen
Filter löschen

Is there a better to multiply matrices with is pattern?

2 Ansichten (letzte 30 Tage)
John
John am 9 Mär. 2013
I have a 2 x 2 matrix A = [1 2; 3 4] and a 100 x 1 column vector B = [1 2 3 4 5 6 . . . 100]' and I want to multiply matrix A with each 2x1 sub-vector of B.
For example : [1 2; 3 4] * [1 2]
[1 2; 3 4] * [3 4]
[1 2; 3 4] * [5 6]
.
.
.
[1 2; 3 4] * [99 100]
How can I do this efficiently in code and store the results into one column vector?

Akzeptierte Antwort

Cedric
Cedric am 9 Mär. 2013
Just
C = A * reshape(B, 2, []) ;
will produce a 2x50 C matrix whose columns are the 50 solutions.

Weitere Antworten (1)

Azzi Abdelmalek
Azzi Abdelmalek am 9 Mär. 2013
Bearbeitet: Azzi Abdelmalek am 9 Mär. 2013
Example
A=rand(2)
B=rand(1000,1)
B=reshape(B,2,[])
out=arrayfun(@(x) A*B(:,x),1:size(B,2),'un',0)
% You can get the result as one matrix
out=cell2mpat(out)

Kategorien

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

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by