intro_matlab

make_bode_template

make_bode_template.m Objective-C source code, 2 KB

File contents

%--------------------------------------------------------------------------
% Beispiel zur Manipulation von Bodeplots in Matlab
% Original: aka, 10/07/2015
% Modified: tm,  10/08/2015
%           tm,  03/23/2016
%
% Anwendung: 
% Nutzer sollten die Zeilen "EDIT HERE - 1" und "%EDIT HERE - 2" an
% ihre Bedürfnisse anpassen. 
%
%(c) Lehrstuhl für Regelungstechnik
%    Christian-Albrechts-Universität Kiel
%    Kaiserstrasse 2
%    24143 Kiel
%--------------------------------------------------------------------------

%INITIALIZE 

outname = 'bode_template';
outpath = './';

labels_fsize = 9;
axis_fsize   = 8; 
gridcol      = [0.3,0.3,0.3];

%Beispiel
s=tf('s');
g= 1/(s+1);

%Ausgabe in figure
close all; 
figure
h=bodeplot(g,'y');

%Direktes Setzen der Optionen
p = getoptions(h);
p.XLabel.String='Frequenz';
p.XLabel.FontSize=labels_fsize;
p.FreqUnits= 'rad/s';
p.YLabel.String={'Betrag', 'Phase'};
p.YLabel.FontSize=labels_fsize;
p.Title.String='';
p.GridColor=gridcol;
p.InputLabels.Color=[0,0,0];
p.OutputLabels.Color=[0,0,0];

%EDIT HERE - 1
p.Xlim = [0.01,1000]; 
p.Ylim{1} = [-160,60];
p.Ylim{2} = [-315,00];

%Ausgabe 
setoptions(h,p);
l = findobj(gcf,'type','line');
set(l,'linestyle','none');
grid on;

%EDIT HERE - 2
childrenHnd = get(gcf, 'Children');

%Anpassung der Y-Achsenbeschriftung der Phase 
set(childrenHnd(2),'YTick',[p.Ylim{2}(1):45:p.Ylim{2}(2)]);
set(childrenHnd(2),'GridAlpha',0.75);
set(childrenHnd(2),'YColor',[0,0,0]);
set(childrenHnd(2),'XColor',[0,0,0]);
set(childrenHnd(2),'MinorGridAlpha',1);
set(childrenHnd(2),'FontSize',axis_fsize);

%Anpassung der Y-Achsenbeschriftung der Amplitude
set(childrenHnd(3),'YTick',[p.Ylim{1}(1):20:p.Ylim{1}(2)]);
set(childrenHnd(3),'GridAlpha',0.75);
set(childrenHnd(3),'YColor',[0,0,0]);
set(childrenHnd(3),'XColor',[0,0,0]);
set(childrenHnd(3),'MinorGridAlpha',1);
set(childrenHnd(3),'FontSize',axis_fsize);

%AUSGABE IN DATEI
f = gcf; 
set(f,'PaperOrientation','landscape');
set(f,'PaperType','a4');
un = get(f,'PaperSize');
set(f,'PaperPosition',[.25 .25 un-0.5]);

%set(f,'PaperPositionMode','auto');
print('-depsc2','-loose',strcat(outpath,outname,'.eps'));
Research