Clear Filters
Clear Filters

Extracting square matrices from another matrix

3 views (last 30 days)
Hello,
I have a 7x273 matrix from which I want to extract 39 7x7 matrices to compute a product of matrix exponentials. For example: expm(A1*t)*expm(A2*t)*expm(A3*t)*....*expm(A39*t) where each matrix Ai has a size of 7x7. I can extract them individually but now I'm confused since I need a simultaneous extraction and multiplication. Any suggestions?
Thank you.

Accepted Answer

Stephen23
Stephen23 on 27 Nov 2015
Edited: Stephen23 on 27 Nov 2015
% fake input data:
t = 0.3;
A = rand(7,273);
%
C = mat2cell(A,7,7*ones(1,39));
Z = expm(C{1}*t);
for k = 2:39
Z = Z*expm(C{k}*t);
end

More Answers (1)

Stalin Samuel
Stalin Samuel on 27 Nov 2015
t = 0.2;%for example
tet = rand(7,273);%your matrix
a1 = tet(:,1:7);
n1 = 1;
n2 = 7;
a1 = tet(:,n1:n2);
prdt = ones(size(a1));
for n = 1:38
prdt =prdt*expm(a1*t);%product
n1 = n2+1;
n2 = n2+7;
a1 = tet(:,n1:n2);
end

Community Treasure Hunt

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

Start Hunting!