当前位置:首页 >> 小学教育 >>

matlab课设===特殊图形绘制 4


Matlab 特殊图形绘制

利用 matlab 函数提供的特殊绘图函数来实现区域图、填充图、条形图、直 方图、圆体图、球体、椭球体、 (2 维、3 维)饼图、排列图、二维柄状图、三维 柄状图、阶梯图、散点图、轮廓图、向量图(罗盘图;羽状图、箭头图、法线图) 。 验 证 如 下 函 数 的 功 能 : surfnorm, quiver, feather, co

mpass, contour3, contour, plotmatrix, scatter, scatter3, stairs, stem, stem3, pareto, pie3, pie, ellipsoid, sphere, cylinder, hist, bar3, bar, fill3, fill, area. 利用具体实例说明 matlab 的各种绘图函数的功能

目录
1 软件介绍 ............................................................................... 1 1.1 Matlab 简介 ...................................................................... 1 2 Matlab 绘图 ............................................................................ 1 2.1 区域图的绘制 ..................................................................... 1 2.1.1 area 函数介绍 ............................................................. 2 2.1.2 用 area 绘制区域图 ......................................................... 2 2.2 填充图的绘制 .................................................................... 3 2.2.1 绘图函数 fill,fill3 ....................................................... 3 2.2.2 用 fill,fill3 绘制填充图 ................................................... 3 2.3 直方图的绘制..................................................................... 4 2.3.1 绘图函数 hist,rose ........................................................ 4 2.3.2 用 hist,rose 绘制直方图 .................................................... 5 2.4 条形图的绘制 .................................................................... 6 2.4.1 绘图函数 bar,bar3 ......................................................... 6 2.4.2 用 bar,bar3 绘制直方图.......................................................7 2.5 圆体图、球体、椭球体的绘制 ...................................................... 8 2.5.1 用 cylinder 绘制圆体图 ..................................................... 8 2.5.2 用 sphere 绘制球 .......................................................... 8 2.5.3 用 ellipsoid 绘制椭球 ...................................................... 9 2.6 二维、三维饼图的绘制 ........................................................... 10 2.6.1 绘图函数 pie,pie3 ........................................................ 10 2.6.2 用 pie,pie3 绘制饼图 ...................................................... 10 2.7 排列图的绘制 .................................................................... 12 2.8 二维、三维柄状图的绘制.......................................................... 12 2.8.1 绘图函数 stem,stem3 ..................................................... 133 2.8.2 用 stem,stem3 绘制柄状图 .................................................. 15 2.9 阶梯图的绘制 .................................................................... 16 2.9.1 绘图函数 stairs .......................................................... 17 2.9.2 用 stairs 绘制阶梯图 ...................................................... 18 2.10 散点图的绘制 ................................................................... 18 2.10.1 用 scatter,scatter3 绘制散点图 .......................................... 19 2.10.2 用 plotmatrix 绘制矩阵的散点图 ........................................... 19 2.11 轮廓图的绘制 .................................................................. 18 2.11.1 绘图函数 contour,contour3 .............................................. 18 2.11.2 用 contour,contour3 绘制轮廓图 .......................................... 18 2.12 向量图(罗盘图、羽状图、箭头图、法线图)的绘制 ................................. 20 2.12.1 用 compass 绘制罗盘图、用 feather 绘制羽状图 ............................... 20 2.12.2 用 quiver 绘制箭头图、用 surfnorm 法线图 .................................. 21

1.软件介绍 1.1.Matlab 简介

启动 Matlab 后,进入 Matlab 的默认桌面(如上图) 。第一行为菜单栏,第 二行为工具栏,下面是三个最常用的窗口。右边最大的是命令窗口( Command Window ) , 左上 方前 台为工 作空 间窗 口 (workspace) ,后 台为 当 前目录 窗口 (Current Dircstory),左下方为命令历史窗口(Command History)。左下角还有 一个开始(Start)按钮,用于快速启动各类交互界面、桌面工具和帮助等。

