Inner Matrix Dimensions Must Agree
1 次查看(过去 30 天)
显示 更早的评论
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?
0 个评论
回答(2 个)
Image Analyst
2018-9-1
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 个评论
Image Analyst
2018-9-1
编辑:Image Analyst
2018-9-1
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.
KALYAN ACHARJYA
2018-9-1
编辑:KALYAN ACHARJYA
2018-9-4
- 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
4 个评论
KALYAN ACHARJYA
2018-9-4
编辑:KALYAN ACHARJYA
2018-9-4
Yes @Stephen Cobeldick, Thanks for pointing the error
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!