当前位置:首页 >> 自然科学 >>

第三讲 MATLAB数据和函数的可视化


第三讲 数据和函数的可视化

第三讲 数据和函数的可视化
数据可视化的目的: 通过图形,从一堆杂乱的离散数据中观察数据间 的内在关系 感受由图形所传递的内在本质

第三讲 数据和函数的可视化
3.1 引导 3.2 二维曲线绘图 3.3 三维绘图的基本操作

3.1 引导
3.1.1 离散数据和离散函数的可视化 3.1.2 连续函数的可视化 3.1.3 可视化的一般步骤

3.1.1 离散数据和离散函数的可视化
二元实数标量对(x,y)可以用平面上一个点表示 二元实数向量对(x,y)可以用平面上一组点表示 对于离散实函数y=f(x),取x为递增序列,求出 对应的y序列,组成二元向量对。用直角坐标中 的点序列表示,即离散函数的可视化

3.1.1 离散数据和离散函数的可视化
用图形表示离散函数 y = ( n ? 6) n=0:12; %产生一组自变量数据 产生一组自变量数据 y=1./abs(n-6); %计算相应点的函数值 计算相应点的函数值 plot(n,y,'r*','MarkerSize',20) %用红花标出数据点 用红花标出数据点 grid on %画坐标方格 画坐标方格
?1

3.1.1 离散数据和离散函数的可视化
1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 2 4 6 8 10 12

3.1.2 连续函数的可视化
连续函数的可视化也必须建立在离散数据上 为表现连续性,常用的处理方法:
– –

对区间进行更细的分割,计算更多的点 两点之间用直线连接,近似表现

注意:自变量的采样点数应足够多,如采样点数 不足不能真实地反映原函数。

3.1.2 连续函数的可视化
用图形表示连续调制波形 y = sin( t ) sin(9t ) t1=(0:11)/11*pi; %在0~pi之间取11个采样点 pi之间取11个采样点 之间取11 在 y1=sin(t1).*sin(9*t1); t2=(0:100)/100*pi;%在0~pi之间取101个采样点 pi之间取101个采样点 之间取101 在 y2=sin(t2).*sin(9*t2); subplot(2,2,1),plot(t1,y1,'r.'),axis ([0,pi,-1,1]),title('子图 (1)') 子图

3.1.2 连续函数的可视化
subplot(2,2,2),plot(t2,y2,'r.'),axis ([0,pi,-1,1]),title('子图 (2)') 子图 subplot(2,2,3),plot(t1,y1,t1,y1,'r.') axis([0,pi,-1,1]),title('子图 (3)') 子图 subplot(2,2,4),plot(t2,y2) axis([0,pi,-1,1]),title('子图 (4)') 子图

3.1.2 连续函数的可视化
子 子 (1) 1 0.5 0 -0.5 -1 0 1 2 子 子 (3) 1 0.5 0 -0.5 -1 0 1 2 3 1 0.5 0 -0.5 -1 0 1 2 3 3 1 0.5 0 -0.5 -1 0 1 2 子 子 (4) 3 子 子 (2)

3.1.2 连续函数的可视化
用数据点来表现连续函数,描述能力差 子图1、3的失真大,因为采样点的个数太少 plot指令的默认处理方法:把离散数据点用直线 连接成为连续曲线

3.1.3 可视化的一般步骤
1. 数据准备 2. 选定图形窗及子图位置 3. 调用绘图指令 4. 设置轴的范围和坐标方格线 5. 图形注释 6. 着色、明暗、灯光、材质处理(三维图形)

3.2 二维曲线绘图
最重要、最基本的指令是plot 3.2.1 plot的调用格式 3.2.2 曲线的颜色、线型和数据点形 3.2.3 坐标、刻度和分格线 3.2.4 图形标识 3.2.5 多次叠绘和多子图 3.2.6 交互式图形指令

3.2.1 plot的调用格式 的调用格式
1. plot(X,’s’) X为实向量——一条连续曲线(下标为横坐标,元素值 为纵坐标) X为实矩阵——一组曲线(按列绘制每列元素值相对其 下标的曲线,曲线数=列数) X为复矩阵——一组曲线(按列分别以实部为横坐标, 虚部为纵坐标,曲线数=列数) s字符串指定线型、颜色和数据点形,可缺省

