Info

This question is closed. Reopen it to edit or answer.

how to multiply matrix 2 * 2 if the elements of the matrix are row vectors.

1 view (last 30 days)
fre=100:100:1000;
A=[1 9; 9 5]; % matrix 2*2
B=[1 0; cos(2.*pi.*fre) 0]; %matrix 2*2
C=A.*B; % ?? how ?? or
%C=A*B; % ???
% i need know who the elements of C
disp(C);

Answers (3)

Honglei Chen
Honglei Chen on 15 Jul 2013
B=[1 0; cos(2.*pi.*fre) 0];
will error out since it is not a 2x2 matrix. You will have to use a cell because fre is a vector. You may need to do it with cell arrays if this is what you want
a = rand(2)
b = {1 2;[3 5] 4}
c = cellfun(...
@times,b,arrayfun(@(x)x,a,'UniformOutput',false),'UniformOutput',false)

Andrei Bobrov
Andrei Bobrov on 16 Jul 2013
fre=100:100:1000;
b = [1 0;0 0];
B = repmat(b,1,1,numel(fre));
B(2,1,:) = cos(2.*pi.*fre);
A=[1 9; 9 5];
C1 = bsxfun(@times,A,B); % times
C2 = reshape(A*reshape(B,2,[]),size(A,1),size(A,2),[]); % mtimes

Ed
Ed on 16 Jul 2013
thanks .. I will review the information

This question is closed.

Community Treasure Hunt

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

Start Hunting!