フィルターのクリア

Multiply a set of matrices (3D array) by a vector of values

1 回表示 (過去 30 日間)
SuperNano
SuperNano 2016 年 7 月 7 日
コメント済み: SuperNano 2016 年 7 月 7 日
I have a 3D array (a) such that size(a) = [n,n,m]. I also have a vector (v) of length(v) = m. I would like to multiply each element from my vector with each 2D matrix in my array. Is there a way to do this without a for loop. To clarify, using a for loop it would be:
for i = 1:m
b(:,:,i) = v(i)*a(:,:,i);
end

採用された回答

Azzi Abdelmalek
Azzi Abdelmalek 2016 年 7 月 7 日
編集済み: Azzi Abdelmalek 2016 年 7 月 7 日
% -------Example-----------------
M=randi(3,3,2,4)
v=1:4
%--------------------------------
bsxfun(@times,M,reshape(v,1,1,4))
  1 件のコメント
SuperNano
SuperNano 2016 年 7 月 7 日
WOW that was fast and effective... thanks!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMatrices and Arrays についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by