using ss2tf command

Hi. I eant to plot frequency respose for a system with below equation:
x1_dot=x2;
x2_dot=-(k/m)x1+f/m;
note: k,m,f are known.
for this work, i want to use ss2rf command:
[num, den] = ss2tf(A, B, C, D);
now, for these equations are A,B,C,D as below?
A=[0 1;-k/m 0]
B[0;f/m]
C=[x1;x2];D=0
thank you

回答(2 个)

Star Strider
Star Strider 2020-5-6

0 个投票

I am not certain what you want.
One option is the bode function, the other is lsim. These will work with state space systems, so it is not necessary to use ss2tf first.

2 个评论

thanks alot for your answer,
Star Strider
My pleasure!
If my Answer helped you solve your problem, please Accept it!
.

请先登录,再进行评论。

Paul
Paul 2020-5-10

0 个投票

  1. Are you sure f is known? It looks like f is the input to you system, in which case your B matirix should be B = [0;1/m]
  2. You didn't say what the output of your system is. Is it x1, x2, both, some linear combinations of both? Without specifying your output, we can't say what your C and D matrices should be. But your C matrix as written cetainly doesn't look correct, unless you already have variables x1 and x2 in your workspace that have column dimension = 2;
  3. Once you get your A, B, C, and D matrices proberly defined, you can plot the frequency response with: bode(ss(A,B,C,D)) as Star Strider indicated. doc bode for options that may be of interest to you.

类别

帮助中心File Exchange 中查找有关 Systems of Nonlinear Equations 的更多信息

回答:

2020-5-10

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by