vector multiplied a matrix

3 次查看(过去 30 天)
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
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
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
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;

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Matrices and Arrays 的更多信息

产品


版本

R2014b

Community Treasure Hunt

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

Start Hunting!

Translated by