MATLAB Answers

using ss2tf command

9 views (last 30 days)
saman ahmadi
saman ahmadi on 6 May 2020
Answered: Paul on 10 May 2020
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

  0 Comments

Sign in to comment.

Answers (2)

Star Strider
Star Strider on 6 May 2020
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 Comments

saman ahmadi
saman ahmadi on 9 May 2020
thanks alot for your answer,
Star Strider
Star Strider
Star Strider on 9 May 2020
My pleasure!
If my Answer helped you solve your problem, please Accept it!
.

Sign in to comment.


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

  0 Comments

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!