Inner Matrix Dimensions Must Agree

6 vues (au cours des 30 derniers jours)
shawin
shawin le 1 Sep 2018
I have a matrix of 119 x 1 and Z is 119 x 119
should multiply it by a diagonal matrix of 2 x 2:
W = [0.12 0 ;
0 0.28];
d=sqrt(W*X'*Z*X*W);
I am receiving an error which is:
Inner Matrix Must agree!!
Please, any suggestion?

Réponses (2)

Image Analyst
Image Analyst le 1 Sep 2018
That can never work. If all you have is dimensions of 119 and 1, then there is no way you can do anything to get 2 rows or 2 columns, no matter what you do or how you manipulate (transpose) them. The result will always have dimensions of 119 and/or 1 - never 2. Therefore, you will never be able to right multiply, or left multiply, by a 2-by-2 matrix W.
  2 commentaires
shawin
shawin le 1 Sep 2018
Modifié(e) : shawin le 1 Sep 2018
If we move row by row, what I mean multiply each row by a 2x2 matrix ?
Image Analyst
Image Analyst le 1 Sep 2018
Modifié(e) : Image Analyst le 1 Sep 2018
A row is a 1-by-N array, and that cannot be multiplied by a 2-by-2 matrix. If you have two matrices, an a-by-b called m1, and a c-by-d matrix called m2, then to do m1*m2 you must have b equal c, and if you do m2*m1 you must have d equal a. That's just basic matrix algebra rules.

Connectez-vous pour commenter.


KALYAN ACHARJYA
KALYAN ACHARJYA le 1 Sep 2018
Modifié(e) : KALYAN ACHARJYA le 4 Sep 2018
  • Matrix multiplication rows of the first matrix should be equal columns of the second matrix
  • you have considering one matrix is 2x2 order, how can you do the multiplication with 1x119 or 119x119
x=rand(119,1); )%Order 119x1
z=rand(119,119); %Order 119x119
w=[0.12 0; 0 0.28]; %Order 2x2
%x' order 1x119
d=sqrt(w.*x'*z.*x.*w); %This does not work, check the order of all Matrixes
Learn Matrix multiplication here
  4 commentaires
Stephen23
Stephen23 le 4 Sep 2018
Modifié(e) : Stephen23 le 4 Sep 2018
"Matrix multiplication rows of the first matrix should be equal columns of the second matrix or vice versa"
The number of columns of the first matrix must be equal to the number of rows of the second matrix. There is certainly no "vice versa" involved.
KALYAN ACHARJYA
KALYAN ACHARJYA le 4 Sep 2018
Modifié(e) : KALYAN ACHARJYA le 4 Sep 2018
Yes @Stephen Cobeldick, Thanks for pointing the error

Connectez-vous pour commenter.

Catégories

En savoir plus sur Operators and Elementary 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