第六章 数据和函数的可视化 - 图文

2019-05-24 16:41

第六章 数据和函数的可视化

视觉是人们感受世界、认识自然的最重要依靠。数据可视化的目的在于:通过图形,

从一堆杂乱的离散数据中观察数据间的内在关系,感受由图形所传递的内在本质。MATLAB一向注重数据的图形表示,并不断地采用新技术改进和完备其可视化功能。 本章将系统地阐述:离散数据表示成图形的基本机理;曲线、曲面绘制的基本技法和指令;特殊图形的生成和使用示例;如何使用线型、色彩、数据点标记凸现不同数据的特征;如何利用着色、灯光照明、反射效果、材质体现和透明度处理渲染、烘托表现高维函数的性状;如何生成和运用标识,画龙点睛般地注释图形;如何显示和转换unit8、unit16、double三种不同数据类型所体现的变址、灰度和真彩图象,如何读写各种标准图象格式文件;如何通过图形窗的交互操作对图形进行修饰、调整;如何打印和输出图形文件。 本章的图形指令只涉及MATLAB的“高层”绘图指令。这种指令的形态和格式友善,易于理解和使用。 整章内容遵循由浅入深、由基本到高级、由算例带归纳的原则。所有算例都是运行实例,易于读者实践试验,并从中掌握一般规律。 MATLAB从5.x向6.x版本升级后,旧版中的本章全部内容几乎可以不加修改地用于6.x版。此外,本章新版为适应升级增加了或改变了如下内容:

? MATLAB从6.0版起,图形对象“面”、“块”、“象”具备了透明属性,进一步增

强了计算结果可视化的感染力。为此,本章专设第6.5.4节,详细阐述透明度处理的机理和指令协调细节。

? 在MATLAB升级过程中,专门用于图像数据存储的 unit8, unit16数据类型进一步完善。

对此,本章专辟第6.6.3节说明这种数据类型的特点和使用注意事项。

? 本章还对升级后的图形窗界面的编辑功能进行了新的全面阐述(见第6.7节)。

6.1 引导

6.1.1 离散数据和离散函数的可视化

【例6.1.1-1】用图形表示离散函数y?(n?6)n=0:12;

y=1./abs(n-6);

plot(n,y,'r*','MarkerSize',20) grid on

Warning: Divide by zero. 10.90.80.70.60.50.40.30.20.1?1。

024681012图 6.1-1

1

6.1.2 连续函数的可视化

【例6.1.2-1】用图形表示连续调制波形y?sin(t)sin(9t)。

t1=(0:11)/11*pi; % <1> y1=sin(t1).*sin(9*t1);

t2=(0:100)/100*pi; % <3> y2=sin(t2).*sin(9*t2);

subplot(2,2,1),plot(t1,y1,'r.'),axis([0,pi,-1,1]),title('子图 (1)') 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)') ×óí? (1)10.50-0.5-110.50-0.5-1×óí? (2)012×óí? (3)3012×óí? (4)310.50-0.5-110.50-0.5-101230123图 6.1-2

6.1.3 可视化的一般步骤 6.1.3.1 绘制二维图形的一般步骤 6.1.3.2 绘制三维图形的一般步骤

6.2 二维曲线绘图的基本操作

6.2.1 plot的基本调用格式

【例6.2.1-1】简单例题,比较方便的试验指令。

t=(0:pi/50:2*pi)';k=0.4:0.1:1;Y=cos(t)*k;plot(t,Y)

2

10.80.60.40.20-0.2-0.4-0.6-0.8-101234567图 6.2-1

【例6.2.1-2】用图形表示连续调制波形y?sin(t)sin(9t) 及其包络线。

t=(0:pi/100:pi)'; % <1> y1=sin(t)*[1,-1]; % <2> y2=sin(t).*sin(9*t); % <3> t3=pi*(0:9)/9; % <4>

y3=sin(t3).*sin(9*t3);plot(t,y1,'r:',t,y2,'b',t3,y3,'bo') % <5> axis([0,pi,-1,1]) % <6> 10.80.60.40.20-0.2-0.4-0.6-0.8-100.511.522.53图6.2-2

【例6.2.1-3】用复数矩阵形式画Lissajous图形。(在模拟信号时代,Lissajous图形常用来测量信号的频率。)

t=linspace(0,2*pi,80)'; % <1> X=[cos(t),cos(2*t),cos(3*t)]+i*sin(t)*[1, 1, 1]; %(80x3)的复数矩阵 plot(X) % <3> axis square % <4> legend('1','2','3')

3

10.80.60.40.20-0.2-0.4-0.6-0.8-1-1-0.500.51123图 6.2-3

x2y2?1画一组椭圆。 【例6.2.1-4】采用模型2?2a25?ath = [0:pi/50:2*pi]';

a = [0.5:.5:4.5]; X = cos(th)*a;

Y = sin(th)*sqrt(25-a.^2);

plot(X,Y),axis('equal'),xlabel('x'), ylabel('y') title('A set of Ellipses') A set of Ellipses43210-1-2-3-4-6-4-20x246y图 6.2-4

6.2.2 曲线的色彩、线型和数据点形 6.2.2.1 色彩和线型 6.2.2.2 数据点形

【例6.2.2.2-1】用图形演示平面上一个方块四个顶点在仿射投影(Affine Projection)下的位置、形状变化。

%

p1=[-0.5,0,1]';p2=[-0.5,1,1]';p3=[0.5,1,1]';p4=[0.5,0,1]'; Sq=[p1,p2,p3,p4,p1];

4

%

dx=0.5;dy=1;T=[1,0,dx;0,1,dy;0,0,1]; %

th=pi/6;R=[cos(th),-sin(th),0;sin(th),cos(th),0;0,0,1]; %

alpha=2;beta=3;S=[alpha,0,0;0,beta,0;0,0,1]; E=eye(3,3);% <10>

TRS={E,T,R,S}; %<11> ss={'r^','rd','rp','rh'}; %<12>

tt={'Original Square','Translation','Rotation','Scaling'}; % <13> for i=1:4 W=TRS{i}*Sq; % subplot(2,2,i) for k=1:4 plot(W(1,k),W(2,k),ss{k}); % <19> axis([-3,3,-1,5]),axis equal hold on % <21> end plot(W(1,:),W(2,:)) % <23> grid on % title(tt{i}) % hold off % end

Original Square543210-1-20Rotation543210-1-4-202543210-1-2022543210-1-20Scaling24Translation

图 6.2-5

6.2.3 坐标、刻度和分格线控制 6.2.3.1 坐标控制

【例6.2.3.1-1】观察各种轴控制指令的影响。演示采用长轴为3.25,短轴为1.15的椭圆。注意:采用多子图表现时,图形形状不仅受“控制指令”影响,而且受整个图面“宽高比”及“子图数目”的影响。本书这样处理,是出于篇幅考虑。读者欲想准确体会控制指令的影响,请在全图状态下进行观察。(图6.2-6)

t=0:2*pi/99:2*pi;

5


第六章 数据和函数的可视化 - 图文.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:元数据白皮书

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: