I want to take the square root of a transfer function

8 views (last 30 days)
I am trying to plot a completely real transfer function
my current implementation is using:
s=tf('s')
w2=-(s)^2
Where w2 represents .
I am trying to implement the root with the sqrt function, however it is saying.
Incorrect number or types of inputs or outputs for function sqrt.
This transfer function needs to be multiplied by other (complex) transfer functions later in the project.
Is this the best way to implement it or is there another approach I could try?
  5 Comments
Sam Chak
Sam Chak on 21 Feb 2025
I believe that the graph the OP wishes to plot is referred to as Displacement Transmissibility, which is commonly used in mechanical engineering to design structures that isolate vibrations, such as car suspension systems. I am not a mechanical engineer; perhaps @Yifeng Tang can assist in verifying this.
Yifeng Tang
Yifeng Tang on 25 Feb 2025
Integrating the area under the Bode curve is indeed related to Transmissibility as Sam Chak pointed out. I don't think it's necessary to take the square root of the transfer function itself though. It's the norm/magnitude of the transfer function after replace "s" with , j being the imaginary number. Square root may show up when calculating the magnitude, but not on the transfer function itself.

Sign in to comment.

Answers (1)

Sam Chak
Sam Chak on 21 Feb 2025
Unlike plotting time responses using the step() and lsim() functions, or first solving the ordinary differential equations using dsolve() and ode45(), plotting the steady-state response as a function of the driving frequency is relatively straightforward because the function defines a fixed relationship between the input and output. It is a form of what-you-see-is-what-you-get, where the output magnitude appears as it would when the input frequency is fed into the transfer function.
w = linspace(0.1, 100, 10001); % Angular Frequency
b = (0.2*w)./sqrt((1 + w.^2).*(w.^4 - 1.51*w.^2 + 1));
semilogx(w, b), grid on
xlabel('Angular Frequency (rad/s)')
ylabel('Amplitude')
title ('Frequency Response')

Categories

Find more on Vibration Analysis in Help Center and File Exchange

Tags

Products


Release

R2024b

Community Treasure Hunt

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

Start Hunting!