«Предупреждение: симуляция начнется с ненулевого начального времени», как я могу исправить эту ошибку? - PullRequest
0 голосов
/ 12 февраля 2020

Это мой код, как мне избежать «Предупреждение: симуляция начнется с ненулевого начального времени.»?

A=[1]
B=[0.12]
C=[1]
D=[0]
u=[-0.0137 -0.012 -0.009 -0.005 -0.003 -0.003 0.001];
x0 = 0.9914;
Ts=1;
sistema=ss(A,B,C,D,Ts)
t=[2013 2014 2015 2016 2017 2018 2019];    
y=lsim(sistema,u,t,x0);
plot(t,y) 

Ответы [ 2 ]

1 голос
/ 13 февраля 2020

Поскольку вы моделируете систему, не зависящую от времени, вы можете просто сместить вектор времени, чтобы он начинался с нуля при вызове команды lsim. Результирующий вектор y будет одинаковым в обоих случаях, но смещенный регистр не будет иметь предупреждения:

>> y = lsim(sistema,u,t,x0)
Warning: Simulation will start at a nonzero initial time. 
y =
  0.9914
  0.9898
  0.9883
  0.9872
  0.9866
  0.9863
  0.9859

>> y = lsim(sistema,u,t-t(1),x0)
y =
  0.9914
  0.9898
  0.9883
  0.9872
  0.9866
  0.9863
  0.9859
0 голосов
/ 14 февраля 2020

Как @Kavka предложил также, как я бы исправил предупреждение; однако вы можете вернуть это предупреждение, используя warning (https://www.mathworks.com/help/matlab/ref/warning.html#d118e1583587). Используйте lastwarn, чтобы получить предупреждение

...