Putting transfer function expression in the title of a bode plot
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Thomas Gahan
il 24 Lug 2019
Commentato: Thomas Gahan
il 3 Set 2019
Hi
I am trying to put a transfer function expression in the title of a bode plot.
This code worked in 2010b.
I am now using R2019a so this is the version my question applies to.
the code:
num=[1 2];
den=[1 7 49];
trans=tf(num,den);
syms s
n = sym(num);
d = sym(den);
ns = poly2sym(n,s);
ds = poly2sym(d,s);
tfsym = ns/ds;
tftitle = latex(tfsym);
figure(1)
bode(trans)
title(sprintf('Bode plot of: $$ %s $$', tftitle), 'Interpreter','latex')
It works but gives the following warnings:
String scalar or character vector must have valid interpreter syntax:
Bode plot of: $$ \frac{1}{s^2+2\,s+1} $$
> In defaulterrorcallback (line 12)
In ctrluis.axesgrid/labelpos (line 26)
In ctrluis.axesgrid/setlabels (line 83)
In ctrluis.axesgroup/addbypass>localTitle (line 24)
In mwbypass (line 17)
In title (line 49)
In bode (line 22)
Anyone any ideas?
Thank you
tgahan
Risposta accettata
Subhadeep Koley
il 2 Ago 2019
The following code may help you.
tfsym = ns/ds;
tftitle = latex(tfsym);
figure(1)
opts=bodeoptions;
opts.Title.Interpreter = 'latex';
opts.Title.FontSize = 12;
opts.XLabel.FontSize = 12;
opts.YLabel.FontSize = 12;
opts.Title.String = sprintf('Bode plot of: $$ %s $$', tftitle);
bodeplot(trans,opts);
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Plot Customization in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!