3.2.1 plot的调用格式 的调用格式
2. plot(X,Y,’s’) XY为同长向量——一条曲线(X横,Y纵) X为向量,Y为矩阵且有一维与X等长——多条不 同颜色的曲线(X为共同的横坐标) X为矩阵,Y为向量——多条不同颜色的曲线(Y 为共同的纵坐标) XY同维矩阵——X、Y对应列为横、纵坐标(曲 线的条数等于矩阵的列数)

3.2.1 plot的调用格式 的调用格式
3. plot(X1,Y1,’s1’,X2,Y2,’s2’,…) 绘制多组曲线,每组格式与上一格式相同

3.2.1 plot的调用格式 的调用格式
plot指令演示 t=(0:pi/50:2*pi)’; k=0.4:0.1:1; Y=cos(t)*k; plot(t,Y) plot(t),plot(Y),plot(Y,t) %101×1的列向量 %1×7的行向量 %101×7的矩阵 %绘图

3.2.1 plot的调用格式 的调用格式
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 0 1 2 3 4 5 6 7

3.2.1 plot的调用格式 的调用格式
【例6.2-2】用图形表示连续调制波形 及其包络线。(图 6.2-2) t=(0:pi/100:pi)'; y1=sin(t)*[1,-1]; y2=sin(t).*sin(9*t); t3=pi*(0:9)/9; y3=sin(t3).*sin(9*t3); plot(t,y1,'r:',t,y2,'b',t3,y3,'bo') axis([0,pi,-1,1])

3.2.1 plot的调用格式 的调用格式
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 0 0.5 1 1.5 2 2.5 3

3.2.1 plot的调用格式 的调用格式
x2 y2 采用模型 + = 1 画一组椭圆 a 2 25 ? a 2 th = [0:pi/50:2*pi]'; %长度为 长度为101的列向量 的列向量 长度为 a = [0.5:.5:4.5]; %长度为 的行向量 长度为9的行向量 长度为 X = cos(th)*a; %(101x9)的矩阵 ( ) Y = sin(th)*sqrt(25-a.^2);%(101x9)的矩阵 ( ) plot(X,Y),axis(‘equal’), %是坐标轴等长刻度 是坐标轴等长刻度 xlabel(‘x’), ylabel(‘y’) %书写坐标名 书写坐标名 title(‘A set of Ellipses’) %书写图名 书写图名

3.2.1 plot的调用格式 的调用格式
A set of Ellipses 4 3 2 1 0 -1 -2 -3 -4 -6 -4 -2 0 x 2 4 6 y

3.2.2 曲线的颜色、线型和数据点形 曲线的颜色、
1. 颜色和线型 b—蓝 m—品红 - —实线 g—绿 y—黄 :—虚线 r—红 k—黑 c—青 w—白

-.—点划线 -- —双划线

3.2.2 曲线的颜色、线型和数据点形 曲线的颜色、
2. 数据点形 . —实心黑点 ^—向上三角 v—向下三角 o—空心圆 x—叉号

+—十字符 <—向左三角 d—菱形 p—五角星

*—星号 >—向右三角 h—六角星 s—方块

3.2.3 坐标、刻度和分格线 坐标、
MATLAB一方面采用一系列缺省设置,所以通常 我们不需要控制细节就可以画出满意的图形 另一方面提供高层指令修改缺省设置,使图形更 符合用户的习惯和爱好

3.2.3 坐标、刻度和分格线 坐标、
1. 坐标控制 axis auto 使用缺省设置 axis off 取消轴背景 axis(V) 人工设定坐标范围 V=[x1,x2,y1,y2,z1,z2] V=[-4,4,-1,3] axis normal 缺省矩形坐标系 axis equal 横、纵轴等长刻度 axis square 产生正方形坐标系 axis image 横、纵轴等长刻度,且坐标紧贴数据范围 axis tight 把数据范围直接设为坐标范围

