how to multiply 2 matrix A of dimension 5*4 and matrix B of dimension 4*1 upto k times?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
PLACEIUS NISHIGA G
le 27 Fév 2018
Commenté : Andrei Bobrov
le 27 Fév 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 commentaires
Réponse acceptée
Birdman
le 27 Fév 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 commentaires
Plus de réponses (1)
Andrei Bobrov
le 27 Fév 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 commentaires
Voir également
Catégories
En savoir plus sur Logical dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!