How to create a matrix with matrices as elements? where the matrix A contains symbolic variables

2 views (last 30 days)
Sarala Gurijala
Sarala Gurijala on 14 May 2022
Commented: Voss on 19 May 2022
  3 Comments

Sign in to comment.

Answers (1)

Voss
Voss on 14 May 2022
It may be useful to see the fact that, for matrices A, B, and C of the given sizes, the products C*B, C*A*B, C*A^2*B, etc., are all scalars, so any sum of those products is a scalar. Therefore, all those expressions are actually scalars, so it's not in fact a matrix of matrices like it seems to be at first glance.
Each of those scalars can be calculated in a for loop to perform the summation:
A = [1 2; 3 4];
B = [1; 2];
C = [1 2];
p = 7;
m = 5;
M = zeros(p,m);
for kk = 1:p % loop over rows
for jj = 1:m % loop over columns
for ii = 0:kk-jj % summation loop for element kk,jj
% note that kk<jj gives "for i = []", so this loop doesn't
% execute when kk<jj, and M(kk,jj) remains at 0.
% kk<jj corresponds to the upper triangular part of M,
% which should be all zeros, so that works out nicely.
M(kk,jj) = M(kk,jj) + C*A^ii*B;
end
end
end
M
M = 7×5
5 0 0 0 0 32 5 0 0 0 177 32 5 0 0 956 177 32 5 0 5141 956 177 32 5 27624 5141 956 177 32 148409 27624 5141 956 177
  3 Comments

Sign in to comment.

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!