how to plot on the same bode plot a manual function plot() with function bode()?

6 views (last 30 days)
I have a a transfer function that I plotted manually using Plot(w,abs(f1(w))) and I have another function that I used directly bode(f2(s)). I would like to plot them both in one bode plot?
the
bode()
hold on
plot()
gives errors

Accepted Answer

Star Strider
Star Strider on 18 May 2020
I am not certain that what you want to do is possible with the bode function. The best option is to use the example in Obtain Magnitude and Phase Data and then plot those results together with the data you already have.
  4 Comments
Star Strider
Star Strider on 18 May 2020
I am not certain what you are doing, or whether you are starting with the FIR filter or the control system, then synthesising the other from it. (Those are not exact copies of each other, however I cannot determine if they are sufficiently similar to be acceptable to you.)
If you are going from the filter to the control system, and have the System Identification Toolbox, one option is to use the filter impulse resonse (either time-domain or frequency domain), and then estimate a system that will approximate it.
If you are going the other direction (control system to filter), you will need the Signal Processing Toolbox to create a FIR filter using the least-squares or Parks-McClellan procedure to approximate the frequency-domain transfer function of it.

Sign in to comment.

More Answers (1)

Rajiv Singh
Rajiv Singh on 10 Jun 2020
You could try:
G = frd(f1(w),w); % assuming f1(w) is a complex numeric vector
bode(G,f2)

Community Treasure Hunt

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

Start Hunting!

Translated by