2. Matlab 绘图 2.1 区域图的绘制
2.1.1 area 函数介绍
面域图指令 area 。 该指令的特点是: 在图上绘制多条曲线时, 每条曲线 (除 第一条外)都是把“前”条曲线作基线,再取值绘制而成。因此,该指令所画的 图形,能醒目地反映各因素对最终结果的贡献份额。area 的第一输入宗量是单 调变化的自变量。第二输入宗量是“各因素”的函数值矩阵,且每个“因素”的 数据取列向量形式排放。第三输入宗量是绘图的基准线值,只能取标量。当基准 值为 0 (即以 x 轴为基准线)时,第三输入宗量可以缺省。

1

2.1.2 用 area 绘制区域图 area:绘制区域图
area 函数的调用格式如下: area(Y) area(X,Y) area(...,ymin) area(...,’PropertyName’,PropertyValue,...) h=area(...)

实例 2.1.2 区域图示例
Y = [ 1, 3, 1, 2, 5, 2, 5, 6, 3; 7; 3; 1];

area(Y) grid on set(gca,'Layer','top') title ('Stacked Area Plot')

图2.1.2

区域图示例

2

2.2 填充图的绘制
2.2.1 绘图函数 fill,fill3 fill 用于二维填充 fill3 用于三维填色 2.2.2 用 fill,fill3 绘制填充图 用 fill 制图程序: fill 函数的调用格式如下: fill(X,Y,C) fill(X,Y,ColorSpec) fill(X1,Y1,C1,X2,Y2,C2,...) fill(...,’PropertyName’,PropertyValue) h=fill(...) 实例 2.2.2.a 区域图示例 t = (1/16:1/8:1)'*2*pi; x1=sin(t); y1=cos(t); %八边形顶点 t=(0:1/10:1)'*2*pi; x2=2+sin(t); y2=cos(t); %十边形顶点 fill(x1,y1,'r',x2,y2,'b') %绘制添色多边形 title '二维填充图示例' axis off text(-0.75,0,'\fontname{隶书} \fontsize{32} 八边形') text(1.25,0,'\fontname{隶书} \fontsize{32} 十边形') %文字标注

3

用 fill3 制图程序: fill3 函数的调用格式如下: fill3(X,Y,Z,C) fill3(X,Y,Z,ColorSpec) fill3(X1,Y1,Z1,C1,X2,Y2,Z2,C2,...) fill3(...,’PropertyName’,PropertyValue) h=fill3(...)

实例 2.2.2.b 区域图示例 X=[0 1 1 2;1 1 2 2;0 0 1 1];%创建四个三角形 Y=[1 1 1 1;1 0 1 0;0 0 0 0]; Z=[1 1 1 1;1 0 1 0;0 0 0 0]; C=[0.5 1 1 0.5; 1 0.5 0.5 0.1667; 0.333 0.333 0.5 0.5];%色彩着色 fill3(X,Y,Z,C) title('三维填充图')

2.3 直方图的绘制 2.3.1 绘图函数 rose,hist
rose 用于绘制极坐标系下的直方图;hist 用来绘制统计直方图。

4

2.3.2 用 rose,hist 绘制直方图
rose 函数的调用格式如下: rose(theta) rose(theta,X) rose(theta,nbins) [tout,rout]=rose(...) 极坐标系下的直方图示例: theta=2*pi*rand(1,100) rose(theta) title('极坐标系下的直方图')

hist 函数的调用格式如下: n=hist(Y) n=hist(Y,X) n=hist(Y,nbins) [n,xout]=hist(...) 笛卡尔坐标系下的直方图示例: x=-2.9:0.1:2.9; y=randn(1000,1) hist(y,x) title('笛卡儿坐标系下的直方图')

5

