using ss2tf command

5 次查看(过去 30 天)
saman ahmadi
saman ahmadi 2020-5-6
回答: Paul 2020-5-10
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
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 个评论
saman ahmadi
saman ahmadi 2020-5-9
thanks alot for your answer,
Star Strider
Star Strider
Star Strider 2020-5-9
My pleasure!
If my Answer helped you solve your problem, please Accept it!
.

请先登录,再进行评论。


Paul
Paul 2020-5-10
  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.

类别

Help CenterFile Exchange 中查找有关 Digital Filter Analysis 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by