how to multiply 2 matrix A of dimension 5*4 and matrix B of dimension 4*1 upto k times?
1 view (last 30 days)
Show older comments
PLACEIUS NISHIGA G
on 27 Feb 2018
Commented: Andrei Bobrov
on 27 Feb 2018
this is the code we tried .But we are not getting appropriate output
clc;
clear all;
m=5;
n=4;
k=3;
x=2*randint(n,1)-1;
p=rand(m,n,k);
y(m,1,k)=p(m,n,k).*x(n,1);
3 Comments
Accepted Answer
Birdman
on 27 Feb 2018
Firstly, x variable here is not 4x1 and also .* means elementwise multiplcation but you want to do matrix multiplication, therefore use the following code(Note that whatever your size is, which is k in this case, the matrices are going to be multiplied):
m=5;n=4;k=3;
x=2*randi(n,[n 1])-1
p=rand(m,n,k)
p2D=reshape(permute(p,[1 3 2]),[],size(p,2));
y=reshape(p2D*x,size(p,1),[],size(p,3))
2 Comments
More Answers (1)
Andrei Bobrov
on 27 Feb 2018
m=5;
n=4;
k=3;
x = 2*(rand(n,1) > .5) - 1;
p = rand(m,n,k);
y = squeeze(sum(bsxfun(@times,p,reshape(x,1,[])),2))
2 Comments
See Also
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!