3.2.3 坐标、刻度和分格线 坐标、
【例6.2-4】观察各种轴控制指令的影响。演示采用长轴为3.25,短轴为1.15的椭圆。注 意:采用多子图(图6.2-4)表现时,图形形状不仅受“控制指令”影响,而且受整 个图面“宽高比”及“子图数目”的影响。 t=0:2*pi/99:2*pi; x=1.15*cos(t);y=3.25*sin(t); subplot(2,3,1),plot(x,y),axis normal,grid on, title('Normal and Grid on') subplot(2,3,2),plot(x,y),axis equal,grid on,title('Equal') subplot(2,3,3),plot(x,y),axis square,grid on,title('Square') subplot(2,3,4),plot(x,y),axis image,box off, title('Image and Box off') subplot(2,3,5),plot(x,y),axis image fill,box off title('Image and Fill') subplot(2,3,6),plot(x,y),axis tight,box off,title('Tight')

3.2.3 坐标、刻度和分格线 坐标、
Normal and Grid on 4 2 0 -2 -4 -2 0 2 2 0 -2 -2 0 2 Equal 4 2 0 -2 -4 -2 0 Tight 2 0 -2 -1 0 1 -1 0 1 2 Square

Image and Box off 2 0 -2 -1 0 1 1 0.5 0 -0.5 -1

Image and Fill

3.2.3 坐标、刻度和分格线 坐标、
2. 分格线和坐标框 grid on/off 画出/不画分格线 grid 切换(状态翻转) box on/off 使当前坐标呈封闭式/开启式 box 切换(状态翻转) 缺省设置为不画分格线、封闭式

3.2.4 图形标识
图形标识包括:图名(Title)、坐标轴名 (Label)、图形注释(Text)和图例(Legend) 它们的最简格式: title(‘s’) 书写图名 xlabel(‘s’) 横坐标轴名 ylabel(‘s’) 纵坐标轴名 legend(‘s1’,’s2’,…) 线型、颜色、数据点的图例 text(x,y,’s’) 在图形(x,y)坐标处标注释

Clf;t=0:pi/50:2*pi y=sin(t); plot(t,y) axis([0,2*pi,-1.2,1.2]) text(pi/2,1,’/fontsize{16}/leftarrow/itsin(t)/fontname{隶书} 极大值‘) title(‘y=sin(t)’) xlabel(‘t’) ylabel(‘sin(t)’)

3.2.5 多次叠绘和多子图
1. 多次叠绘 在已经存在的图上再绘制一条或多条曲线 hold on hold off hold 保持图形和坐标轴,准备绘制新曲线 取消叠绘 在两种状态间切换

注意成对使用,否则会影响其他图形的绘制

3.2.5 多次叠绘和多子图
利用hold绘制离散信号通过零阶保持器后产生的 波形 t=2*pi*(0:20)/20; y=cos(t).*exp(-0.4*t); stem(t,y,‘g’); %绘制离散信号火柴杆图 绘制离散信号火柴杆图 hold on; stairs(t,y,‘r’); %绘制阶梯形曲线图 绘制阶梯形曲线图 hold off

3.2.5 多次叠绘和多子图

1 0.8 0.6 0.4 0.2 0 -0.2 -0.4

0

1

2

3

4

5

6

7

3.2.5 多次叠绘和多子图
2.双纵坐标图 把同一自变量的两个不同量纲、不同数量级的函数量的 变化绘制在同一张图上。 plotyy(X1,Y1,X2,Y2)以左右不同纵轴绘制两条曲线 plotyy(X1,Y1,X2,Y2,FUN)以左右不同纵轴绘制成FUN指定 形式的两条曲线 plotyy(X1,Y1,X2,Y2,FUN1,FUN2)以左右不同纵轴绘制成 FUN1、FUN2指定的不同形式的两条曲线 FUN、FUN1、FUN2是二维绘图命令。