2.4 条形图的绘制 2.4.1 绘图函数 bar,bar3 bar:绘制二维垂直条形图 bar3:绘制三维条形图函数 2.4.2 用 bar,bar3 绘制直方图 bar 函数的调用格式如下:
bar(Y) bar(X,Y) bar(...,width) bar(...,LineSpec) h=bar(...) 二维条形图示例: Y = round(rand(5,3)*10); subplot(2,2,1) bar(Y,'group') title 'Group' subplot(2,2,2) bar(Y,'stack') title 'Stack' subplot(2,2,3) barh(Y,'stack') title 'Stack' subplot(2,2,4) bar(Y,1.5) title 'Width = 1.5'

%随机函数产生 5*3 的数组,对产生的数据取整

%堆型二维垂直条形图

%堆型二维水平条形图

%设定条形的宽度为 1.5

6

用 bar3 绘图程序: bar3 函数的调用格式如下: bar3(Y) bar3(X,Y) bar3(...,width) bar3(...,’style’) bar3(...,LineSpec) h=bar3(...) 三维条形图示例:
Y = [1 2 3 4 5 6 7; 1 2 3 4 3 2 1; 7 6 5 4 3 2 1]; subplot(3,2,1) bar3(Y,'detached') title('Detached') subplot(3,2,2) bar3(Y,0.25,'detached') title('Width = 0.25') subplot(3,2,3) bar3(Y,'grouped') title('Grouped') subplot(3,2,4) bar3(Y,0.5,'grouped') title('Width = 0.5') subplot(3,2,5) bar3(Y,'stacked') title('Stacked') subplot(3,2,6) bar3h(Y,0.3,'stacked') title('Width = 0.3')

7

2.5 圆体图、球体、椭球体的绘制
2.5.1 用函数 cylinder 来绘制圆柱形图
cylinder 的调用格式: [X,Y,Z]=cylinder [X,Y,Z]=cylinder(r) [X,Y,Z]=cylinder(r,n) cylinder(...)

实例 2.4.1a 圆柱形图示例:
t=0:pi/10:2*pi; [x,y,z]=cylinder(2+cos(t),100); surf(x,y,z) axis square title('圆柱形图示例') 运行结果:

2.5.2

用 sphere 绘制球

sphere 函数调用格式: sphere sphere(n) 球体函数应用实例:
8

sphere axis equal

运行结果: 2.5.3 用 ellipsoid 绘制椭球
ellipsoid:绘制椭圆体图形(其实只是产生椭圆体据点) ellipsoid 调用格式为: [X,Y,Z]=ellipsoid(xc,yc,zc,xr,yr,zr,n) [X,Y,Z]=ellipsoid(xc,yc,zc,xr,yr,zr) ellipsoid(...)

椭圆体数据产生公式如下:

(Y ? yc ) 2 (Z ? z c ) ( X ? xc) ? ? ?1 xr yc zc
2

椭圆体示例: [x y z]=ellipsoid(1,2,3,5,1,10); view(3) surface(x,y,z) title('椭圆体:中心点(1,2,3),半径(5,1,10)') 运行结果:

%椭圆体数据的产生 % 三维视角

9

2.6 二维、三维饼图的绘制
2.6.1 绘图函数 pie,pie3 饼图指令 pie , pie3 用来表示各元素占总和的百分数。 2.6.2 用 pie,pie3 绘制饼图
用 pie 绘图程序: pie 函数的调用格式: Pie(X) Pie(X,explode) H=pie(...)

二维饼图示例
x=[1 3 0.5 2.5 2]; subplot(221); pie(x)%绘制饼图 subplot(222) explode=[0 1 0 0 0]; pie(x,explode)%加上分离的切片 subplot(223) label={'一班' '二班' '三班' '四班' '五班'}; pie(x,label);%给每个切片加上标注 subplot(224); pie(x,explode,label);%具有分离和自定义标注的功能
10

运行结果:

用 pie3 绘图程序: pie3 函数的调用格式:
pie3(X) pie3(X,explode) h=pie3(...)

三维饼图示例:
x=[5 10 7 8 1.3]; explode=[0 1 0 0 0]; pie3(x,explode) title('三维饼图') 运行结果:

11

