how to multiply 2 matrix A of dimension 5*4 and matrix B of dimension 4*1 upto k times?
1 回表示 (過去 30 日間)
古いコメントを表示
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 件のコメント
採用された回答
Birdman
2018 年 2 月 27 日
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))
その他の回答 (1 件)
Andrei Bobrov
2018 年 2 月 27 日
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 件のコメント
参考
カテゴリ
Help Center および File Exchange で Logical についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!