3.2.5 多次叠绘和多子图
3. 多子图 在一个图形窗里布置几幅独立的子图 subplot(m,n,k) 选择m×n幅子图中的第k幅为当前子图 子图顺序:左上为1,向右向下编号 子图间独立,所有绘图指令可在子图中运用 再想画整幅图,先用clf指令 subplot(‘position’,[left bottom width height])产生子图位置 由人工指定.

3.2.5 多次叠绘和多子图
演示subplot指令对图形窗的分割 clf;t=(pi*(0:1000)/1000)'; y1=sin(t);y2=sin(10*t); y12=sin(t).*sin(10*t); subplot(2,2,1),plot(t,y1); axis([0,pi,-1,1])

3.2.5 多次叠绘和多子图
subplot(2,2,2),plot(t,y2); axis([0,pi,-1,1]) subplot('position',[0.2,0.05,0.6,0.4 5]) % plot(t,y12,'b-',t,[y1,y1],'r:');axis([0,pi,-1,1])

3.2.5 多次叠绘和多子图
1 0.5 0 -0.5 -1 0 1 0.5 0 -0.5 -1 1 2 3 1 0.5 0 -0.5 -1 0 1 2 3

0

0.5

1

1.5

2

2.5

3

3.2.6获取二维图形数据的指令 获取二维图形数据的指令
1.ginput [x,y]=ginput(n) 用鼠标从二维图形上获取n个点的数据坐 标(x,y)。 其他指令是把数据表现在图上,而ginput确是从图上获 取数据。 该指令仅适用于二维图形。 n必须为正整数,它表示用户通过鼠标在图上获得的数 据点个数。 指令中的x,y存放所取点的坐标

指令具体操作方法: 指令运行后,会把当前图形从后台调到前台, 同时鼠标变为十字叉; 移动鼠标,使十字叉移到待取坐标点; 点击鼠标左键,便获得数据; 重复上面操作,直到取玩n个点后,图形窗 退回后台,机器回到ginput执行前的环境。

采用图解法求(x+2)x-1的解。 clf; x=-1:0.01:5; y=(x+2).^x-2; plot(x,y); grid on [x,y]=ginput(1);

3.3 三维绘图的基本操作
3.3.1 三维线图指令plot3 3.3.2 三维网线图和曲面图

3.3.1 三维线图指令 三维线图指令plot3
plot3的使用格式与plot类似 plot3(X,Y,Z,’s’) plot3(X1,Y1,Z1,’s1’,X2,Y2,Z2,’s2’,…) X,Y,Z为同维向量——一条三维曲线(以X,Y,Z的对应
元素为x,y,z坐标画三维曲线)

X,Y,Z为同维矩阵——一组曲线(以对应列元素值绘制
一组三维曲线,曲线数=列数)

3.3.1 三维线图指令 三维线图指令plot3
plot3的简单绘图 t=(0:0.02:2)*pi;x=sin(t);y=cos(t); z=cos(2*t); plot3(x,y,z,'b-',x,y,z,'bd'), view([-82,58]),box on, %视点控制 视点控制
view([az,el])通过方位角、俯视角设置视点 通过方位角、 通过方位角 view([az,el])通过直角坐标设置视点 通过直角坐标设置视点

legend('链','宝石 链 宝石') 宝石

3.3.1 三维线图指令 三维线图指令plot3
链 宝 宝

1 1 0.5 0.5 0 -0.5 -1 1 0.5 0 -0.5 -1 -0.5 0

-1

3.3.2 三维网线图和曲面图
网线图和曲面图的绘制比曲线复杂: 绘图数据的准备 三维图形的色彩、明暗、光照和视点的处理

3.3.2 三维网线图和曲面图
1. 三维图形的数据准备 画函数z=f(x,y)所代表的三维曲面,需准备的数据: 确定x,y的取值范围和间隔, x=x1:dx:x2;y=y1:dy:y2; 构成xy平面上的自变量“格点”矩阵, [X,Y]=meshgrid(x,y); 计算自变量采样“格点”上的函数值,Z=f(X,Y)