2.7 排列图的绘制
2.7.1 绘图函数 pareto pareto 的调用格式: pareto(Y) pareto(Y,names) pareto(Y,X) h= Pareto(...) 用 pareto 绘图程序: 排列图示例:
Y=[1 2 5 3.3 0.9 5.2]; names={'一队' '二队' '三队' '四队' '五队' '六队'}; X=[1 2 3 4 5 6]; subplot(211) pareto(Y,names)%x 轴的下标标识为 names title('排列图示例一') subplot(212) pareto(Y,X) title('排列图示例二')%x 轴下标有 x 指定 运行结果:

12

2.8 二维、三维柄状图的绘制
2.8.1 绘图函数 stem,stem3 柄状图特别适用于表示数位讯号处理重的数位讯号。若要活出是新的柄头 图,可加“fill"选项。 2.8.2 用 stem,stem3 绘制柄状图 用 stem 绘图程序: Stem 的调用格式为: Stem(Y) Stem(X,Y) Stem(...,’fill’) Stem(...,LineSpec) H=Stem(...) 二维柄状图示例:
y=linspace(0,2*pi,10) stem(cos (y),'fill','-.')%对离散图的末端进行了填充 title('二维柄状图示例'); 运行结果:

用 stem3 绘图程序: Stem3 的调用格式为:
13

Stem3(Y) Stem3(X,Y,Z) Stem3(...,’fill’) Stem3(...,LineSpec) H=Stem3(...) 三维饼状图示例:
X=linspace(0,2*pi,50); Y=X./2; Z=sin(X)+cos(Y); stem3(sin(X),cos(Y),Z,'fill') xlabel('sin(X)'); ylabel('cos(Y)'); zlabel('sin(X)+cos(Y)'); title('三维柄状图示例'); 运行结果:

2.9 阶梯图的绘制
2.9.1 绘图函数 stairs 使用 stairs 指令,可画出阶梯图,其精神和柄状图相近,只是将目前资料点的 高度向右水平画至下一点为止。

14

2.9.2 用 stairs 绘制阶梯图 绘图程序: Stairs 函数的调用格式: Stairs(Y) Stairs(X,Y) Stairs(...,LineSpec) [xb,yb]=Stairs(Y) [xb,yb]=Stairs(X,Y) 阶梯图示例:
x=0:.25:10; subplot(211) stairs(x,sin(x)) title('stairs 函数应用示例') subplot(212) [xb,yb]=stairs(x,sin(x));%返回 plot 函数的两个参数 plot(xb,yb) title('plot 函数实现 stairs 函数应用示例') 运行结果:

15

2.10 散点图的绘制
2.10.1 用 scatter,scatter3 绘制散点图 散点图指令 scatter3 标志三维数据点, 前三个输入宗量必须是同长的向量。 用 scatter 绘图程序: Scatter 函数的调用格式如下: Scatter(X,Y,S,C) Scatter(X,Y) Scatter(X,Y,S) Scatter(...,markertype) Scatter(...,’filled’) H=scatter(,,,,)
二维散点图 x=rand(1,100)*100;%绘制图标的 x,y 轴的坐标 y=rand(1,100)*100; s=rand(1,100)*100;%绘制图标的大小 c=rand(1,100)*255;%绘制图标的颜色 subplot(2,1,1) scatter(x,y);%绘制具有默认大小与颜色的二维散点图 title('二维散点图指令 scatter(x,y)'); subplot(2,1,2) scatter(x,y,s,c);%绘制由参数 s、c 定义的二维散点图 title('二维散点图指令 scatter(x,y,s,c)'); 运行结果:

用 scatter3 绘图程序: scatter3 调用函数格式如下: scatter3(X,Y,Z,S,C) Scatter(X,Y,Z)
16

scatter3(X,Y,Z,S) scatter3(...,markertype) scatter3(...,’filled’) H=scatter3(...,)
三维散点图示例: [x,y,z]=sphere(16);%获取球体的坐标 X=x(:); Y=y(:); Z=z(:);%矩阵的转换 S=floor((abs(Z)+1)*50); C=floor(abs(Z)*255);%定义图标大小和颜色与球体的纬度有关 scatter3(X,Y,Z,S,C,'filled')%绘制三维散点图,填充图标 title('三维散点图:球体示例') 运行结果:

