MATLAB Answers

James
0

Turning on grid on ltiviewer

Asked by James
on 30 Mar 2011
Hi everyone,
I displayed 2 systems using ltiview as shown below:
load ltiexamples ltiview({'step';'bode';'impulse';'nichols'},Gcl2,Gcl1)
I'm wondering how do we turn on the grid on these plots using MATLAB commands? (i.e without going to 'viewer preferences>style')
Thanks in advance guys.

  0 Comments

Sign in to comment.

5 Answers

Answer by Paulo Silva
on 30 Mar 2011

%brute force way, it turns on the grids for all axes
ha=findobj('type','axes')
arrayfun(@(x)set(x,'XGrid','on'),ha)
arrayfun(@(x)set(x,'YGrid','on'),ha)

  1 Comment

James
on 30 Mar 2011
Hi,
Thanks for your reply.
However, the grid for Nichols plot doesn't look correct, as is, not the same as that displayed when I right click on the plot and select grid.

Sign in to comment.


Answer by Walter Roberson
on 30 Mar 2011

After the ltiview() call,
grid on

  2 Comments

Paulo Silva
on 30 Mar 2011
grid on only applies to the current axes
Walter Roberson
on 30 Mar 2011
Ah, it appears ltiview opens a new figure and doesn't return the figure number either. If you findobj('type','figure') then you should be able to locate the figure number; from there you should be able to examine the properties of that figure to see if, for example, it has a particular Tag or Name, or if its children have distinctive properties.
Sorry, I do not have one of the applicable toolboxes so I cannot experiment with this.

Sign in to comment.


Answer by James
on 30 Mar 2011

Hi guys,
I found a way but still not the best. The grid for Bode diagram is not displayed. Here's what I did;
obj = findobj('Type','axes'); for i = 1:length(obj) grid(obj(i)) end
Any workaround on this?
Thanks.

  0 Comments

Sign in to comment.


Answer by James
on 30 Mar 2011

ooooppppss!!! How do I undo accepted answers?

  2 Comments

Matt Fig
on 30 Mar 2011
You cannot. If you want this done, you can try here:
files@mathworks.com
James
on 30 Mar 2011
Thanks.

Sign in to comment.


Answer by James
on 30 Mar 2011

Got it. Need to add 'on' after grid. For bode diagram the command 'grid' is executed twice. Hence, it's turned off.
obj = findobj('Type','axes');
for i =1:length(obj)
grid(obj(i),'on')
end

  0 Comments

Sign in to comment.