Как дать дискретный вклад в уравнение завода?
У меня есть уравнение растений. Скажем,
Plant = tf([0 1] ,[1 1],'InputDelay',1);
t = 1:1:100;
Теперь у меня есть входное значение a = 0.0552, в момент времени t = 1. Я хочу вычислить выход растения при t = 1 (что также должно быть числовым значением!) Как это сделать!
Если я задаю вход a (1) = 0,5552 при t = 1, то y (выход) рассчитывается только на основе (1).
Точно так же при t = 2 мой вход является (2) = 0,4481(скажем)....
в момент времени t=3 a(3)=0,4100 ... Итак, как мне получить правильные значения y (t1, a1), y (t2, a2)....
2 ответа
Я нахожу это после долгих поисков.. Вместо использования уравнения в форме Лапласа. Нам нужно использовать дифференциальную форму, с помощью метода runge -kutta это можно решить (то есть, чтобы получить результат в числовом приближенном выражении)
У вас в основном есть шаг ввода значения 0.0552
, Вы можете легко использовать функцию step
для этого как:
Plant = tf([0 1] ,[1 1],'InputDelay',1);
t = 1:1:100;
opt = stepDataOptions;
opt.StepAmplitude = 0.0552;
step(Plant, t, opt);
Это создаст следующий сюжет:
Если вы хотите не строить график, а получить ответ, просто перехватите вывод шага:
y=step(Plant, t, opt);