用 plotmatrix 绘制矩阵的散点图 指令 plotmatrix 有两种基本调用方式: (1)对 于 数 据 矩 阵 维的 X 和 维的 Y ,调用格式 个子散 维的

plotmatrix(X,Y) 将画出一个分割成 点图是根据 Y 第 列和 X 第

个子散点图。其中第

列数据画出的。 (2)对于数据矩阵

X , 调用格式 plotmatrix(X) 将画出分割成
17

个子块的图。 该图的对角块,

画出的是 X 每列的数据的频数直方图;而其他子块是相应列构成的散点图。该 指令可用来观察数据矩阵(或同一矩阵列向量)间的统计关系。 绘图程序:
散点图矩阵 Plotmatrix 函数的调用格式如下: Plotmatrix(X,Y) Plotmatrix(...,’LineSpec) [H,AX,BigAx,P]=plotmatrix(...) 散点图矩阵示例图: x=randn(50,3); y=x*[-1 2 1;2 0 1;1 -2 3];%定义绘制矩阵值 plotmatrix(y,'*b') title('绘制 3× 3 散点图矩阵') 运行结果:

2.11 轮廓图的绘制
2.11.1 绘图函数 contour,contour3
contour(Z):绘制矩阵 Z 的等高线图,其中 Z 为相对 X-Y 平面的高度,Z 必 须是至少 2*2 的矩阵且其中至少有两个不同的值。 等高线的级数和各级等高线的 数值是基于 Z 的最大和最小值之间自动选取的,X 和 Y 的范围分别是[1:n]和 [1:m], 其中[m,n] = size(Z)。 contour(Z,n):绘制矩阵 Z 的 n 级等高线图。 2.11.2 用 contour,contour3 绘制轮廓图 绘图程序:
二维轮廓图
18

[X,Y]=meshgrid(-2:.2:2,-2:.2:3);%表面网格函数 Z=X.*exp(-X.^2-Y.^2); [C,h]=contour(X,Y,Z,10);%绘制轮廓线 clabel(C,h)%对轮廓线进行标注 title('二维轮廓图示例') 运行结果:

填充轮廓线示例: Z = peaks; [C,h] = contourf(Z,10); %绘制二维轮廓线,并且填充 caxis([-20 20]) %伪色彩,设置轴参数 CLim 和 CLimMode clabel(C,h) %标注轮廓线 title('Filled Contour Plot Using') %轮廓线图形标题

三维轮廓图示例:

[X,Y]=meshgrid([-2:.25:2]);
19

Z=X.*exp(-X.^2-Y.^2); [C,h]=contour3(X,Y,Z,30);%绘制三维轮廓图 grid off %clabel(C,h) title('三维轮廓图示例') 运行结果:

2.12 向量图(罗盘图、羽状图、箭头图、法线图)的绘制
2.11.1 用 compass 绘制罗盘图、用 feather 绘制羽状图 函数 feather 复平面图形, 把复数矩阵中的元素的相角和幅值显示成沿横轴 等 间 辐 射 的 箭 头 , 格 式 feather(z),feather(x,y) 等 价 于 feather(x+y*i),feather(z,str),str 是确定的线形绘制箭头。 用 compass 绘图程序:
罗盘图示图: X=[0 30 90 45 145 270 330 225 150]; Y=[5 9 3 10 6 3 2.6 8 7.4]; X=X*pi/180; [X,Y]=pol2cart(X,Y);%极坐标转化为直角坐标 compass(X,Y); title('罗盘图示例')
20

运行结果:

用 feather 绘图程序:
羽状图示例: theta=(-90:10:90)*pi/180; r=2*ones(size(theta)); [u,v]=pol2cart(theta,r); feather(u,v); title('羽状图示例') 运行结果:

