前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Matlab实用程序--图形应用

Matlab实用程序--图形应用

作者头像
用户9925864
发布2022-07-27 09:21:53
2930
发布2022-07-27 09:21:53
举报
文章被收录于专栏:算法工程师的学习日志

实例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到2\pi','fontsize',16);
ylabel('sin(t)','fontsize',16);
title('\it{从 0to2\pi 的正弦曲线}','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)}sin\beta*t的阶梯图';
gtext(glabel,'fontsize',16)
xlabel('t=0:10','fontsize',16)
axis([0 10 -1.2 1.2])
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-09-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法工程师的学习日志 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档