bodeplot(), setoptions - YLabel, How to set?

13 visualizaciones (últimos 30 días)
cdlapoin
cdlapoin el 15 de Feb. de 2022
Comentada: cdlapoin el 15 de Feb. de 2022
I have a bodeplot and want to change the Ylabel text from Magnitude to something more descriptive
h = bodeplot(sys,w);
setoptions(h,'YLabel','MyString');
doesn't work, so I look at it with getoptions()
>> getoptions(h,'Ylabel')
ans =
struct with fields:
String: {'Magnitude' 'Phase'}
FontSize: 11
FontWeight: 'normal'
FontAngle: 'normal'
Color: [0 0 0]
Interpreter: 'tex'
So it is a struct, but I cannot figure out how to address it properly with the way setoptions() is formatted. I tried:
setoptions(h,'YLabel(1).String','MyString')
which doesn't work or any of the other obvious variations. so now it's bothering me. Please help!

Respuesta aceptada

Voss
Voss el 15 de Feb. de 2022
Editada: Voss el 15 de Feb. de 2022
rng("default")
sys = rss(5);
h = bodeplot(sys);
ylabel_opts = getoptions(h,'YLabel')
ylabel_opts = struct with fields:
String: {'Magnitude' 'Phase'} FontSize: 11 FontWeight: 'normal' FontAngle: 'normal' Color: [0 0 0] Interpreter: 'tex'
% set only the magnitude plot ylabel string (leave phase alone):
ylabel_opts.String{1} = 'MyString';
% apply the new settings:
setoptions(h,'YLabel',ylabel_opts);
  1 comentario
cdlapoin
cdlapoin el 15 de Feb. de 2022
so the correct answer is to build a complete YLabel struct, then replace the existing on with setoptions(). perfect! Thanks!

Iniciar sesión para comentar.

Más respuestas (1)

Paul
Paul el 15 de Feb. de 2022
opts = bodeoptions;
opts.Ylabel.String = {'mymag' 'myphase'};
bodeplot(tf(1,[1 1]),opts)

Categorías

Más información sobre Response Computation and Visualization en Help Center y File Exchange.

Productos


Versión

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by