matlab 轴注释,Matlab 任意布置子图和轴外注释

10.7.2

任意布置子图和轴外注释

【 * 例 10.7.2 -1 】本例演示: axes 轴位框设计、 rectangle

的运用、及轴外注释。所谓轴外注释,实际上是使用了两个轴位框。一个轴位框充满全部图形窗,其坐标框被隐去,而只写注释文字。而另一个比较小的轴位框用于绘图。这样从外表看去,注释就处于那小轴位框的外部。

% 图形数据的产生

zeta2=[0.2 0.4 0.6 0.8

1.0];n=length(zeta2);

for k=1:n;Num{k,1}=1;Den{k,1}=[1 2*zeta2(k)

1];end

S=tf(Num,Den); % 产生单输入多输出系统

t=(0:0.4:20)'; % 时间采样点

[Y,x]=step(S,t); % 单输入多输出系统的响应

tt=t*ones(size(zeta2)); % 为画彩带图,生成与函数值 Y

维数相同的时间矩阵。

% 产生全窗轴位框,并隐去坐标轴

clf reset,H=axes('Position', [0, 0, 1, 1],

'Visible', 'off');

% 产生包含多行字符串的元胞数组

str{1}='\fontname{ 隶书 } 二阶系统阶跃响应 ';

%<11>

str{2}='y(t) = 1 -

\beta^{-1}e^{-\zetat}sin(\betat + \theta)';

str{3}=' ';str{4}='\fontname{ 隶书 } 其中:

';

str{5}='\beta = (1 -

\zeta^{2})^{0.5}';

str{6}='\theta = arctg(\beta/\zeta)';

str{7}='\zeta = .2, .4, .6, .8, 1';

%<15>

% 使 H 句柄轴对象成为当前轴,然后注释多行文字。

set(gcf, 'CurrentAxes',H)

%<18>

text(0.01, 0.73, str, 'FontSize', 12)

%<19>

h1=axes('Position', [0.45, 0.45, 0.5, 0.5]); %

产生右半窗的轴位框

ribbon(tt,Y,0.4) % 在 h1 轴位框中画彩带图

% 对 X 轴、 Z 轴重标刻度值

set(h1,'XTickLabelMode','manual','XTickLabel','0|0.4|0.8|1.2');%<23>

set(h1,'ZTickLabel','0|1.0|2.0');

%<24>

% 低层指令标识轴名

set(get(h1,'XLabel'),'String','\zeta

\rightarrow','Rotation',17.5)

set(get(h1,'YLabel'),'String','\leftarrow

t','Rotation',-25) %<27>

set(get(h1,'Zlabel'),'String','y

\rightarrow')

h2=axes('Position',[0.03, 0.08, 0.27, 0.27]);%

在左下角,产生小的轴位框。

plot(tt,Y) % 在 h2 轴对象上画二维图

% 在右下方画系统方块框图

h3=axes('Position',[0.37,0.04,0.63,0.32]); %

设置画框图的轴位框

set(h3,'Xlim',[0,1.2],'Ylim',[0,0.5]) %

设置轴的刻度范围

set(h3,'DataAspectRatio',[1 1 1]) %

设置刻度比例

set(h3,'ColorOrder',[0,0,0]) %

设置绘线的首选用色

set(h3,'Visible','off') % 隐去坐标轴

hh1=rectangle('Position',[0.5,0.2,0.4,0.2],'Curvature',[0,0]);

% 画方框

<37>

hh2=rectangle('Position',[0.2,0.26,0.08,0.08],'Curvature',[1,1]);

% 画圆框

<38>

xx1=0.05:0.01:0.2;xx2=0.28:0.02:0.5;

xx3=0.9:0.02:1.1;xx4=0.24:0.02:1;

yy5=0.1:0.02:0.26;yy6=0.1:0.02:0.3;

yy1=0.3*ones(size(xx1));yy2=0.3*ones(size(xx2));

yy3=0.3*ones(size(xx3));yy4=0.1*ones(size(xx4));

xx5=0.24*ones(size(yy5));xx6=ones(size(yy6));

line(xx1,yy1);line(xx2,yy2);line(xx3,yy3);line(xx4,yy4);

line(xx5,yy5);line(xx6,yy6)

line(0.17,0.3,'Marker','>','MarkerFaceColor','k')

line(0.47,0.3,'Marker','>','MarkerFaceColor','k')

line(1.1,0.3,'Marker','>','MarkerFaceColor','k')

line(0.24,0.23,'Marker','^','MarkerFaceColor','k')

line(0.17,0.35,'Marker','+')

text(0.27,0.23,'-')

text(0.05,0.35,'u(t)')

text(1,0.35,'y(t)')

text(0.6,0.26,'s{^2} + 2{\zeta}s');

xx7=0.56:0.02:0.84;yy7=0.3*ones(size(xx7));line(xx7,yy7)

text(0.68,0.35,'1')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值