MATLAB Answers


any input function to transfer functionm

Asked by John Krzykacz on 12 Mar 2019
Latest activity Commented on by Aquatris
on 13 Mar 2019
In Matlab ezxamples the input to transfer functions are definite i.e. defined mathematically.
I need to enter to a transfer function my own a function/array created in my Matlab code. It is a random array, without any analytical /mathematical expression.
Can I use this array as an input to a transfer function? (I suspect Matlab should calculete its Laplace transform "on line").
Thanks- bj


Sign in to comment.

1 Answer

Answer by Aquatris
on 13 Mar 2019

I think the function you are looking for is lsim().
The usage is pretty simple.
t = 0:1e-3:10; % time vector
u = rand(length(t),1);% random inputs
sys = tf(100,[1 2*0.1*10 100]); % transfer function
[y,t] = lsim(sys,u,t);


Thanks for your answer.
My function is an array generated in a loop. Its values are "random" in a sense, that the values depend on many factors. The function does not have any formula.It is an array of real numbers. The array is created in a loop with time t=t+dt, but the range of time varies.
I think the problem is in calculating the Laplace transform of the functiom, as it is an input to a transfer block.
Thanks- jk
I can't help much more with the limited information. However, I can suggest converting the transfer function in to state space form and writing your own solver using Euler integration or Runge-Kutta. This way you can calculate the input however you want.

Sign in to comment.