MATLAB Answers

any input function to transfer functionm

1 ビュー (過去 30 日間)
John Krzykacz
John Krzykacz 2019 年 3 月 12 日
コメント済み: Aquatris 2019 年 3 月 13 日
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

  0 件のコメント

サインイン to comment.

回答 (1 件)

Aquatris 2019 年 3 月 13 日
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);

  2 件のコメント

John Krzykacz
John Krzykacz 2019 年 3 月 13 日
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
Aquatris 2019 年 3 月 13 日
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.

サインイン to comment.

サインイン してこの質問に回答します。

Translated by