版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章matlab绘图——matlab语言丰富的图形表现方法,使得数学计算结果可以方便地、多样性地实现了可视化,这是其它语言所不能比拟的。
matlab语言的绘图功能
不仅能绘制几乎所有的标准图形,而且其表现形式也是丰富多样的。
matlab语言不仅具有高层绘图能力,而且还具有底层绘图能力——句柄绘图方法。在面向对象的图形设计基础上,使得用户可以用来开发各专业的专用图形。一、二维绘图(一)plot——最基本的二维图形指令plot的功能:
plot命令自动打开一个图形窗口Figure
用直线连接相邻两数据点来绘制图形根据图形坐标大小自动缩扩坐标轴,将数据标尺及单位标注自动加到两个坐标轴上,可自定坐标轴,可把x,y轴用对数坐标表示如果已经存在一个图形窗口,plot命令则清除当前图形,绘制新图形可单窗口单曲线绘图;可单窗口多曲线绘图;可单窗口多曲线分图绘图;可多窗口绘图可任意设定曲线颜色和线型可给图形加坐标网线和图形加注功能plot的调用格式
plot(x)——缺省自变量绘图格式,x为向量,以x元素值为纵坐标,以相应元素下标为横坐标绘图;
plot(x,y)——基本格式,以y(x)的函数关系作出直角坐标图,如果y为n×m的矩阵,则以x为自变量,作出m条曲线;plot(x1,y1,x2,y2)——多条曲线绘图格式.
plot(x,y,’s’)——开关格式,开关量字符串s设定曲线颜色和绘图方式,使用颜色字符串的前1~3个字母,如
yellow—yel表示等。或plot(x1,y1,’s1’,x2,y2,’s2’,…)S的标准设定值如下:
字母颜色标点线型
y黄色·点线
m粉红○圈线
c青××线
r红++字线
g绿色-实线
b蓝色星形线
w白色:点线
k黑色-·(--)点划(虚)线.实心点d菱形符(diamond)+十字符h六角星(hexagram)*八线符o空心圆圈∧朝上三角符p五角星(pentagram)∨朝下三角符s方块符(square)<朝左三角符x叉字符>朝右三角符允许设置的数据点型1.单窗口单曲线绘图例1:x=[0,0.48,0.84,1,0.91,0.6,0.14]plot(x)2.单窗口多曲线绘图例2:t=0:pi/100:2*pi;y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5);plot(t,y,t,y1,t,y2)例3:
t=0:0.1:2*pi;
y=sin(t);
y1=sin(t+0.25);
y2=sin(t+0.5);
y3=cos(t);
y4=cos(t+0.25);
y5=cos(t+0.5);
plot(t,[y',y1',y2',y3',y4',y5'])x=peaks;plot(x)x=1:length(peaks);y=peaks;plot(x,y)Z=peaks;returnsa49-by-49matrix.Z=peaks(n);returnsann-by-nmatrix.Z=peaks(V);returnsann-by-nmatrix,wheren=length(V).Z=peaks(X,Y);evaluatespeaksatthegivenXandY(whichmustbethesamesize)andreturnsamatrixthesamesize.3.单窗口多曲线分图绘图subplot——子图分割命令调用格式:
subplot(m,n,p)——按从左至右,从上至下排列行列绘图序号t=0:0.1:2*pi;y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5);subplot(1,3,1);plot(t,y)subplot(1,3,2);plot(t,y1)subplot(1,3,3);plot(t,y2)t=0:0.1:2*piy=sin(t);y1=sin(t+0.25);y2=sin(t+0.5);subplot(3,1,1);plot(t,y)subplot(3,1,2);plot(t,y3)subplot(3,1,3);plot(t,y2)subplot('position',[leftbottomwidthheight])t=0:0.1:2*piy=sin(t);y1=sin(t+0.25);y2=sin(t+0.5);y3=sin(t+1)subplot('position',[0.05,0.55,0.4,0.45]);plot(t,y)subplot('position',[0.55,0.55,0.4,0.45]);plot(t,y3)subplot('position',[0.35,0.05,0.4,0.45]);plot(t,y2)注意:一旦区域叠加,则覆盖4.多窗口绘图figure(n)——创建窗口函数,n为窗口顺序号。t=0:pi/100:2*pi;y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5);plot(t,y)%自动出现第一个窗口figure(2)plot(t,y1)%在第二窗口绘图figure(3)plot(t,y2)%在第三窗口绘图5.可任意设置颜色与线型plot(t,y,'r-',t,y1,'g:',t,y2,'b*')6.图形加注功能将标题、坐标轴标记、网格线及文字注释加注到图形上,这些函数为:
title——给图形加标题
xlable——给x轴加标注
ylable——给y轴加标注
text——在图形指定位置加标注
gtext——将标注加到图形任意位置
gridon(off)——打开、关闭坐标网格线
legend——添加图例
axis——控制坐标轴的刻度例:t=0:0.1:10y1=sin(t);y2=cos(t);plot(t,y1,'r',t,y2,'b--');x=[1.7*pi;1.6*pi];y=[-0.3;0.8];s=['sin(t)';'cos(t)'];text(x,y,s);title('正弦和余弦曲线');legend('正弦','余弦');xlabel('时间t'),ylabel('正弦、余弦');gtext('hereyourmousehitted');gridon;axis的用法还有:
axis([xminxmaxyminymax])——用行向量中给出的值设定坐标轴的最大和最小值。如axis([-2
205])axis(‘equal’)——将两坐标轴设为相等
axison(off)——显示和关闭坐标轴的标记、标志
axisauto——将坐标轴设置返回自动缺省值7.图形的保持holdt=0:pi/100:2*pi;y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5);plot(t,y)holdonplot(t,y1)plot(t,y2)8.plot函数扩展semilogxsemilogyloglog9.图形保存(1)直接保存:方法一,菜单栏点击文件->另存为,输出图片;
方法二,菜单栏点击文件->导出设置,选择参数,输出图片(2)saveas命令保存:saveas(图形句柄,’图名’,’图形格式’)图形句柄:gcf,h等;图名:待保存的图形名称;图形格式取值:fig,jpeg,tiff,png,bmp,eps等(3)print命令保存:print(图形句柄,’-depsc2’,’-r600’,’abc.eps’)print(图形句柄,’-djpeg’,’-r600’,’abc.jpeg’)>>
x=-pi:2*pi/300:pi;
>>
y=sin(x);
>>h=plot(x,y);
>>
saveas(h,‘Fig1’,’fig’)
>>saveas(h,‘Fig1’,’tiff’)>>saveas(h,‘Fig1’,’bmp’)例1:saveas命令>>
x=-pi:2*pi/300:pi;
>>
y=sin(x);
>>
plot(x,y);
>>
print(gcf,'-dpng',‘Fig2.png')>>print(gcf,’-dbitmap’,’Fig2.bmp’)
>>print(gcf,'-depsc2','-r600',‘Fig2.eps')例2:print命令>>printFig3.jpeg-djpeg-r600例3:print命令(二)二维伪彩色图pcolor——常用于以二维平面图表现三维图形的效果,用颜色表示三维图形的高度。z=peaks(30)pcolor(z)Shadingflatshadinginterph6=colorbar;pcolor例子y=1:10;x=1:10;z=randn(10,10);pcolor(x,y,z);Shadingflatshadinginterph6=colorbar;(三)二维等高(值)线图contour(Z,n)--------绘制n条等高线c=contourc(Z,n)------计算n条等高线的坐标clable(c)------给等高线加标注例、在二维平面上绘制peaks函数的10条等高线contour(peaks,10);c=contourc(peaks,10);clabel(c)contour例子y=1:10;x=1:10;z=randn(10,10);contour(x,y,z);c=contourc(x,y,z);clabel(c)(四)fill––––绘制二维多边形并填充颜色t=0:0.1:10y1=sin(t);y2=cos(t);fill(t,y1,'r',t,y2,'b--');x=[1.7*pi;1.6*pi];y=[-0.3;0.8];s=['sin(t)';'cos(t)'];text(x,y,s);title('正弦和余弦曲线');legend('正弦','余弦')xlabel('时间t'),ylabel('正弦、余弦')t=(1/16:1/8:1)'*2*pi;%定义八角形的刻度x=sin(t);y=cos(t);h=fill(x,y,'r');axissquareset(h,'linewidth',5)set(gcf,'color','w','position',[400,350,250,150],'menubar','none')set(gca,'visible','off')(五)特殊二维绘图函数
bar––––绘制直方图polar––––绘制极坐标图
hist––––绘制统计直方图
stairs––––绘制阶梯图
stem––––绘制火柴杆图
rose––––绘制统计扇形图
comet––––绘制彗星曲线errorbar––––绘制误差棒图compass––––复数向量图(罗盘图)feather––––复数向量投影图(羽毛图)
quiver––––向量场图
area––––区域图
pie––––饼图
convhull––––凸壳图
scatter––––离散点图(1)bar––––绘制直方图t=0:0.2:2*pi;y=cos(t);bar(y)(2)polar––––绘制极坐标图t=0:.01:2*pi;polar(t,sin(2*t).*cos(2*t),'--r')(3)hist––––绘制统计直方图x=-2.9:0.1:2.9;y=randn(10000,1);hist(y,x)(4)stairs––––绘制阶梯图h2=[11;1-1];h4=[h2h2;h2-h2];h8=[h4h4;h4-h4];t=1:8;subplot(8,1,1);stairs(t,h8(1,:));axis('off')subplot(8,1,2);stairs(t,h8(2,:));axis('off')subplot(8,1,3);stairs(t,h8(3,:));axis('off')subplot(8,1,4);stairs(t,h8(4,:));axis('off')subplot(8,1,5);stairs(t,h8(5,:));axis('off')subplot(8,1,6);stairs(t,h8(6,:));axis('off')subplot(8,1,7);stairs(t,h8(7,:));axis('off')subplot(8,1,8);stairs(t,h8(8,:));axis('off')或者:h2=[11;1-1];h4=[h2h2;h2-h2];h8=[h4h4;h4-h4];t=1:8;fori=1:8subplot(8,1,i);stairs(t,h8(i,:))axis('off')endx=0:pi/20:2*pi;y=sin(x);stairs(x,y)(5)stem––––绘制火柴杆图/棒状图t=0:0.2:2*pi;y=cos(t);stem(y)(6)rose––––绘制统计扇形图theta=2*pi*rand(1,50);rose(theta)rose(theta,x)x可为行向量,默认为20(7)comet––––绘制彗星曲线t=-pi:pi/500:pi;y=tan(sin(t))-sin(tan(t));comet(t,y)与plot(t,y)的区别(8)errorbar––––绘制误差棒图X=0:pi/30:2*pi;Y=sin(X);E=std(Y)*rand(1,length(X))/10;errorbar(X,Y,E)(9)compass––––复数向量图(罗盘图)Z=eig(randn(20,20));compass(Z)(10)feather––––复数向量投影图(羽毛图)theta=(-90:10:90)*pi/180;r=2*ones(size(theta));[u,v]=pol2cart(theta,r);feather(u,v);(11)quiver––––向量场图[X,Y]=meshgrid(-2:.2:2);Z=X.*exp(-X.^2-Y.^2);[DX,DY]=gradient(Z,.2,.2);contour(X,Y,Z)holdonquiver(X,Y,DX,DY)colormaphsvgridoffholdoff(12)area––––区域图Y=[1,5,3;3,2,7;1,5,3;2,6,1];area(Y)gridoncolormapsummerset(gca,'Layer','top')title'StackedAreaPlot'(13)pie––––饼图x=[130.52.52];explode=[01000];pie(x,explode)colormapjetx=[1234567];
y=[0001000];
pie(x,y,{‘North’,‘South’,‘East’,…
‘West’,'middle','fa','white'})(14)convhull––––凸壳图
xx=-1:.05:1;yy=abs(sqrt(xx));[x,y]=pol2cart(xx,yy);k=convhull(x,y);plot(x(k),y(k),'r-',x,y,'b+')(15)scatter––––离散点图>>loadseamount>>scatter(x,y,5,z)>>scatter3(x,y,z,5,’b’)二、三维绘图三维绘图的主要功能:绘制三维线图绘制等高线图绘制三维网线图绘制三维曲面图、柱面图和球面图绘制三维多面体并填充颜色(一)三维线图plot3——基本的三维图形指令调用格式:plot3(x,y,z)——x,y,z是长度相同的向量plot3(X,Y,Z)——X,Y,Z是维数相同的矩阵plot3(x,y,z,s)——带开关量plot3(x1,y1,z1,'s1',x2,y2,z2,'s2',…)二维图形的所有基本特性对三维图形全都适用。定义三维坐标轴大小
axis([xminxmaxyminymaxzminzmax
])gridon(off)绘制三维网格
text(x,y,z,‘string’)三维图形标注子图和多窗口也可以用到三维图形中例:绘制三维线图t=0:pi/50:10*pi;plot3(t,sin(t),cos(t),'r:')(二)三维饼图
pie3([43689],[01001]);(三)三维多边形fill3=fill——三维多边形的绘制和填色与二维多边形完全相同调用格式:
fill3(x,y,z,‘s’)——与二维相同例:用随机顶点坐标画出5个粉色的三角形,并用黄色的○表示顶点y1=rand(3,5);y2=rand(3,5);y3=rand(3,5);fill3(y1,y2,y3,'m');holdon;plot3(y1,y2,y3,'yo')(四)三维网格图mesh——三维网线绘图函数调用格式:
mesh(z)——z为n×m的矩阵,x与y
坐标为元素的下标
mesh(x,y,z)——x,,y,z分别为三维空间的坐标位置例,矩阵的三维网线图z=rand(6);
0.88080.07290.41680.76940.37750.47760.33810.71010.09640.63520.38260.70860.18950.87910.67470.89650.68760.23800.74310.35940.56260.87840.12170.39100.71890.08990.81300.48650.07680.97590.87920.16100.87820.11310.14330.6288z=round(z);mesh(z);
100100010101011110101100101001101001mesh(z)例:8阶hadamard矩阵的网线图h2=[11;1-1];h4=[h2h2;h2-h2]h8=[h4h4;h4-h4]111111111-11-11-11-111-1-111-1-11-1-111-1-111111-1-1-1-11-11-1-11-1111-1-1-1-1111-1-11-111-1mesh(h8)三维网线图作图要领生成坐标——[X,Y]=meshgrid(x,y)表达式点运算——Z=X.^2+Y.^2X,Y是n×m的矩阵,维数可任定X—Y—Z—默认方位角:37.5º,俯角30º。n×m维
meshgrid——网线坐标值计算函数
z=f(x,y)—根据x,y坐标找出z的高度例:绘制z=x2+y2的三维网线图形
x=-5:5;y=x;[X,Y]=meshgrid(x,y)Z=X.^2+Y.^2
mesh(X,Y,Z)坐标矩阵坐标向量纵坐标矩阵绘图函数x=-5:5;y=x;[X,Y]=meshgrid(x,y)Z=X.^2+Y.^2;mesh(X,Y,Z)(五)三维曲面图surf——三维曲面绘图函数,与网格图看起来一样与三维网线图的区别:网线图:线条有颜色,空挡是黑色的(无颜色)曲面图:线条是黑色的,空挡有颜色(把线条之间的空挡填充颜色,沿z轴按每一网格变化调用格式:
surf(x,y,z)——绘制三维曲面图,x,y,z
为图形坐标向量例:[X,Y,Z]=peaks(30)※peaks为matlab自动生成的三维测试图形surf(X,Y,Z)
surfc(X,Y,Z)—带等高线的曲面图
[X,Y,Z]=peaks(30);surfc(X,Y,Z)surfl(X,Y,Z)——被光照射带阴影的曲面图[X,Y,Z]=peaks(30);surfl(X,Y,Z)
cylinde(r,n)—三维柱面绘图函数
r为半径;n为柱面圆周等分数例:绘制三维陀螺锥面t1=0:0.1:0.9;t2=1:0.1:2;r=[t1-t2+2];[x,y,z]=cylinder(r,30);surf(x,y,z);gridfori=1:2,forj=1:2,ax((i-1)*2+j)=subplot(2,2,(i-1)*2+j);end,endt=0:pi/10:2*pi;fori=1:length(ax),cylinder(ax(i),2+cos((rand+1)*t));end例:创建4个坐标系,然后在4个坐标系中分别绘制旋转体
为球面等分数,缺省为20例:绘制三维球面[x,y,z]=sphere(30);surf(x,y,z);(六)图形修饰方法
图形颜色的修饰matlab有极好的颜色表现功能,其颜色数据又构成了一维新的数据集合,也可称为四维图形colormap(MAP)——色图设定函数,MAP为m×3维色图矩阵colormap([R,G,B])——色图设定函数matlab的颜色数据集合为红、绿、兰三颜色矩阵[R,G,B],维数m×3r,g,b在[01]区间连续取值,理论上颜色种类可达无穷多种matlab使用三维向量表示一种颜色,常用颜色数据见下表
饱和色
[000]—黑色
[001]—蓝色
[010]—绿色
[011]—浅兰
[100]—红色
[101]—粉红
[110]—黄色
[111]—白色
调和色[0.50.50.5]—
灰色[0.500]—
暗红色[10.620.4]—
铜色[0.4910.8]—
浅绿[0.4910.83]—宝石兰图形颜色可根据需要任意生成,也可用matlab配备的色图函数
hsv——饱和值色图
gray——线性灰度色图
hot——暖色色图
cool——冷色色图
bone——兰色调灰色图
copper——铜色色图
pink——粉红色图
prism——光谱色图
jet——饱和值色图IIflag——红、白、蓝交替色图注:>>surf(peaks);colormapho
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四川省生活垃圾焚烧大气污染物排放标准(征求意见稿)
- 小学“2025年垃圾分类”主题班会说课稿
- 《快乐的牧羊人》(教学设计)二年级下册人教版(2012)音乐
- 2026年乘法初步测试题及答案
- 2026年家用血压测试题及答案
- Unit 2 No Rules,No Order Section B Project教学设计-人教版(2024)七年级英语下册
- 2026年神人故事测试题及答案
- 2026年小数的意义 一 测试题及答案
- 2026年次世代场景 测试题及答案
- 语文人教部编版雨点儿第二课时教案
- 公司劳动争议预防与处理流程
- 2026苏州名城保护集团第二批招聘13人笔试参考试题及答案详解
- 2025-2030配制酒市场发展现状调查及供需格局分析预测研究报告
- GB/T 47394-2026供热燃气锅炉烟气冷凝热能回收装置
- 2026年广西真龙彩印包装有限公司招聘笔试参考题库附带答案详解
- 2026年金钥匙科技竞赛检测卷及答案详解【必刷】
- 雨课堂学堂在线学堂云《生活中的服务营销(沈阳师范)》单元测试考核答案
- 夜间施工安全申请报告范文
- 高中语文必修上册第三单元古诗词考点背诵知识清单
- 第5课 亲近大自然 课件(内嵌视频)2025-2026学年道德与法治二年级下册统编版
- 2025国能宁夏六盘山能源发展有限公司笔试参考题库附带答案详解
评论
0/150
提交评论