Matlab实用程序--图形应用

2022-07-27 09:21:53 浏览数 (1)

实例1:三角函数曲线(1)

代码语言:javascript复制
function shili01
h0=figure('toolbar','none',...
    'position',[198 56 350 300],...
    'name','实例01');
h1=axes('parent',h0,...
   'visible','off');
x=-pi:0.05:pi;
y=sin(x);
plot(x,y);
xlabel('自变量X');
ylabel('函数值Y');
title('SIN( )函数曲线');
grid on

实例2:三角函数曲线(2)

代码语言:javascript复制
function shili02
h0=figure('toolbar','none',...
    'position',[200 150 450 350],...
    'name','实例02');
x=-pi:0.05:pi;
y=sin(x) cos(x);
plot(x,y,'-*r','linewidth',1);
grid on
xlabel('自变量X');
ylabel('函数值Y');
title('三角函数');

实例3:图形的叠加

代码语言:javascript复制
function shili03
h0=figure('toolbar','none',...
    'position',[200 150 450 350],...
    'name','实例03');
x=-pi:0.05:pi;
y1=sin(x);
y2=cos(x);
plot(x,y1,...
    '-*r',...
    x,y2,...
    '--og');
grid on
xlabel('自变量X');
ylabel('函数值Y');
title('三角函数');

实例4:双y轴图形的绘制

代码语言:javascript复制
function shili04
h0=figure('toolbar','none',...
    'position',[200 150 450 250],...
    'name','实例04');
x=0:900;a=1000;b=0.005;
y1=2*x;
y2=cos(b*x);
[haxes,hline1,hline2]=plotyy(x,y1,x,y2,'semilogy','plot');
axes(haxes(1))
ylabel('semilog plot');
axes(haxes(2))
ylabel('linear plot');

实例5:单个轴窗口显示多个图形

代码语言:javascript复制
function shili05
h0=figure('toolbar','none',...
    'position',[200 150 450 250],...
    'name','实例05');
t=0:pi/10:2*pi;
[x,y]=meshgrid(t);
subplot(2,2,1)
plot(sin(t),cos(t))
axis equal


subplot(2,2,2)
z=sin(x)-cos(y);
plot(t,z)
axis([0 2*pi -2 2])


subplot(2,2,3)
h=sin(x) cos(y);
plot(t,h)
axis([0 2*pi -2 2])


subplot(2,2,4)
g=(sin(x).^2)-(cos(y).^2);
plot(t,g)
axis([0 2*pi -1 1])

实例6:图形标注

代码语言:javascript复制
function shili06
h0=figure('toolbar','none',...
    'position',[200 150 450 400],...
    'name','实例06');
t=0:pi/10:2*pi;
h=plot(t,sin(t));
xlabel('t=0到2pi','fontsize',16);
ylabel('sin(t)','fontsize',16);
title('it{从 0to2pi 的正弦曲线}','fontsize',16)
x=get(h,'xdata');
y=get(h,'ydata');
imin=find(min(y)==y);
imax=find(max(y)==y);
text(x(imin),y(imin),...
    ['leftarrow最小值=',num2str(y(imin))],...
    'fontsize',16)
text(x(imax),y(imax),...
    ['leftarrow最大值=',num2str(y(imax))],...
    'fontsize',16)

实例7:条形图形

代码语言:javascript复制
function shili07
h0=figure('toolbar','none',...
    'position',[200 150 450 350],...
    'name','实例07');
tiao1=[562 548 224 545 41 445 745 512];
tiao2=[47 48 57 58 54 52 65 48];
t=0:7;
bar(t,tiao1)
xlabel('X轴');
ylabel('TIAO1值');
h1=gca;
h2=axes('position',get(h1,'position'));
plot(t,tiao2,'linewidth',3)
set(h2,'yaxislocation','right','color','none','xticklabel',[])

实例8:区域图形

代码语言:javascript复制
function shili08
h0=figure('toolbar','none',...
    'position',[200 150 450 250],...
    'name','实例08');
x=91:95;
profits1=[88 75 84 93 77];
profits2=[51 64 54 56 68];
profits3=[42 54 34 25 24];
profits4=[26 38 18 15 4];
area(x,profits1,'facecolor',[0.5 0.9 0.6],...
    'edgecolor','b',...
    'linewidth',3)
hold on
area(x,profits2,'facecolor',[0.9 0.85 0.7],...
    'edgecolor','y',...
    'linewidth',3)
hold on
area(x,profits3,'facecolor',[0.3 0.6 0.7],...
    'edgecolor','r',...
    'linewidth',3)
hold on
area(x,profits4,'facecolor',[0.6 0.5 0.9],...
    'edgecolor','m',...
    'linewidth',3)
hold off
set(gca,'xtick',[91:95])
set(gca,'layer','top')
gtext('leftarrow第一季度销量')
gtext('leftarrow第二季度销量')
gtext('leftarrow第三季度销量')
gtext('leftarrow第四季度销量')
xlabel('年','fontsize',16);
ylabel('销售量','fontsize',16); 

实例9:饼图的绘制

代码语言:javascript复制
function shili09
h0=figure('toolbar','none',...
    'position',[200 150 450 250],...
    'name','实例09');
t=[54 21 35;
    68 54 35;
    45 25 12;
    48 68 45;
    68 54 69];
x=sum(t);
h=pie(x);
textobjs=findobj(h,'type','text');
str1=get(textobjs,{'string'});
val1=get(textobjs,{'extent'});
oldext=cat(1,val1{:});
names={'商品一:';'商品二:';'商品三:'};
str2=strcat(names,str1);
set(textobjs,{'string'},str2)
val2=get(textobjs,{'extent'});
newext=cat(1,val2{:});
offset=sign(oldext(:,1)).*(newext(:,3)-oldext(:,3))/2;
pos=get(textobjs,{'position'});
textpos=cat(1,pos{:});
textpos(:,1)=textpos(:,1) offset;
set(textobjs,{'position'},num2cell(textpos,[3,2]))

实例10:阶梯图

代码语言:javascript复制
function shili10
h0=figure('toolbar','none',...
    'position',[200 150 450 400],...
    'name','实例10');
a=0.01;
b=0.5;
t=0:10;
f=exp(-a*t).*sin(b*t);
stairs(t,f)
hold on
plot(t,f,':*')
hold off
glabel='函数e^{-(alpha*t)}sinbeta*t的阶梯图';
gtext(glabel,'fontsize',16)
xlabel('t=0:10','fontsize',16)
axis([0 10 -1.2 1.2])

0 人点赞