How to multiplicate two block matrices with following conditions?
조회 수: 2 (최근 30일)
이전 댓글 표시
I have a block diagonal matrix P with size 500*500 like this
P=[A 0 0
0 A 0
0 0 A...
... ];
each element A on the diagonal is a (m*n) matrix and there are T number of these matrices. (i.e. There are T elements on the diagonal and T is a large number like 500) I want to multiply each diagonal element(which is a matrix), with one of the elements of another block matrix V that is like this:
V=[B1;B2;...,BT]
%there are again so many Bi; (T=500);
%Each Bi is a (n*1) vector
Each A on the diagonal should be multiplied to the corresponding B.
In other words we want to calculate a block by block multiplication. One block of matrix P is multiplied by the corresponding block of V. Although A is (m*n) and Bi is (n*1), but when we do P*V, it gives this Error: "Inner matrix dimensions must agree."
댓글 수: 2
James Tursa
2017년 2월 14일
"... I want to multiply each diagonal element(which is a matrix), with each one of the elements of another block matrix ... "
"... There exists one A for each B ..."
So, which is it? Multiply each A by each B, or multiply only one A for each B? Can you write down in pseudo-code what the result would look like?
답변 (1개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Operating on Diagonal Matrices에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!