How to export a bode plot magnitude and phase to excel
20 views (last 30 days)
Show older comments
I am very new to Matlab. The transfer function I am working with is much more difficult than the one below, but what I want to do will is not impacted by the function. I have a bode plot I am generating:
H = tf([1 0.1 7.5],[1 0.12 9 0 0]);
bode(H)
I get a plot of magnitude in dB and phase in degrees, both across rad/sec. I am looking for absolute magnitude (not dB), radians (not degrees) and the the x-axis should he Hertz. I am then wanting to export the data into Excel (magnitude in the first column and phase in the second) from, for example, 10Hz to 100Hz in 10Hz steps. Can someone please assist me in doing this. It would be greatly appreciated. Thanks!
2 Comments
dpb
on 21 Jun 2017
See <MLT#answer_107017>. Basically, just save the optional outputs of magnitude and phase and scale them.
Accepted Answer
Star Strider
on 22 Jun 2017
H = tf([1 0.1 7.5],[1 0.12 9 0 0]);
w_v = [10:10:100]*2*pi; % Vector Of Radian Frequencies
[mag,phs,RadianFrequency] = bode(H, w_v);
Magnitude = squeeze(mag);
Phase = squeeze(phs);
T = table(RadianFrequency,Magnitude,Phase)
Then use writetable to your Excel file. The headers and column information will all be there.
1 Comment
dpb
on 23 Jun 2017
writetable is handy indeed; I wondered why TMW didn't do something like it much sooner than now. That it needs the intermediate table is a little less than ideal as generic i/o routine, but is better than having to fight cell arrays with functions that are not cell-array aware.
More Answers (0)
See Also
Categories
Find more on Plot Customization in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!