2.11.2 用 quiver 绘制箭头图、用 surfnorm 法线图 用 quiver 绘图程序:
二维箭头图示例: [X,Y]=meshgrid(-2:.2:2); Z=X.*exp(-X.^2-Y.^2); [DX,DY]=gradient(Z,.2,.2);%计算梯度,.2 是 DX 方向距离
21

contour(X,Y,Z) hold on quiver(X,Y,DX,DY) grid off hold off title('二维箭头图示例') 运行结果:

三维箭头示图示例:

用 surfnorm 绘图程序: [X,Y] = meshgrid(-2:0.25:2,-1:0.2:1); Z = X.* exp(-X.^2 - Y.^2); [U,V,W] = surfnorm(X,Y,Z); %返回三维表面图的法线 quiver3(X,Y,Z,U,V,W,0.5); %绘制三维箭头图 hold on surf(X,Y,Z); %绘制网状表面图 axis ([-2 2 -1 1 -.6 .6]) %坐标设定 hold off title '三维箭头图示例'

22

法线图 Surfnorm 函数调用格式如下: Surfnorm(Z) Surfnorm(X,Y,Z) [Nx,Ny,Nz]=surfnorm(...) 绘制 peaks 图的法线示例: [x y z]=peaks(20); surfnorm(x,y,z); 运行结果:

23


相关文章:
matlab课设
matlab课设===特殊图形绘... 31页 4下载券 matlab自动控制仿真课设 19页 2...1.2Matlab 的功能 MATLAB 可以进行矩阵运算、绘制函数和数据、实现算法、创建...
MATLAB课设
matlab课设可运行 11页 免费 matlab课设===特殊图形绘... 31页 4下载券 matlab...武汉理工大学《Matlab 课程设计》 课程设计任务书学生姓名: 指导教师: 专业班...
matlab图形标记
如何在matlab中绘制图形 50页 3下载券 matlab课设===特殊图形绘... 31页 4下载券 matlab图形窗口标注问题 3页 免费 matlab第6章MATLAB图形绘... 51页 1下载...
matlab课设===特殊图形绘制
matlab课设===特殊图形绘制matlab课设===特殊图形绘制隐藏>> 德州学院机电工程...序号 阶段内容 所需时间 1 2 3 4 方案设计 软件设计 系统调试 答辩 合计 1...
Matlab应用课程设计——Matlab特殊图形绘制
Matlab应用课程设计——Matlab特殊图形绘制_工学_高等...序号 1 2 3 4 阶段内容 方案设计 软件设计 系统...我觉得通过这次课设之后,我发现 MATLAB 强大的功能...
Matlab课设
matlab课设===特殊图形绘... 31页 4下载券 matlab自动控制仿真课设 19页 2...Matlab 可以经行矩阵运算、绘制函数和数据、实现算法、创建用 户界面、连接其他...
matlab课设
matlab课设===特殊图形绘... 31页 4下载券 matlab自动控制仿真课设 19页 2...画 出程序设计框图,编写程序代码(含注释) ,上机调试运行程序,记录实验结果 (含...
制图课设
matlab课设===特殊图形绘... 31页 4下载券 第2课-第2章-绘图基本设......AutoCAD2002 机械制图绘制精解.北京:人民邮电出版社,2002. [4]余强, 符新伟....
我的matlab课设
matlab课设===特殊图形绘... 31页 4下载券 matlab自动控制仿真课设 19页 2...一个图形绘制窗口, 一个按钮还初始化图形窗口,由此设计图形界面,其步骤为:双击...
matlab课设
MATLAB课设报告 21页 20财富值 matlab课设===特殊图形绘制... 31页 10财富...《MATLAB 课程设计》 2.2.4 矩阵的方差调用函数 var 格式: V = var(X) ...
更多相关标签:
matlab图形绘制 | matlab绘制三维图形 | matlab二维图形的绘制 | matlab绘制函数图形 | matlab 绘制炫酷图形 | matlab绘制多个图形 | matlab绘制二维图形 | matlab绘制图形范围 |