最新Matlab第五章-数据和函数的可视化资料ppt课件
- 格式:ppt
- 大小:2.05 MB
- 文档页数:7
第五部分 数据和函数的可视化视觉是人们感受世界、认识自然的最重要依靠。
数据可视化的目的在于:通过图形,从一堆杂乱的离散数据中观察数据间的内在关系,感受由图形所传递的内在本质。
MATLAB 一向注重数据的图形表示,并不断地采用新技术改进和完备其可视化功能。
这部分系统地阐述:离散数据表示成图形的基本机理;曲线、曲面绘制的基本技法和指令;特殊图形的生成和使用示例;如何使用线型、色彩、数据点标记凸现不同数据的特征;如何利用着色、灯光照明、反射效果、材质体现和透明度处理渲染、烘托表现高维函数的性状;如何生成和运用标识,画龙点睛般地注释图形;如何显示和转换unit8、unit16、double 三种不同数据类型所体现的变址、灰度和真彩图象,如何读写各种标准图象格式文件;如何通过图形窗的交互操作对图形进行修饰、调整;如何打印和输出图形文件。
本章的图形指令只涉及MATLAB 的“高层”绘图指令。
这种指令的形态和格式友善,易于理解和使用。
整章内容遵循由浅入深、由基本到高级、由算例带归纳的原则。
所有算例都是运行实例,易于用户实践试验,并从中掌握一般规律。
MATLAB 从5.x 向6.x 版本升级后,旧版中的本章全部内容几乎可以不加修改地用于6.x 版。
此外,本章新版为适应升级增加了或改变了如下内容: ● MATLAB 从6.0版起,图形对象“面”、“块”、“象”具备了透明属性,进一步增强了计算结果可视化的感染力。
为此,本章专设第5.5.4节,详细阐述透明度处理的机理和指令协调细节。
● 在MA TLAB 升级过程中,专门用于图像数据存储的 unit8, unit16数据类型进一步完善。
对此,本章专辟第5.6.3节说明这种数据类型的特点和使用注意事项。
● 本章还对升级后的图形窗界面的编辑功能进行了新的全面阐述(见第5.7节)。
5.1引导5.1.1离散数据和离散函数的可视化【例5.1.1-1】用图形表示离散函数1)6(--=n y 。
《MATLAB教案》PPT课件第一章:MATLAB概述1.1 MATLAB简介介绍MATLAB的历史和发展解释MATLAB的含义(Matrix Laboratory)强调MATLAB在工程和科学计算中的应用1.2 MATLAB界面介绍MATLAB的工作空间解释MATLAB的菜单栏和工具栏演示如何创建、打开和关闭MATLAB文件1.3 MATLAB的基本操作介绍MATLAB的数据类型演示如何进行矩阵运算解释MATLAB中的向量和矩阵运算规则第二章:MATLAB编程基础2.1 MATLAB脚本编程解释MATLAB脚本文件的结构演示如何编写和运行MATLAB脚本强调注释和代码的可读性2.2 MATLAB函数编程介绍MATLAB函数的定义和结构演示如何创建和使用MATLAB函数强调函数的重用性和模块化编程2.3 MATLAB编程技巧介绍变量和函数的命名规则演示如何进行错误处理和调试强调代码的优化和性能提升第三章:MATLAB数值计算3.1 MATLAB数值解算介绍MATLAB中的数值解算工具演示如何解线性方程组和不等式解释MATLAB中的符号解算和数值解算的区别3.2 MATLAB数值分析介绍MATLAB中的数值分析工具演示如何进行插值、拟合和数值积分解释MATLAB中的误差估计和数值稳定性3.3 MATLAB优化工具箱介绍MATLAB优化工具箱的功能演示如何使用优化工具箱进行无约束和约束优化问题解释MATLAB中的优化算法和参数设置第四章:MATLAB绘图和可视化4.1 MATLAB绘图基础介绍MATLAB中的绘图命令和函数演示如何绘制二维和三维图形解释MATLAB中的图形属性设置和自定义4.2 MATLAB数据可视化介绍MATLAB中的数据可视化工具演示如何绘制统计图表和散点图解释MATLAB中的数据过滤和转换4.3 MATLAB动画和交互式图形介绍MATLAB中的动画和交互式图形功能演示如何创建动画和交互式图形解释MATLAB中的图形交互和数据探索第五章:MATLAB应用案例5.1 MATLAB在信号处理中的应用介绍MATLAB在信号处理中的基本概念演示如何使用MATLAB进行信号处理操作解释MATLAB在信号处理中的优势和应用场景5.2 MATLAB在控制系统中的应用介绍MATLAB在控制系统中的基本概念演示如何使用MATLAB进行控制系统分析和设计解释MATLAB在控制系统中的优势和应用场景5.3 MATLAB在图像处理中的应用介绍MATLAB在图像处理中的基本概念演示如何使用MATLAB进行图像处理操作解释MATLAB在图像处理中的优势和应用场景《MATLAB教案》PPT课件第六章:MATLAB Simulink基础6.1 Simulink简介介绍Simulink作为MATLAB的一个集成组件解释Simulink的作用:模型化、仿真和分析动态系统强调Simulink在系统级设计和多领域仿真中的优势6.2 Simulink界面介绍Simulink库浏览器和模型窗口演示如何创建、编辑和运行Simulink模型解释Simulink中的块和连接的概念6.3 Simulink仿真介绍Simulink仿真的基本过程演示如何设置仿真参数和启动仿真解释Simulink仿真结果的查看和分析第七章:MATLAB Simulink高级应用7.1 Simulink设计模式介绍Simulink的设计模式,包括连续、离散、混合和事件驱动模式演示如何根据系统特性选择合适的设计模式解释不同设计模式对系统性能的影响7.2 Simulink子系统介绍Simulink子系统的概念和用途演示如何创建和管理Simulink子系统解释子系统在模块化和层次化设计中的作用7.3 Simulink Real-Time Workshop介绍Simulink Real-Time Workshop的功能演示如何使用Real-Time Workshop进行代码解释代码对于硬件在环仿真和嵌入式系统开发的重要性第八章:MATLAB Simulink库和工具箱8.1 Simulink库介绍Simulink库的结构和分类演示如何访问和使用Simulink库中的块解释Simulink库对于模型构建和功能复用的意义8.2 Simulink工具箱介绍Simulink工具箱的概念和功能演示如何安装和使用Simulink工具箱解释Simulink工具箱在特定领域仿真和分析中的作用8.3 自定义Simulink库介绍如何创建和维护自定义Simulink库演示如何将自定义块添加到库中解释自定义库对于个人和组织级模型共享的重要性第九章:MATLAB Simulink案例分析9.1 Simulink在控制系统中的应用介绍控制系统模型在Simulink中的构建演示如何使用Simulink进行控制系统设计和分析解释Simulink在控制系统教育和研究中的应用9.2 Simulink在信号处理中的应用介绍信号处理模型在Simulink中的构建演示如何使用Simulink进行信号处理仿真解释Simulink在信号处理领域中的优势和实际应用9.3 Simulink在图像处理中的应用介绍图像处理模型在Simulink中的构建演示如何使用Simulink进行图像处理仿真解释Simulink在图像处理领域中的优势和实际应用第十章:MATLAB Simulink项目实践10.1 Simulink项目实践流程介绍从需求分析到模型验证的Simulink项目实践流程演示如何使用Simulink进行项目规划和实施解释Simulink在项目管理和协作中的作用10.2 Simulink与MATLAB的交互介绍Simulink与MATLAB之间的数据交互方式演示如何在Simulink中使用MATLAB函数和脚本解释混合仿真模式对于复杂系统仿真的优势10.3 Simulink项目案例分析具体的Simulink项目案例演示如何解决实际工程问题解释Simulink在工程教育和项目开发中的应用价值《MATLAB教案》PPT课件第十一章:MATLAB App Designer入门11.1 App Designer简介介绍App Designer作为MATLAB中的应用程序开发环境解释App Designer的作用:快速创建跨平台的MATLAB应用程序强调App Designer在简化MATLAB代码部署和用户交互中的优势11.2 App Designer界面介绍App Designer的用户界面和工作流程演示如何创建新应用和编辑应用界面解释App Designer中的组件和布局的概念11.3 App Designer编程介绍App Designer中的MATLAB编程模式演示如何使用App Designer中的MATLAB代码块解释App Designer中事件处理和应用程序生命周期管理的重要性第十二章:MATLAB App Designer高级功能12.1 App Designer用户界面设计介绍App Designer中用户界面的定制方法演示如何使用样式、颜色和主题来美化应用界面解释用户界面设计对于提升用户体验的重要性12.2 App Designer数据模型介绍App Designer中的数据模型和模型视图概念演示如何创建、使用和绑定数据模型和视图解释数据模型在应用程序中的作用和重要性12.3 App Designer部署和分发介绍App Designer应用程序的部署和分发流程演示如何打包和发布应用程序解释如何为不同平台安装和运行App Designer应用程序第十三章:MATLAB App Designer案例研究13.1 图形用户界面(GUI)应用程序设计介绍使用App Designer设计的GUI应用程序案例演示如何创建交互式GUI应用程序来简化MATLAB脚本解释GUI应用程序在数据输入和结果显示中的作用13.2 数据分析和可视化应用程序设计介绍使用App Designer进行数据分析和可视化的案例演示如何创建应用程序来处理和显示大型数据集解释App Designer在数据分析和决策支持中的优势13.3 机器学习和深度学习应用程序设计介绍使用App Designer实现机器学习和深度学习模型的案例演示如何将MATLAB中的机器学习和深度学习算法集成到应用程序中解释App Designer在机器学习和深度学习应用部署中的作用第十四章:MATLAB App Designer实战项目14.1 App Designer项目规划和管理介绍App Designer项目的规划和管理方法演示如何组织和维护大型应用程序项目解释项目管理和版本控制对于团队协作的重要性14.2 App Designer与MATLAB的集成介绍App Designer与MATLAB之间的数据和功能集成演示如何在App Designer中调用MATLAB函数和脚本解释集成MATLAB强大计算和分析能力的重要性14.3 App Designer项目案例实现分析具体的App Designer项目案例实现过程演示如何解决实际工程项目中的问题解释App Designer在工程项目实践中的应用价值第十五章:MATLAB App Designer的未来趋势15.1 App Designer的新功能和技术介绍App Designer的最新功能和技术发展演示如何利用新功能和技术提升应用程序的性能和用户体验强调持续学习和适应新技术的重要性15.2 App Designer在跨平台开发中的应用介绍App Designer在跨平台应用程序开发中的优势演示如何创建适用于不同操作系统的应用程序解释跨平台开发对于扩大应用程序市场的重要性15.3 App Designer的未来趋势和展望讨论App Designer在未来的发展趋势和潜在应用领域激发学生对于应用程序开发和创新的兴趣强调持续探索和创造新应用的重要性重点和难点解析本文档为您提供了一份详尽的《MATLAB教案》PPT课件,内容涵盖了MATLAB 的基本概念、编程基础、数值计算、绘图和可视化、应用案例、Simulink的基础知识、高级应用、库和工具箱的使用、案例分析以及项目实践、App Designer 的基础知识、高级功能、案例研究、实战项目和未来趋势等方面的内容。
第五讲 MATLAB的数据可视化MATLAB的数据可视化几乎能满足一般实际工程、科学计算中所有图形需要。
Matlab可使用户计算所得的数据根据其不同情况转化成相应的图形。
可以选择直角坐标、极坐标等不同的坐标系;可以表现出平面曲线、空间曲线,绘制直方图、向量图、柱状图及空间网面图、空间表现图。
当初步完成计算结果的可视化后,Matlab还可对图形作进一步加工,如初级操作,如标注、添色、变换视角;中级操作,如控制色图、取局部视图、切片图;高级操作,如动画、句柄等。
2 二维图形2.1基本的绘图函数plot2.1.1向量式plot(v)v=[1,2,2,1,4];plot(v)t=0:pi/100:2*pi;x=cos(t);y=sin(t);A=[1,2,3,4;5,6,7,8;9,10,11,12;13,14,15,16];若X,Y为同维向量若X为向量,Y有一维与X等维的矩阵X=0:pi/100:2*pi;X=X';Y=[sin(X),cos(X),cos(X+0.5)];plot(X,Y)t1=0:pi/100:2*pi;y1=cos(t1);t2=0:pi/100:4*pi;y2=sin(t2);plot(X1,Y1,S1,X2,Y2,S2,…)y1=sin(t);y2=cos(t);plot(t,y1,'+r:',t,y2,'og--')2.32.3.1函数简介bar 生成数据的bar图形compass 生成复数的平面向量图形errorbar 生成误差的bar图形feather 生成沿x-轴分布的复数向量图hist 生成向量的统计直方图polar 生成极坐标上的函数图形quiver 生成向量的梯度场或向量场rose 生成幅角的统计直方图stairs 与bar的作用相同,但无区间间隔线段fill 生成多边型区域并进行着色填充fplot 生成数学函数的函数图形semilogx 生成x为对数坐标,y为线性坐标图形semilogy 生成y为对数坐标,x为线性坐标图形loglog 生成双对数坐标图形plotyy 生成左右两侧带y轴的图形2.3.2极坐标图形t=0:0.01:2*pi;fplot('cos(tan(pi*x))',[-0.4,1.4])2.3.4 隐函数绘制f(x,y)=0ezplot(隐函数表达式)ezplot('x^2*sin(x+y^2)+y^2*exp(x+y)+5*cos(x^2+y)')3三维图形3.1三维函数简介plot3 3维曲线contour,contour3 等高线图mesh,meshc,meshz 网格图surf,surfc,surfl 着色图fill3 3维多边型填充图3.2 三维线型图形plot3(X1,Y1,Z1,S1,X2,Y2,Z2,S2,…)3.33.3.1平面网格点的生成[X,Y]=meshgrid(x,y)生成x-y平面上小矩形顶点坐标值的矩阵3.3.2计算所有网格点处的函数值3.3.3生成网格曲面meshx=-8:0.5:8;y=x;[X,Y]=meshgrid(x,y);R=sqrt(X.^2+Y.^2)+eps;Z=sin(R)./R;mesh(Z)一般形式为mesh(X,Y,Z,C)C称为颜色矩阵,网格曲面的网格线的颜色由C值根据当前的色谱来着色mesh(Z)mesh(X,Y,Z)x=-4:4;y=x;[X,Y]=meshgrid(x,y);Z=X.^2+Y.^2;mesh(X,Y,Z)meshz(Z) 带垂帘线的网格图 Z=peaks(30); meshc(Z)meshz(Z)3.4三维着色图surfsurf 的曲面生成过程与mesh 是类似的,所不同的是mesh 仅对网格线进行着色,surf 是对网格片进行着色,而网格线用黑色标出.surf(Z,C) surf(X,Y,Z,C) surf(x,y,Z,C) x=-1.5:0.3:1.5;y=-1:0.2:1; [X,Y]=meshgrid(x,y);Z=sqrt(4-X.^2/9-Y.^2/4);surfl(X,Y,Z) 带光照效果的着色图着色方式:shading faceted 缺省着色模式,网格线为黑色shading flat 与faceted 模式类似,只是网格线也分块着色shading interp 网格块区域内部像素的颜色由该4个顶点的颜色值做双线性插值 surfl(peaks(200)),shading interp;3.5等高线图形contourcontour(Z) contour(Z,n) contour(Z,v) contour(X,Y,Z,n) contour(X,Y,Z,v) contour(x,y,Z,n) contour(x,y,Z,v)C=contourc(X,Y,Z,n) C=contourc(X,Y,Z,v) 生成等高线的x-y 坐标数据 clabel(C) clabel(C) 等高线加高度标识 其中n 是绘制等高线的数目,可缺省v 是在向量v 指定的值上绘制等高线,可缺省 Z=peaks(40); contour(Z,6)C=contourc(Z,6); clabel(C)三维等高线contour3contour3(peaks(40),6)44.1定义在面上的三维函数[X,Y,Z]=sphere(30);T=abs(Z); %假设地球的气温函数surf(X,Y,Z,T))(222z y x xe v ++-=4.2作切片图slicev=f(x,y,z)[X,Y,Z]=meshgrid(x,y,z) slice(X,Y,Z,V,xi,yi,zi)函数的四维表现x=-2:0.1:2;y=-2:0.25:2;z=-2:0.25:2; [X,Y,Z]=meshgrid(x,y,z); V=X.*exp(-X.^2-Y.^2-Z.^2); xi=[-0.7,0.7];yi=0.5;zi=-0.5;slice(X,Y,Z,V,xi,yi,zi)xlabel('x');ylabel('y');zlabel('z');hold on colorbar('horiz')view([-30,45])5图形的标注5.1 图名和坐标轴的标注title('string')xlable('string') ylabel('string') zlabel('string')legend('string1','string2',…)5.2 所画图形的文字说明text(x,y,z,'string')gtext('string')5.3分格线grid ongrid offgridx=linspace(0,2*pi,30);y=sin(x);z=cos(x);plot(x,y,'b:',x,z,'k-')xlabel('varible x'),ylabel('function y and z'), title('sin and cos curves')grid ontext(3.3,0.1,'sin(x)')text(5.1,0.3,'cosx')66.1 图形的窗口创建和控制figure figure(n) clf6.2 子图形的创建和控制subplot(m,n,p)t=0:0.1:2*pi;x=sin(t);subplot(2,2,1)plot(t,x)subplot(2,2,2)polar(t,x)subplot(2,2,3)6.3hold on hold off hold6.4坐标轴的控制axis([xmin,xmin,ymin,ymax,zmim,zmax])axis('auto') 返回坐标轴的缺省状态(自动刻度)axis(axis) 保持刻度范围不变axis('ij') 以"矩阵(ij)"坐标轴表现图形axis('xy') 以缺省的笛卡尔坐标系表现图形axis('off') 使坐标系消隐axis('on') 使坐标系显现axis('equal') 使坐标系轴刻度增量相同axis('suare') 使坐标系轴长度相同axis('normal') 关闭axis('equal') 和axis('suare')[x,y,z]=peaks(20);subplot(1,2,1);mesh(z);axis('ij');title('矩阵坐标');xlabel('J轴');ylabel('I轴');subplot(1,2,2);mesh(z);axis('xy');title('笛卡尔坐标');xlabel('X轴');ylabel('Y轴');6.5视角的控制观察函数view(az,el)二维观察的缺省值为:az=0,el=90三维观察的缺省值为:az=-37.5,el=30Z=peaks(40);subplot(1,2,1);mesh(Z),view(-37.5,30)subplot(1,2,2);mesh(Z),view(-90,0)7色彩的控制和表现7.1 颜色的表示法用一个长度为3的实数向量表示色谱:由RGB值组成的m x 3维数值矩阵,每个MATLAB图形窗口关联一个色谱矩阵,即该图形窗口中图形对象可使用的颜色伪色谱:相对于图象来说非图象真实颜色的任何一个色谱调色板:图象的特定色谱,在该色谱下,图象颜色被真实地表现出来7.3系统色谱(色图函数)MATLAB缺省着色方式是通过线性变换的方式将颜色矩阵的数值元素映射到色谱矩阵的行索引号,以该行的RGB颜色值所决定的颜色对颜色矩阵元素对应的图形位置进行着色7.5基本操作colormap(MAP) 将当前图形的色谱设为 MAPcolormap(pink)color([110])rgbplot(MAP) 把色谱矩阵中的三列数分别用红、绿、蓝三种颜色画出来pcolor 绘伪彩色图,图形使用的色彩用于表示数据的大小,而不是自然的色彩colorbar 在图形窗口中增加水平或垂直的颜色标尺以显示当前所采用的色谱colorbar('vert')colorbar('horiz')Z=peaks(40);colormap(hot)mesh(Z)colorbar('horiz')8 图形的输出(尽量保持原图形的信息)8.1 打印输出8.2 文件保存 file save as…选文件格式(上面主要是以“命令”方式讲解,其实许多命令都可以在figure窗口完成)9 补充* 前面对图形的控制都是通过命令来完成的,其实可以通过Menu+Toolbar+Mouse来完成更方便。
第 5 章 数据和函数的可视化5.1.1离散数据和离散函数的可视化一对实数标量),(y x 可表示为平面上的一个点;一对实数“向量”),(y x 可表现为平面上的一组点。
MATLAB 就是利用这种几何比拟法实现了离散数据可视化。
离散函数可视化的步骤:先根据离散函数特征选定一组自变量T N x x x ],,,[21 =x ; 再根据所给离散函数)(n n x f y =算得相应的T N y y y ],,,[21 =y ,然后在平面上几何地表现这组向量对),(y x 。
【例5.1-1】图形表示离散函数 n y =。
n=(-10:10); %适当选取自变量:通过局部的、非完整的图形最大限度地表现函数的特征 y=abs(n); %数组算法计算相应点的函数值 plot(n,y,'r.','MarkerSize',20)axis equal %为恰当显示和横、纵坐标的夹角 grid on图 5.1-1 离散函数的可视化5.1.2 连续函数的可视化连续函数可视化包含三个重要环节:一. 从连续函数获得一组采样数据,即选定一组自变量采样点(包括采样的起点、终点和采样步长), 并计算相应的函数值; 二. 离散数据的可视化; 三. 图形上离散点的连续化:(1) 增加离散点数量去获得“连续感”;(2) 线性插值:实质是顺次连接各离散点。
MATLAB 在绘制连续曲线时自动完成。
自变量采样点必须足够多,且单调排列。
【例5.1-2】用图形表示连续调制波形)9sin()sin(t t y 。
(图5.1-2)t1=(0:11)/11*pi; % 12个采样点 t2=(0:400)/400*pi;% 401个采样点t3=(0:50)/50*pi; % 51个采样点y1=sin(t1).*sin(9*t1);y2=sin(t2).*sin(9*t2);y3=sin(t3).*sin(9*t3);subplot(2,2,1),plot(t1,y1,'r.') %<7>axis([0,pi,-1,1]),title('(1)点过少的离散图形')subplot(2,2,2),plot(t1,y1,t1,y1,'r.') %<9>axis([0,pi,-1,1]),title('(2)点过少的连续图形')subplot(2,2,3),plot(t2,y2,'r.') %<11>axis([0,pi,-1,1]),title('(3)点密集的离散图形')subplot(2,2,4),plot(t3,y3) %<13> MATLAB具有自动“线性插值”绘制连续曲线的能力。