Lsim inputs inversion provide the same result
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Lorenzo Bernardini
le 13 Avr 2022
Commenté : Lorenzo Bernardini
le 14 Avr 2022
Hello to everybody,
I am using Matlab 2019b.
Provided that sys is a transfer function written using the command tf, u a time signal and t the corresponding time vector of the same length of u.
If I write: y=lsim(sys,u,t) I get the very same result of writing y=lsim(u,sys,t), with no warnings at all. Why is this happening?
Thank you very much in advance.
0 commentaires
Réponse acceptée
Paul
le 13 Avr 2022
Interesting. A quick look at the code, at least for the case where an output argument is specified, shows that the function that parses the inputs to lsim() doesn't enforce that the first argument(s) in the list must be a dynamic system object. In fact, I don't think it enforces any order other than that u comes before t, and t comes before x0.
For example:
sys = tf(1,[1 1]);
t = 0:10;
u = rand(size(t));
method = 'foh';
y1 = lsim(sys,u,t,method);
y2 = lsim(method,u,sys,t);
isequal(y1,y2)
Not sure TMW would consider this a bug. Certainly undocumented behavior.
Did it cause a problem or just asking out of curiosity?
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Classical Control Design dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!