Solving the matrix dimention for expm function
이전 댓글 표시
Good afternoon,
I and working in the code bellow. I have an error message Arrays have incompatible sizes for this operation.
time=0:0.01:2*pi; %time vector
H=[0 1 0 0 0;1 0 0 0 0;0 0 1 0 1;0 0 0 1 1;0 0 1 1 0];
B = [2 ;-2 ];
C=[0.1 + 0.010i;0.2 + 0.0010i; 0.1 + 0.0020i;-0.4 + 0.001i;0.8 - 0.7i];
for k1 = 1:numel(time)
y(:,k1) = expm(H*time(k1))*C.*B;
end
figure(1)
plot(time,y)
grid
I really appreciate any help and suggestions
댓글 수: 4
Torsten
2021년 5월 25일
expm(H*time(k1)) is 5x5
C is 5x1,
so expm(H*time(k1))*C is 5x1.
So B had to be 5x1 instead of 2x1.
Adrian Brown
2021년 5월 25일
Torsten
2021년 5월 25일
If B is 5x1,
y(:,k1) = (expm(H*time(k1))*C).*B
should work.
Adrian Brown
2021년 5월 25일
답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 MATLAB에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!