Plotting natural frequency, 0 input, developing transfer function
12 次查看(过去 30 天)
显示 更早的评论
This may be super simple for the experts, however here it is. Modeling just a block on a spring (vertical) at its equilibrium position using conservation of energy, the modeling equation is mx(dot dot) + kx = 0. This provides the natural frequency response, and that natural frequency is SQRT(k/m). If I wanted to actually model this using Matlab, the method we use is taking the Laplace, which becomes X(s)[ms^2 + k] = 0. Then analyzing as a transfer function, with the code sys1 = tf([0],[m,0,k]). As you can see, I do not know what to do with that 0 input. If there is a forced input or initial conditions, then the numerator in the tf is not 0. What am I missing here so that I can use Matlab to plot the natural frequency of the expression above? Thanks for any help.
0 个评论
回答(1 个)
Paul
2022-9-8
Hi Brent,
The modeling equation as stated does not include a forcing input, so there is no transfer fucntion to speak of. If we assume a force input, then the differential equation is
m * xddot + k*x = u(t)
Taking Laplace transform of both sides yields
m*(s^2*X(s) - s*xdot(0) - x(0)) + k*X(s) = U(s)
Now we can define the transer function H(s) as
H(s) = 1/(m*s^2 + k)
With this definition, we have
X(s) = H(s)*U(s) + m*(s*xdot(0) + x(0))/(m*s^2 + k)
as the complete expression for X(s) in term of U(s) and the initial conditions.
Not sure where to go from here or what it means to "plot the natural frequency." Can you clarify?
This can all be derived in Matab using the Symbolic Math Toolbox
syms m k t real
syms u(t) x(t)
eq1 = m*diff(x(t),t,2) + k*x(t) == u(t)
Leq1 = laplace(eq1);
syms X U s
Leq1 = subs(Leq1,[laplace(x(t),t,s) laplace(u(t),t,s)],[X U])
X = solve(Leq1,X)
as derived above.
H(s) can be represented as a tf object for specific values of m and k.
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

