Multiply each column by a elements of cell array
2 ビュー (過去 30 日間)
古いコメントを表示
hey
i have a matrix like this:
matrix=
0 2 4
3 0 0
0 1 0
3 0 1
0 0 0
and cell array: mul={1,1,0.6,0.6,0.3}
i want to multiply all columns by 'mul' and then add. e.g. [0x1 + 3x1 + 0x0.6 + 3x0.6 + 0x0.3] and same for all other columns.
Thanks
0 件のコメント
採用された回答
その他の回答 (2 件)
Guillaume
2017 年 6 月 13 日
Conceptually it would make a lot more sense for your cell array to be a column rather than a row.
Anyway, the easiest way to do what you want is to convert your cell array into a column vector. It is then trivial to multiply it with the matrix:
result = sum(matrix .* cell2mat(mul')); %requires R2016b or later
%in <R2016b: result = sum(bsxfun(@times, matrix, cell2mat(mul')));
参考
カテゴリ
Help Center および File Exchange で Creating and Concatenating Matrices についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!