第三章 MATLAB程序设计基础 chapter 3: Foundation of matlab program design 数据及数据文件( Data and data file) 1.数据类型: Data mode)用于编程和计算的数据类型(表3-1) 数组: 字符数组( Character array) 数值数组( Numeric array 包括整形in8,uint8,intl6,uinl6,int32,uint32)单精度 ( signal),双精度(dube)( MATLAB最常用的变量类型), 稀疏( sparce)数组。、 Int-- Integrate Uint---Unsigned INteger data 单元数组 ell array) 结构数组 Structure array Java 类 (Java class) 函数句柄( Function handlel) 在工作空间浏览器中不同的数据类型有着不同的图标标识,(见 图3-2) 2.数据文件( Data file MATLAB支持的各种数据文件( Readable file formats of MATLAB)及其调用方法和返回值见(表3-2) (1)二进制数据文件:( Binary date file)以mat为扩展名。是标准的 MATLAB数据文件,以二进制编码形式存储。mat文件可以由 MATLAB提供的save和load命令直接存取。 (2)ASCⅡ码数据文件:( ASCI code data file)扩展名为t,dat 等,可以是在 MATLAB环境下存储的,也可能是其他软件的计算
第三章 MATLAB 程序设计基础 chapter 3: Foundation of MATLAB program design 一、 数据及数据文件(Data and Data file) 1. 数据类型:(Data mode) 用于编程和计算的数据类型(表 3—1) 数组: 字符数组(Character array)、 数值数组(Numeric array)— 包括整形(int8,uint8,int16,uint16,int32,uint32)单精度 (signal), 双精度(duble)(MATLAB 最常用的变量类型), 稀疏(sparce)数组。、 Int---Integrate. Uint---Unsigned INTeger data 单元数组(Cell array)、 结构数组(Structure array) Java 类(Java class) 函数句柄(Function handle) 在工作空间浏览器中不同的数据类型有着不同的图标标识,(见 图 3—2)_ 2. 数据文件(Data file) MATLAB 支持的 各种数 据文件 (Readable file formats of MATLAB)及其调用方法和返回值见(表 3—2) (1)二进制数据文件:(Binary date file) 以.mat 为扩展名。是标准的 MATLAB 数据文件,以二进制编码形式存储。.mat 文件可以由 MATLAB 提供的 save 和 load 命令直接存取。 (2)ASCⅡ码数据文件:(ASCⅡ code data file)扩展名为.txt, .dat 等, 可以是在 MATLAB 环境下存储的,也可能是其他软件的计算
结果,可以被 MATLAB调用,也可以用文本编辑器打开进行观察与 修改。可以用save和load命令进行读入和存取。 (3)图象文件: Graphics file)扩展名为bmp,jpg.fif等,用于图形图 象处理,可以用 imread和 amorite命令进行读入和存取 (4).声音文件:( Sound file)扩展名为wav,用 wavered和 wavwrite 命令进行读入和存取。 Readable file formats Data formats Command Returns MAT-MATLAB workspace load Variables in file Double DAT- Formatted text importdata Double DLM- Delimited tex dread Double array. TAB-Tab separated text dread Double array. Spreadsheet formats XLS- Excel worksheet mIsread Double array and cell array. WKI- Lotus 123 worksheet wklread Double array and cell array. Scientific data formats CDF- Common Data Format cdfread Cell array of cDF records FITS- Flexible Image Transport System fitsread Primary or extension table data HDF Hierarchical data Format hdfread hdf or hdf-eos data set Movie format Avi- Movie viread MATLAB movie Image formats TIFF-TIFF image Imre Truecolor, grayscale or indexed image(s). PNG -PNG image imread Truecolor, grayscale or indexed Image. HDF-HDF image imread Truecolor or indexed image(s). BMP-BMP image Truecolor or indexed image. JPEG-JPEG image imread Truecolor or grayscale image. GIF -GIF image imread Indexed image PCX -PCX image imread Indexed image ⅹwD- XWD image Imre Indexed image. CUR- Cursor image imread Indexed image. ICO-Icon image lmra Indexed image Ras- Sun raster image imread Truecolor or indexed PBM -PBM image imread Grayscale image
结果,可以被 MATLAB 调用,也可以用文本编辑器打开进行观察与 修改。 可以用 save 和 load 命令进行读入和存取。 (3).图象文件:(Graphics file) 扩展名为.bmp, .jpg .tif 等,用于图形图 象处理,可以用 imread 和 imwrite 命令进行读入和存取。 (4).声音文件: (Sound file) 扩展名为.wav ,用 waveread 和 wavwrite 命令进行读入和存取。 Readable file formats. Data formats Command Returns MAT- MATLAB workspace load Variables in file. CSV- Comma separated numbers csvread Double array. DAT- Formatted text importdata Double array. DLM- Delimited text dlmread Double array. TAB- Tab separated text dlmread Double array. Spreadsheet formats XLS - Excel worksheet xlsread Double array and cell array. WK1- Lotus 123 worksheet wk1read Double array and cell array. Scientific data formats CDF - Common Data Format cdfread Cell array of CDF records FITS- Flexible Image Transport System fitsread Primary or extension table data HDF - Hierarchical Data Format hdfread HDF or HDF-EOS data set Movie formats AVI - Movie aviread MATLAB movie. Image formats TIFF - TIFF image imread Truecolor, grayscale or indexed image(s). PNG - PNG image imread Truecolor, grayscale or indexed image. HDF - HDF image imread Truecolor or indexed image(s). BMP - BMP image imread Truecolor or indexed image. JPEG - JPEG image imread Truecolor or grayscale image. GIF - GIF image imread Indexed image. PCX - PCX image imread Indexed image. XWD - XWD image imread Indexed image. CUR - Cursor image imread Indexed image. ICO - Icon image imread Indexed image. RAS - Sun raster image imread Truecolor or indexed. PBM - PBM image imread Grayscale image
PGM - PGMimage imread Grayscale image. PPM -PPM image imread Truecolor image. Audio formats au -NeXT/Sun sound aurea Sound data and sample rate. SND- NeXT/Sun sound aurea Sound data and sample rate. WAV-Microsoft Wave sound wavread Sound data and sample rate 3.数据输入向导( Import wizard) File菜单下的工具 Import wizard用于将各种类型数据文件中 的数据导入工作空间,称为数据输入向导。在 Import对话框中输入 需要导入的数据文件名后出现 Import wizard窗口,可预观测将要导 入的数据、显示图象、播放声音等。 几种数据的导入: (1)mat数据文件( mat data file) 调入途径:Fie输入文件名,也可用 Browse打开文件浏览器选择 输入文件; Clipboard,数据从剪贴板中调入, 窗口内容:左侧,变量名称、大小、类型。右侧观察前10行10列信 Next:显示数据输入向导窗口第二页。 (2)ASCⅡ码数据文件:( ASC I code data file)输入ASCⅡ数 据文件名选择显示数据内容(data)或头文本内容( textdata) 选择Next下一页进行导入内容选择(通过钩选决定将何变量导入工 作空间)-按 Finish完成导入操作或按 Cancel终止数据的导入。 (3)图象数据文件:( Graphics data file)输入图形数据文件名一点 击 show image(可在图象上拖曳放大区域)--按 Finish完成数据 导入(或按 Cancel终止数据导入)。 (4)声音数据文件:( Sound data file)输入声音数据文件名-点击 Play Sound弹出一个显示声音数据波形的图形窗口(按 Play agine 按钮重新播放声音,按Done按钮关闭预观察窗口)-按 Finish完 成数据导入(或按 Cancel终止数据导入)
PGM - PGM image imread Grayscale image. PPM - PPM image imread Truecolor image. Audio formats AU - NeXT/Sun sound auread Sound data and sample rate. SND - NeXT/Sun sound auread Sound data and sample rate. WAV - Microsoft Wave sound wavread Sound data and sample rate. 3. 数据输入向导(Import wizard) File 菜单下的工具 Import Wizard 用于将各种类型数据文件中 的数据导入工作空间,称为数据输入向导。在 Import 对话框中输入 需要导入的数据文件名后出现 Import Wizard 窗口,可预观测将要导 入的数据、显示图象、播放声音等。 几种数据的导入: (1) mat 数据文件( mat data file) 调入途径: File 输入文件名,也可用 Browse 打开文件浏览器选择 输入文件;Clipboard,数据从剪贴板中调入。 窗口内容:左侧,变量名称、大小、类型。右侧观察前 10 行 10 列信 息。 Next: 显示数据输入向导窗口第二页。 (2)ASCⅡ码数据文件:(ASCⅡ code data file) 输入 ASCⅡ数 据文件名---选择显示数据内容 (data)或头文本内容(textdata)--- 选择 Next 下一页进行导入内容选择(通过钩选决定将何变量导入工 作空间)---- 按 Finish 完成导入操作或按 Cancel 终止数据的导入。 (3)图象数据文件:(Graphics data file) 输入图形数据文件名---点 击 show image(可在图象上拖曳放大区域)------按 Finish 完成数据 导入(或按 Cancel 终止数据导入)。 (4)声音数据文件:(Sound data file) 输入声音数据文件名---点击 Play Sound 弹出一个显示声音数据波形的图形窗口(按 Play agine 按钮重新播放声音,按 Done 按钮关闭预观察窗口)------按 Finish 完 成数据导入(或按 Cancel 终止数据导入)
(5)剪贴板的数据:( Clipboard data)需要导入已存放在系统剪贴 板中的数据,点数据输入向导窗口中的 Clipboard选项,-Next进入 下一页一按 Finish完成数据导入(或按 Cancel终止数据导入)。 二.M文件( M-file) MATLAB的两种工作方式:1,交互式命令操作方式 Interactive mode)通过命令窗口进行交互式操作;2,M文件( M-file)的编程 工作方式( programming mode) 1.M文件编程:( M-file program)可用普通文本编辑器编制 MATLAB文件,文件由纯ASCⅡ字符组成,确定文件名后加m扩展 名,称为M文件。 MATLAB提供了一个方便的编辑/调试器,功能较多,推荐使用。 建立M文件的一般步骤:( normal process of M- file creating) (1)打开文件编辑器:( Opening the file editor)最简单的方法是在 操作桌面的工具栏上选择新建文件键(NewM-Fle)或打开已 有文件键( Open File,也可以在命令窗口输入命令ed建立新文 件或输入 edit filename,打开名为 filename的M文件; (2)编写程序内容:( Compose the program content)编写新的文件 或修改已有文件; (3)保存文件:( save file)文件运行前必须完成保存操作,与一般 的文件编辑保存操作相同; (4)运行文件:( running file)在命令窗口输入文件名即可运行。如 要在编辑器中直接完成运行,可在编辑器的Deb吗g菜单下save and run选项,或按Run快捷键,最快捷的方法是直接按F5 键执行运行。 M文件有两种形式:命令文件( Script File)和函数文件( Function file 2.命令文件:( Script File)M文件中最简单的一种,是可用于自动重 复执行的一组 MATLAB命令和函数组合,不需输出输入参数,用M 文件可以调用工作空间已有的变量或创建新的变量。运行过程中产生
(5)剪贴板的数据:(Clipboard data) 需要导入已存放在系统剪贴 板中的数据,点数据输入向导窗口中的 Clipboard 选项,--Next 进入 下一页--按 Finish 完成数据导入(或按 Cancel 终止数据导入)。 二. M 文件(M-file) MATLAB 的两种工作方式:1,交互式命令操作方式(interactive mode)—通过命令窗口进行交互式操作;2,M 文件(M-file) 的编程 工作方式(programmingmode)。 1. M 文件编程:(M-file program)可用普通文本编辑器编制 MATLAB 文件,文件由纯 ASCⅡ字符组成,确定文件名后加.m 扩展 名,称为 M 文件。 MATLAB 提供了一个方便的编辑/调试器,功能较多,推荐使用。 建立 M 文件的一般步骤:(normal process of M- file creating) (1)打开文件编辑器:(Opening the file editor) 最简单的方法是在 操作桌面的工具栏上选择新建文件键(New M- File)或打开已 有文件键(Open File),也可以在命令窗口输入命令edit建立新文 件或输入 edit filename, 打开名为 filename 的 M 文件; (2)编写程序内容:(Compose the program content) 编写新的文件 或修改已有文件; (3)保存文件:(save file) 文件运行前必须完成保存操作,与一般 的文件编辑保存操作相同; (4)运行文件:(running file) 在命令窗口输入文件名即可运行。如 要在编辑器中直接完成运行,可在编辑器的 Debug 菜单下 save and run 选项,或按 Run 快捷键,最快捷的方法是直接按 F5 键执行运行。 M 文件有两种形式:命令文件(Script File)和函数文件(Function File) 2. 命令文件: (Script File) M 文件中最简单的一种,是可用于自动重 复执行的一组 MATLAB 命令和函数组合,不需输出输入参数,用 M 文件可以调用工作空间已有的变量或创建新的变量。运行过程中产生
的变量都是全局变量 建立一个命令文件等价于从命令窗口中顺序输入文件里的命令,程 序不需要预先定义,只要依次将命令编辑在命令文件中,再将程序保 存成为扩展名为m的M文件即可 运行命令文件时,只需在命令窗口键入文件名即可。 例:用三角函数计算画出花瓣图形。 theta=-pi: 0.01: pi rho(l, )=2 sin(5*theta). 2 %计算四种不同rho rho(2, )=cos(10*theta). 3; rho(3, sin(theta). 2 rho(4 )-=5*cos(3.5*theta). 3; for k= 1: 4 Subplot(2, 2, k), polar(theta, rho(k,: ) end 将程序保存成名为 petals的M文件并运行。 注 (1)“%“引导注释行,不予执行; (2)不需要用“end”最为M文件的结束标志; (3)若文件存放在自己的目录上,在运行文件前,应先将自己的目 录设置为当前工作目录。最简单方法:在当前目录浏览器中设 (4)运行后存放在工作空间的变量可以用工作空间浏览器查看。 3。函数文件( Function File) 如果M文件的第一个可执行行以 function开始,便是函数文件,每 一个函数文件定义一个函数。函数文件区别于命令文件之处在于命令 文件的变量在文件执行完成后保留在工作空间中而函数文件内定义 的变量只在函数文件内起作用,文件执行完后即被清除。 例:建立 average函数用于计算矢量中单元的平均值
的变量都是全局变量。 建立一个命令文件等价于从命令窗口中顺序输入文件里的命令,程 序不需要预先定义,只要依次将命令编辑在命令文件中,再将程序保 存成为扩展名为.m 的 M 文件即可。 运行命令文件时,只需在命令窗口键入文件名即可。 例:用三角函数计算画出花瓣图形。 theta=-pi:0.01:pi; rho(1,:) =2*sin(5*theta).^2; %计算四种不同 rho rho(2,:)=cos(10*theta).^3; rho(3,: )=sin(theta).^2; rho(4,: )=5*cos(3.5*theta).^3; for k = 1:4 Subplot(2,2,k), polar(theta,rho(k,: )) end 将程序保存成名为 petals 的 M 文件,并运行。 注: (1) ‘%‘引导注释行,不予执行; (2) 不需要用“end”最为 M 文件的结束标志; (3) 若文件存放在自己的目录上,在运行文件前,应先将自己的目 录设置为当前工作目录。最简单方法:在当前目录浏览器中设 置。 (4) 运行后存放在工作空间的变量可以用工作空间浏览器查看。 3。函数文件(Function File) 如果 M 文件的第一个可执行行以 function 开始,便是函数文件,每 一个函数文件定义一个函数。函数文件区别于命令文件之处在于命令 文件的变量在文件执行完成后保留在工作空间中,而函数文件内定义 的变量只在函数文件内起作用,文件执行完后即被清除。 例:建立 average 函数用于计算矢量中单元的平均值