1、MATLAB数据显示及存取数据显示及存取目录1 二 维 绘 图 1.1 函数plot()1.2 函数fplot()1.3 函数ezplot()二维图形的绘制是MATLAB语言图形处理的基础。本节将主要介绍函数:plot();fplot();ezplot()。1plot(y)2plot(x,y)3plot(x,y,s)y 参数y可以是向量、实数矩阵或复数向量;若y为向量,图形以向量索引为横坐标值,以向 量元素值为纵坐标值;若y为实数矩阵,则分别绘制y的各列向量;若y为复向量,图形以复向量对应的实部向量为 横坐标值,以虚部向量为纵坐标值。x y 参数x和y均可为向量和矩阵,分以下三种情况;参数x和
2、y均为n维向量;参数x为n维向量且y为mn或nm的矩 阵;参数x和y均为mn矩阵。x y s 参数x和y的含义同plot(x,y)中的相同。常见的可用字符及其意义如下表所示。函数plot()将外部的离散数据转化为图形。数据点越多绘制的曲线越精确,越能反映数据 的规律;数据点少,则可能无法正确反映数据的规律。函数fplot()帮助用户构建所需要绘制函数的数据,函数plot()的具体用法如下:其中各项参数的含义如下。function:待绘制的函数。limits:定义x轴(自变量)的取值范围 xmin xmax,或x轴和y轴(应变量)的范围 xmin xmax ymin ymax。LineSpec:
3、定义绘图的线型、颜色等。tol:相对误差容忍度,默认值为2e-3。n:当n1时,至少绘制n+1个点,默认 值为1。axes_handle:坐标轴句柄,函数的图 形将绘制在这个坐标系中。P1,P2:向函数传递参数值。X,Y:采样的自变量和对应的函数值。函数ezplot()用于绘制函数在某一自变量区域内的图形,它的具体使用方法如下:当f=f(x)时,各参数的含义如下。ezplot(f):绘制函数在默认区域-2*pix2*pi内的图形。ezplot(f,min,max):绘制函数在区域 minxmax内的图形。当f=f(x,y)时,各参数的含义如下。ezplot(f):绘制函数在默认区域-2*pix
4、2*pi,-2*piy2*pi内的图 形。ezplot(f,xmin,xmax,ymin,ymax):绘制函数f(x,y)=0在区域 xminxxmax,yminyymax内的 图形。ezplot(f,min,max):绘制函数 f(x,y)=0在区域minxmax、minymax内的图形。ezplot(x,y):绘制参数方程组x=x(t),y=y(t)在默认区域0t2*pi内的图形。ezplot(x,y,tmin,tmax):绘制参数方 程组x=x(t),y=y(t)在区域 tminttmax内的图形。ezplot(.,figure_handle):在句柄为 figure_handle的窗口
5、中绘制图形。ezplot(axes_handle,.):在句柄为 axes_handle的坐标系上绘制图形。h=ezplot(.):返回图形的句柄。需要说明的是,上述函数中的自变量名称不局限于x和y。2 三 维 绘 图 2.1 函数plot3()2.2 函数mesh()2.3 函数surf()2.4 改进的三维绘图函数最常用的三维绘图:三维曲线图,对应的MATLAB函数为 plot3()网格图和,对应的MATLAB函数为mesh()曲面图,对应的MATLAB函数为和surf()函数plot3()具体使用方法如下:其中X1、Y1、Z1为向量或矩阵,LineSpec定义曲线线型、颜色等,Prope
6、rtyName为线对象的属性名,PropertyValue为相应属性的值,h是用于存放曲线簇中每一个线对象的句柄变量。当X1、Y1、Z1为长度相同的向量时,函 数plot3()将绘得一条分别以向量X1、Y1、Z1为x,y,z轴坐标值的空间曲线;当X1、Y1、Z1均为mn的矩阵时,函数 plot3()将绘得m条空间曲线,其中,第I 条空间曲线分别以X1、Y1、Z1矩阵的第I 列分量为x,y,z轴坐标值的空间曲线。函数mesh()可以绘出在某一区间内的完整曲面,其具体使用方法如下:其中:C用于定义颜色;X和Y必须均为向量 若X和Y的长度分别为m和n,则Z必须为mn的矩阵,在这种情况下,网格线的顶点
7、为(X(j),Y(i),Z(i,j));若参数中没有提供X,Y,则将(i,j)作为Z(i,j)的X,Y轴坐标值。与函数mesh()不同,函数mesh()绘制得到的是网格图,而函数surf()绘制得到的是着色的三维曲面,其具体使用方法如下:其中,各参数的含义与函数mesh()命令中的相同。1函数meshc()和meshz()2函数surfc()前面介绍了3个基本的三维绘图函数,下面介绍一些常用的图形处理功能。函数meshc()在函数mesh()绘制的三维曲面图基础上再绘出等高线。函数meshz()的作用是在函数mesh()绘制的三维曲面图基础上再绘出边界面。函数surfc()在函数surf()绘
8、制的三维图形基础上再绘出等高线。3 图 形 处 理 3.1 图形标注 3.2 坐标轴的控制 3.3 图形数据取点 3.4 子图和图形保持 3.5 图形的打印和输出 MATLAB提供了强大的图形处理功能。下面具体的介绍 图形标注 坐标轴的控制 图形数据取点 子图和图形保持 图形的打印和输出 1标注坐标轴和图形标题 2文本标注图形 3标注图例 MATLAB提供了丰富的图形标注函数,可以方便地对所绘图形进行标注。实现标注坐标轴和填加图形标题的函数主要有xlabel()、ylabel()、zlabel()和title()等,具体使用方法基本相同并如下表示。其中:string是标注所用的文本;fname
9、是一个函数名,该函数的返回值必 须是字符串;PropertyName定义标注文本的属性;PropertyValue为对应的属性值。在标注过程中经常会遇到特殊符号的输入问题,MATLAB提供了相应的字符转换。常见的转换如下表所示。可以对标注文本进行显示控制,方式如下。bf:黑体。it:斜体。sl:透视。rm:标准形式。fontnamefontname:定义标注文字的字 体。fontsizefontsize:定义标注文字的字体大 小。在MATLAB中的文本标注:函数text(),函数gtext()使用方法如下:使用函数legend()为曲线填加图例以便区分,能够为图形中的所有曲线进行标注,并以输入
10、变量作为标注文本,其具体使用方法如下:其中:string1,string2等分别标注绘图过程 中按绘制先后顺序所生成的曲线,Location定义标注位置属性,location 用于定义属性值。图例标注位置属性值表 1函数axis()2命令zoom 3命令grid 4命令box 在MATLAB中可以通过设置参数来实现对坐标轴的各种控制,这里仅介绍常用的控制函数。该函数的作用是控制坐标轴的刻度范围及显示形式,使用方法如下:其中:xmin xmax ymin ymax zmin zmax 用于定义坐标轴的范围;string是控制字符串,可用的string。函数axis()的控制字符串表 该命令的作用
11、是控制二维图形的坐标轴缩放,使用方法如下:其中,string为控制字符串。命令zoom的控制字符串表 该命令的作用是绘制坐标网格,使用方法如下:该命令的作用是在图形边界显示坐标刻度,使用方法如下:当希望从已完成的图形中读取若干自变量对应的函数值时,使用函数ginput()读取二维图形的数据,使用方法如下:1命令hold 2函数subplot()在绘图过程中,经常会碰到下面两种情况:在已绘制的图上填加新曲线;将几个子图绘制在一个图形上。M A T L A B 提 供 命 令 h o l d 和 函 数subplot()解决上述问题。该命令常用的使用方法如下:该函数的作用是将一个图形分隔成若干子区
12、域,在指定子区域显示指定子图,使用方法如下。MATLAB提供了几种方式输出当前的图形。通过图形窗口的【Edit】菜单下的 【Copy Figure】命令,拷贝的选项可以 通过【Copy Options】进行设置。使用内置打印引擎或系统的打印服务。4 图 形 窗 口 1创建与控制2菜单操作 3工具栏 创建图形窗口的函数是figure(),使用方法如下:同时可以通过下面两个函数查阅和设置图形窗口的属性和参数。下面简要介绍图形窗口的各菜单。(1)【File】菜单【New】选项用于新建一个M-文件(M-File)、图形窗口(Figure)、Simulink 模型(Model)、MATLAB工作空间的变
13、 量(Variable)或用户界面(GUI)。【Generate M-File】选项用于生成M-函 数文件。【Import Data】选项用于导入数据。【Save Workspace As】选项用于将图 形窗口中的图形数据存储在二进制mat文 件中,它们可以供其他的编程语言(如C 语言等)调用。【Preferences】选项用于定义图形窗口 的各种设置,包括字体、颜色等。【Export Setup】选项用于打开【图形输 出】话框,可以把图形以emf、ai、bmp、eps、jpg、pdf等格式保存,并设 置有关图形窗口的显示等方面的参数。【Page Setup】选项用于打开【页面设 置】话框。设
14、置图形尺寸、纸张大小、线 型及文本类型以及坐标轴和图形设置。【Print Setup】选项用于打开【打印设 置】话框。在这里可以设置图片的题图 等。【Print Preview】选项用于打开【打印预 览】对话框。【Print】选项用于打开【打印】对话框。(2)【Edit】菜单【Copy Figure】选项用于复制图形。【Copy Option】选项用于打开【复制设 置】对话框,设置图形复制的格式、图形 背景颜色和图形大小等。该选项打开的对 话框界面与【File】|【Preferences】的 界面相同,只是当前显示的面板不同。【Figure Properties】选项用于打开图形 窗口的属性设
15、置对话框。【Axes Properties】选项用于打开【设置 坐标轴属性】对话框。【Current Object Properties】选项用于 打开设置图形窗口中当前对象(如窗口中 的坐标轴、图形等)属性的对话框。【Colormap】选项用于打开【色图编 辑】对话框。【Clear Figure】、【Clear Command Window】、【Clear Command History】和【Clear Workspace】选项 分别用于清除图形窗口中的图形、命令窗 口、历史命令和工作空间。(3)【View】菜单 该菜单用于打开各种工具栏和控制面板。图形窗口工具条用于对图形进行各种处 理。照
16、相工具条用于设置图形的视角和光照 等,可以实现从不同角度来观察所绘三 维图形,并且为图形设置不同的光照情 况。绘图编辑工具条用于向图形中添加文本标 注和各种标注图形等。绘图浏览器用于浏览当前图形窗口中的所 有图形对象。(4)【Insert】菜单 该菜单用于向当前图形窗口中插入各种标注图形。(5)【Tools】菜单 该菜单中大部分选项实现的功能,与前面介绍的几个工具条相关图标的功能一致。(6)【Desktop】菜单 该菜单用于将窗口合并到MATLAB主界面的窗口中。(7)【Window】菜单和【Help】菜单 这两个菜单与Windows系统中各种应用程序界面的相关菜单很类似。图形窗口工具栏表续表
17、5 MAT文件应用 下面重点介绍数据的保存和调用。MAT文件是MATLAB数据存储的默认文件格式,文件扩展名是.mat。可借助命令save和load实现MATLAB对数据的读写,使用方法如下:6 文件I/O 5.6.1 打开和关闭文件 5.6.2 存取二进制文件 5.6.3 存取文本文件 5.6.4 文件内的位置控制 MATLAB提供对二进制文件或ASCII文件进行方便的打开、关闭和存储等操作。1打开文件2关闭文件 根据操作系统的要求,在程序中要使用或者创建一个磁盘文件时,必须向操作系统发出打开文件的命令,使用完毕后,还必须关闭这个文件。在MATLAB中,使用C语言中的同名函数fopen()来
18、完成打开文件的功能,其具体使用方法如下:其中,filename是要打开的文件名称,permission表示对文件的处理方式,包括如下的设置参数。r:只读文件。w:只写文件,覆盖文件原有内容(如 果文件名不存在,则生成新文件)。a:增补文件,在文件尾增加数据(如果 文件名不存在,则生成新文件)。r+:读写文件(不生成文件)。w+:创建一个新文件或者删除已 有文件内容,并可进行读写操作。a+:读取和增补文件(如果文件名 不存在,则生成新文件)。所有打开的文件必须关闭,否则会造成系统资源浪费,其具体使用方法如下:可通过检查status的值来确认文件是否关闭,如果关闭成功,则返回0;否则返回1。上述代
19、码是关闭文件标识为fid的文件,如果要关闭所有打开的文件,则只需执行下面的代码:需要说明的是,打开和关闭文件的操作都比较费时,尽量不要将它们置于循环体中。1读取文件2写入文件 函数fread()可以从文件中读取二进制数据。它将读出每一个(特殊)字符对应的ASCII码,并以矩阵的形式返回,同时将文件指针放在读取的内容后,使用方法如下:其中,fid是某打开文件对应的文件标识,size控制返回矩阵的大小和形式,它的有效输入如下所示。n:读取前n个字符,并写入一个列向量中。inf:读至文件末尾。m,n:读取数据到mn的矩阵中,按列排 序。precision包括两部分:一是数据类型和精度定义,比如int
20、、float等;二是一次读取的位数。常用的精度如下表所示,并且与C语言中的类似形式进行对比。还有一些类型是与平台有关的,平台不同可能位数不同,如下表所示。函数fwrite()的作用是将矩阵元素按指定的二进制格式写入某个打开的文件,并返回成功写入的数据个数,使用方法如下:其中:fid是从某打开文件对应的文件标识;a是待写入的矩阵;precision设定了结果的精度。1读取文件2写入文件 采用函数fgetl()和函数fgets()读出文本文件中的某行内容时,使用方法如下:两个函数区别:fgetl会舍弃换行符;而fgets则保留换行符。当确定文件的ASCII码格式时,可用函数fscanf()进行更精
21、确的读取,使用方法如下:其中:fid为打开文件对应的文件标识;format为指定的字符串格式;a为返回矩阵;count为可选项,表示成功读取的数据个 数;size为可选项,可限制从文件读取的数据 数目。format用于指定读入数据的类型,常用的格式如下。%s:按字符串进行转换。%d:按十进制数据进行转换。%f:按浮点数进行转换。函数fprintf()将数据转换成指定字符串格式,并写入文本文件中,使用方法如下:其中:fid是要写入已打开文件的标识;format是指定字符串格式;y是要写入的数据;count是成功写入的字节数。fid值可以代表标准输出的1和代表标准出错的2,如果fid字段省略,则默
22、认值为1,即输出到屏幕上。常用的格式类型说明符如下。%e:科学计数形式,即数值表示成a10b形 式。%f:固定小数点位置的数据形式。%g:在上述两种格式中自动选取较短的格式。读写数据时默认从磁盘文件头开始,并顺序向后,直至文件末尾。操作系统通过一个文件指针,来指示当前的读写位置。控制文件内位置指针的函数表(1)函数feof()函数feof()用于测试指针是否在文件结束位置,使用方法如下:如果指针位于标识为fid的已打开文件的末尾,则返回1,否则返回0。(2)函数fseek()函数fseek()用于设定指针位置,使用方法如下:其中:fid是已打开文件的标识;offset是偏移量,以字节为单位;origin是基准点;status为0表示操作成功,-1表示操作失 败;如果要了解更多信息可以调用函 ferror()。(3)函数ftell()函数ftell()用于返回现在的位置指针,其具体使用方法如下:position是距离文件起始位置的字节数,如果值为-1则说明操作失败。(4)函数frewind()函数frewind()用于将指针返回到文件开始,使用方法如下:
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。