在MATLAB中绘制时间图

在MATLAB中绘制时间图,matlab,plot,Matlab,Plot,我在MATLAB中有一个这种形式的函数 C=S*e^(L*t)*inv(S)*C_0 我的 S=[-2 -3;3 -2] L=[0.5 0; 0 1.5] C_0=[1; 1] 我需要画出这个关于时间的函数。我的输出C是一个2乘1的矩阵 我所做的是使用b=expm(L)分别计算e^L,然后在函数中插入mpower(b,t)。因此,我在脚本中生成的函数如下所示 b=expm(L); C=S*mpower(b,t)*inv(S)*C_0; 现在,我该如何

我在MATLAB中有一个这种形式的函数

C=S*e^(L*t)*inv(S)*C_0
我的

     S=[-2 -3;3 -2] 
     L=[0.5 0; 0 1.5]
     C_0=[1; 1]
我需要画出这个关于时间的函数。我的输出C是一个2乘1的矩阵

我所做的是使用b=expm(L)分别计算e^L,然后在函数中插入mpower(b,t)。因此,我在脚本中生成的函数如下所示

  b=expm(L);
  C=S*mpower(b,t)*inv(S)*C_0;

现在,我该如何开始绘制这个w.r.t时间。我试图定义时间向量,然后使用它,但很明显,我得到了错误信息,表示矩阵维数不一致。有人能给我一个建议吗?

你可以用矢量化的方式来做,但是如果你不担心速度或简洁的代码,为什么不为循环编写一个

ts = 1 : 100;
Cs = zeros(2, length(ts) );

S = [-2 -3;3 -2];
L = [0.5 0; 0 1.5];
C_0 = [1; 1];

for ii = 1 : length(ts)
  b = expm(L);
  Cs(:,ii) = S*mpower(b,ts(ii))*inv(S)*C_0;
end
ts
包含时间值,
Cs
包含每次
C
的值