Filter löschen
Filter löschen

Inner Matrix Dimensions Must Agree

2 Ansichten (letzte 30 Tage)
shawin
shawin am 1 Sep. 2018
Bearbeitet: KALYAN ACHARJYA am 4 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?

Antworten (2)

Image Analyst
Image Analyst am 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 Kommentare
shawin
shawin am 1 Sep. 2018
Bearbeitet: shawin am 1 Sep. 2018
If we move row by row, what I mean multiply each row by a 2x2 matrix ?
Image Analyst
Image Analyst am 1 Sep. 2018
Bearbeitet: Image Analyst am 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.

Melden Sie sich an, um zu kommentieren.


KALYAN ACHARJYA
KALYAN ACHARJYA am 1 Sep. 2018
Bearbeitet: KALYAN ACHARJYA am 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 Kommentare
Stephen23
Stephen23 am 4 Sep. 2018
Bearbeitet: Stephen23 am 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 am 4 Sep. 2018
Bearbeitet: KALYAN ACHARJYA am 4 Sep. 2018
Yes @Stephen Cobeldick, Thanks for pointing the error

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by