3.3.2 三维网线图和曲面图
2. 网线图和曲面图的基本指令格式 mesh(Z)/surf(Z) 以下标为自变量画网线图/曲面图 mesh(X,Y,Z)/surf(X,Y, Z) 最常用的调用格式 mesh(X,Y,Z,C)/surf(X,Y, Z ,C) 最完整的调用格式,C用来指定各点用色

3.3.2 三维网线图和曲面图
2 2 用曲面图表现函数 z=x +y clf,x=-4:4;y=x;[X,Y]=meshgrid(x,y);

Z=X.^2+Y.^2; surf(X,Y,Z); hold on,colormap(hot) %设置当前图形窗的着色色图 设置当前图形窗的着色色图
colormap(CM) %设置当前图形窗的着色色图 ,见书上表格 设置当前图形窗的着色色图CM, 设置当前图形窗的着色色图 注意: 每个图形窗只能有一个色图。 注意:MATLAB每个图形窗只能有一个色图。 每个图形窗只能有一个色图

%生成 x-y 坐标“格点”矩阵 生成 坐标“格点” %计算格点上的函数值 计算格点上的函数值

stem3(X,Y,Z,'bo'),hold off
%用来表现在格点上计算函数值 用来表现在格点上计算函数值

3.3.2 三维网线图和曲面图

40 30 20 10 0 4 2 0 -2 -4 -4 -2 2 0 4

小结
理解连续函数可视化的实质,掌握一般步骤 掌握二维绘图指令plot的用法,熟悉图形的细节 控制 掌握三维绘图的数据准备过程,及指令的用法


相关文章:
实验六 MATLAB数据可视化
实验六 MATLAB数据可视化_计算机软件及应用_IT/计算机_专业资料。实验六一、实验...在数学或者工程中有很多函数的图形是很难画出的, 甚至难以 想象出它的样子,...
Matlab数据的可视化
Matlab数据的可视化_工学_高等教育_教育专区。Matlab 数据的可视化一、二维作图 1. plot 函数 plot(x,y)其中 x,y 为长度相同的向量,存储 x 坐标和 y 坐标。...
matlab数据可视化上机报告
第二次作业上机报告 班级 : 学号 : 姓名 : 完成作业时间: 实验目的:练习用 MATLAB 实现数据和函数的可视化。 实验过程及结果: 1、 用 rand('seed', n)函数...
【Matlab 参考教程】第七章 数据和函数的可视化
MatLab教程第5 章数据和函... 30页 5财富值 第三讲 MATLAB数据和函数... ...数据和函数的可视化 7.1 引导 7.1.1 离散数据和离散函数的可视化【*例 7....
MATLAB实验四《数据和函数的可视化》
《计算机仿真及应用》实验教案 实验四一、实验目的 数据和函数的可视化 1、掌握...第5章_Matlab数据和函数... 81页 1下载券 第三讲 MATLAB数据和函... 55...
MATLAB第五章 数据和函数的可视化ch5-1
MATLAB第五章 数据和函数的可视化ch5-1_工学_高等教育_教育专区。第五章 数据和函数的可视 化 视觉是人们感受世界、认标自然的最重要依靠。数据可视化的目 的在...
matlab_第六章_数据和函数的可视化
第三讲 MATLAB数据和函数... 55页 5财富值 六、数据和函数的可视化(m... ...线型和数据点形 曲线的色彩、线型和数据点形色彩和线型 数据点形【例 6.2.2...
【Matlab 简易教程】第七章 数据和函数的可视化
第三讲 MATLAB数据和函数... 55页 5财富值 六、数据和函数的可视化(m... ...1 。 %产生一组自变量数据 产生一组自变量数据 %计算相应点的函数值 计算相应...
MATLAB仿真在数据可视化表达中的应用实验
和完善, 它不仅具有一般数据可视化软件都 具有的功能, 还具有一些其他软件所没有的功能, 同时对一些特殊的可视化要求, 例如图形动画等,MATLAB 也有相应的功能函数。...
ch5_数据和函数的可视化
ch5_数据和函数的可视化_理学_高等教育_教育专区。matlab课程课件第5 章 数据和函数的可视化 5.1.1 离散数据和离散函数的可视化一对实数标量 ( x, y ) 可表...
更多相关标签: