Putting transfer function expression in the title of a bode plot
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Thomas Gahan
el 24 de Jul. de 2019
Comentada: Thomas Gahan
el 3 de Sept. de 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
Respuesta aceptada
Subhadeep Koley
el 2 de Ag. de 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);
Más respuestas (0)
Ver también
Categorías
Más información sobre Get Started with Control System Toolbox en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!