Effacer les filtres
Effacer les filtres

How can I fix the error when multiple two matrices?

3 vues (au cours des 30 derniers jours)
Nguyen Tuan
Nguyen Tuan le 6 Août 2015
I have two (100*1) matrices. When I multiple them, an error occured "??? Error using ==> mtimes Inner matrix dimensions must agree. Please help me to fix it

Réponse acceptée

James Tursa
James Tursa le 6 Août 2015
Did you mean element-wise multiplication? If so, use the .* operator. E.g.,
a = your 100 x 1 vector
b = your 100 x 1 vector
result = a .* b;

Plus de réponses (1)

Steven Lord
Steven Lord le 6 Août 2015
How do you want to multiply them? Element-by-element, to generate a vector the same size as x and y where each element is the product of the corresponding elements in x and y?
x = (1:10).';
y = (1:10).';
z1 = x.*y; % NOTE the period
isequal(z1(4), x(4)*y(4)) % for scalar multiplication, the * and .* operators are the same
Do you want to generate a 1-by-1, the dot product of the two vectors?
z2 = dot(x, y);
z3 = x.'*y;
isequal(z2, sum(x.*y))
isequal(z2, z3)
Do you want to generate a 10-by-10 matrix, the multiplication table for x and y?
z4 = x*y.';
isequal(z4(7, 8), x(7)*y(8))
multiplicationTable = [NaN, y.'; x, z4]

Catégories

En savoir plus sur Arithmetic Operations dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by