Hi, I need this multiplication and I can't whats wrong
f=c.*T
where c and T are the attached files.
so I expect a raw vector f where:
f_11 = c_11*T_11 + c_12*T_21 + c_13*T_31 + c_14*T_41 + c_15*T_51;
f_12= c_11*T_12 + c_12*T_22 + c_13*T_32 + c_14*T_42 + c_15*T_52;
and so on.
It's really stupid i know, but I can''t figured out why it's not working.
c has 1 colum and 5 rows, T has 101 colums and 5 rows.

4 件のコメント

James Tursa
James Tursa 2020 年 6 月 11 日
What version of MATLAB are you running?
Paul Rogers
Paul Rogers 2020 年 6 月 11 日
2014b
James Tursa
James Tursa 2020 年 6 月 11 日
Your notation is confusing. You say c has 5 rows and 1 column, yet you use c_12 in your example indicating it has 1 row and 5 columns.

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

 採用された回答

James Tursa
James Tursa 2020 年 6 月 11 日
編集済み: James Tursa 2020 年 6 月 11 日

1 投票

Maybe this is what you want if c is 5 x 1 and T is 5 x 101:
f = c.' * T;

その他の回答 (1 件)

the cyclist
the cyclist 2020 年 6 月 11 日

1 投票

If your version of MATLAB is older than R2016b, then c will not be "implicitly expanded" to the size of T. You can do the following to get what you want:
f = bsxfun(@times,c,T)

2 件のコメント

Paul Rogers
Paul Rogers 2020 年 6 月 11 日
I've just did it but I expeted f to be a raw not a matrix.
the cyclist
the cyclist 2020 年 6 月 11 日
Sorry, I missed that you wanted the sum. What you want is actually a matrix multiplication, not an element-wise multiplication, which is the syntax you were trying to use. I think you want this:
f = T'*c;

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

カテゴリ

製品

リリース

R2014b

Community Treasure Hunt

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

Start Hunting!

Translated by