版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第三章 MATLAB 程序设计基础, 数据及数据文件1. 数据类型: 字符数组、数值数组、单元数组、结构数组Java 类和函数句柄等(表 31)。在工作空间浏览器中不同的数据类型有着不同的图标标识 (图 3 2。2. 数据文件MATLAB 支持的各种数据文件及其调用方法和返回 值见(表 3 2)(1)二进制数据文件 :以 .mat 为扩展名。是标准的 MATLAB 数据文件。.mat文件可以由MATLAB提供的save和load命 令直接存取。(2) ASC H码数据文件:扩展名为.txt,dat等, 可以是MATLAB 环境下存储,也可能是其他软件的计算结果,可以 被 MATLAB 调用,也
2、可以用文本编辑器打开进行观察与修 改。可以用save和load命令进行读入和存取。(3).图象文件 :扩展名为 .bmp, .jpg .tif 等,用于图形图象处理,可以用imread和imwrite命令进行读入和存取。(4).声音文件:扩展名为.wav ,用 waveread和 wavwrite命令进 行读入和存取。3. 数据输入向导File 菜单下的工具 Import Wizard 用于将各种类型数据 文件中的数据导入工作空间,称为数据输入向导。在 Import 对话框中输入需要导入的数据文件名后出现 Import Wizard 窗口,可预观测将要导入的数据、显示图象、播放 声音等。几种数
3、据的导入:(1) mat 数据文件调入途径: File 输入文件名,也可用 Browse 打开文件浏览 器选择输入文件;Clipboard,数据从剪贴板中调入。窗口内容:左侧,变量名称、大小、类型。右侧观察前 10 行 10列信息。Next: 显示数据输入向导窗口第二页。(2) ASC H码数据文件:输入ASC H数据文件名-选择显示数 据内容 (date)或头文本内容(textdate)-选择Next下一页进行 导入内容选择(通过钩选决定将何变量导入工作空间) 按 Finish完成导入操作或按 Cancel 终止数据的导入。(3)图象数据文件: 输入图形数据文件名-点击show image
4、(可 在图象上拖曳放大区域) 按 Finish 完成数据导入(或按 Cancel终止数据导入。( 4)。声音数据文件: 输入声音数据文件名 -点击 Play Sound 弹 出一个显示声音数据波形的图形窗口(按 Play agine 按钮重新播放声音,按 Done 按钮关闭预观察窗口) 按 Finish 完成数据导入(或按 Cancel 终止数据导入。( 5)剪贴板的数据: 需要导入已存放在系统剪贴板中的数据,点数 据输入向导窗口中的 Clipboard 选项, -Next 进入下一页 -按 Finish 完成数据导入(或按 Cancel 终止数据导入。二 M 文件MATLAB 的两种工作方式
5、: 1,交互式命令操作方式 通过命令窗 口进行交互式操作; 2,M 文件的编程工作方式。1 M 文件编程: 可用普通文本编辑器编制 MATLAB 文件,文件由纯ASC H字符组成,确定文件名后加.m扩展名,称为M文 件。运行 M 文件时,只需在命令窗口键入文件名即可。 MATLAB 提供了一个方便的编辑 /调试器,功能较多,推荐使用。 建立 M 文件的一般步骤:(1)打开文件编辑器: 最简单的方法是在操作桌面的工具栏上选择新建文件键(New M- File)或打开已有文件键(Open File),也 可以在命令窗口输入命令 edit建立新文件或输入edit filename, 打开名为 fil
6、ename 的 M 文件;( 2) 编写程序内容: 编写新的文件或修改已有文件;( 3) 保 存文件: 文件运行前必须完成保存操作,与一般的文件编辑 保存操作相同;( 4) 运行文件: 在命令窗口输入文件名即可运行。如要在编辑器中 直接完成运行,可在编辑器的 Debug菜单下save and run选项,或按 Run 快捷键,最快捷的方法是直接按 F5 键执行运M 文件有两种形式:命令文件( Script File )和函数文件 ( FunctionFile) 2。命令文件 : M 文件中最简单的一种,不需输出输入参数,用 M 文 件可以控制工作空间的所有数据。运行过程中产生的变量都是全局 变
7、量。运行一个命令文件等价于从命令窗口中顺序运行文件里的命令,程 序不需要预先定义,只要依次将命令编辑在命令文件中即可。 例:用三角函数计算画出花瓣图形。theta=-pi:0.01:pi。rho(1,:) =2*sin(5*theta)八2。rho(2,:)=cos(10*theta)八3。rho(3,: )=sin(theta)八2。rho(4,: )=5*cos(3 5*theta)八3。for k = 1:4Subplot(2,2,k),polar(theta,rho(k,: )end将程序保存成名为petals的M文件,并运行。注:(1) %引导注释行,不予执行;(2) 不需要用“ e
8、nd最为M文件的结束标志;( 3) 若文件存放在自己的目录上,在运行文件前,应先将自己的 目录设置为当前工作目录。最简单方法:在当前目录浏览器 中设置。( 4) 运行后存放在工作空间的变量可以用工作空间浏览器查看。3。函数文件如果M文件的第一个可执行行以function开始,便是函数文件,每一个函数文件定义一个函数。函数文件区别于命令文件之处在于命 令文件的变量在文件执行完成后保留在工作空间中,而函数文件内 定义的变量只在函数文件内起作用,文件执行完后即被清除。例:建立average函数用于计算矢量中单元的平均值。function y = average(x)%AVERAGE Mean of
9、vector elements.%A VERAGE(X),Whe re X is a vector, is the mean of vector element.%Non-vector input results in an error.m,n=size(x)。if(m=1) | (n=1) | (m=1& n=1)error( Input must be a vector)endy=sum(x)/length(x)。将文件存盘,缺省状态下自动存储名为 average.m 的函数。这样只 要接受一个输入参数便可计算返回一个输出参数,与其他 MATLAB 函数一样使用。例:用已建立的averag
10、e函数文件求199的平均值。z=1:99。average(z)函数文件的基本组成部分:( 1)函数定义行 :由 function 引导,并定义函数名、输入参数 和输出参数,函数定义行必须放在文件的第一个可执行行上。可以 设多个输入输出参数,如: functionx,y,z=sphere(theta,phi,rho)也可以没有输出参数,如:function printresults(x)(2) H1行:帮助文本的第一行,是供lookfor查询时使用 的;(3) 帮助文本: 主要时为自己的函数文件建立在线查询信 息;(4) 函数体: 包含全部的用于完成计算及给输出参数赋值 等工作的语句;(5) 注
11、释: 以%起始导行尾结束部分的说明文字。可放置在 程序中的任何部位。2 局部变量与全局变量用global就可以把一个变量定义为全局变量.MATLAB中变量名是区分大小写的,习惯上常将大写字母定为全局变量。如:global A B C 三程序结构8 种控制程序流程的语句 : for, while, if, switch, try, continue, break, return1。循环语句(1) for 语句 :for =表达式通常为一个矢量 形式为:m:s:n语句体end例:n=10for i=1:nx(i)=(i+1)八2。endxx =4 9 16 25 36 49 64 81 100 1
12、21例:嵌套循环:注意与end的配对。m=3。n=4。for i=1:mfor j=1:n a(i,j)=1/(i+j-1)。endendformat rat a a =11/21/31/41/21/31/41/51/31/41/51/6例: 运用非1 步长,产生 0-20 以内的偶数for i=0:2:20a(i/2+1)=i 。endaa =0 2 4 6 8 10 12 14 16 18 20(2) While 语句: 为条件循环语句 。循环不确定次数,只要表达 式的结果非零,语句体就重复执行,直到循环条件不成立为止。 While 表达式语句体end例:while循环,求解n!达到100
13、位数的第一个n是多少。 n=1。while prod(1:n)=0.90) & (grade=60)pass=1。elsefail=1 。end(1) if elsei end 语句if 表达式 1语句体 1;elseif 表达式 2 语句体 2。else语句体 3。end例: 用色彩区分数据点的范围n=100。x=1:n。y=randn(1,n)。hold onfor i=1:nif y(i)=-1 & y(i)=1plot(x(i),y(i), xr )endendhold off(3) 分支语句: switch caseend 通过对某个变量值的比较做各种不同的执行选择 形式:switc
14、h表达式(数字或字符串)case 数字或字符串 1语句体 1;case 数字或字符串 2语句体 2;otherwise语句体 n;end例:检查input_num的数值.switch input_numcase -1disp( negative one %当 input_num=-1 时显示case 0disp( zero % 当 input_num= 0 时显示case 1disp( positive one % 当 input_num= 1 时显示otherwisedisp( other value %当input_num 等于其他值时显示 end(4) 检测语句:用于检测错误并改变流程,
15、形式:try语句体 1catch语句体 2end例: 判断错误语句的用法n=4。 a=magic(3)trya_n=a(n,:),catcha_n=a(end, : ),endlasterra =81635 7a_n =4 9 2ans =Index exceeds matrix dimensions.(5)其他流程控制语句:(a), continue 语句: 用于控制 for 循环和 while 循环跳过某些执行语 句。例:continue语句的用法.fid=fopen( magic.m。, r %)打开文件count=0。%计数器置零while feof(fid)%判断是否到文件末尾lin
16、e=fgetl (fid)。if isempty(line) | strncmp(line,%,1)%判断是否为空行或注释行continue%如果是空行或注释行继续下一次循环endcount=count+1。%如果不是空行或注释行计数器加 1enddisp(sprintf( d lines ,cou%显示行数(b) break语句:用于终止for循环和while循环的执行.例: break 语句的用法 .fid=fopen( fft.m。 , %打开文件s=%清空字符数组while feof(fid)%判断是否为文件末尾line=fgetl(fid)%从文件中读行if isempty(line
17、)%如果是空行break %如果是空行退出循环ends=strvcat(s,line。)%如果不是空行,丛向连接字符数组enddisp(s)%显示字符数组结果(c )return 语句: 用于终止当前的命令序列,并返回到调用的 函数或键盘。例:return语句的用法function d=det(A) %定义函数% det(A) 计算矩阵 A 的行列式if isempty(A) %如果矩阵是空的d=1return %返回调用函数else计算过程略end四. 数据的输入与输出1数据的输入常用方法:(a)键盘输入:数据少时较方便,多时不益使用;( b) 用 M 文件产生数据: 使用于较多数据的输入;
18、(c)从ASC H码文件装载数据: 对文本格式的数据文件可 用 load 命令直接读入 MATLAB ,器内容存放在以文件 名命名的变量中( d) 利用 fopen, fscanf, fread 及 MATLAB 其他低层 I/O 命 令读取数据: 用于读取其他外部应用程序建立的各种 特定格式的数据。2。数据的输出(a) 利用 diary 命令输出语句 : 运行 diary 命令可以在当前 工作目录上产生一个名为 diary 的日记文件,文件内 容可以输出。关闭日记文件的命令为 dairy off.(b) 利用Notebook获取数据:于dairy用法相仿优点是文 字质量高,版面规范,且 M-book 中的命令可以随时 运行或修改, MATLAB 工作空间中的数据随之改变。 运行Notebook要求计算机上装有 MS-Word。(c) save 命令输出数据: 将当前内存中的变量存到文件中 去。(d) 利用 fopen, fprintf, fwrite 及其他底层 I/O 命令输出特 殊格式的数据: 如需要在其他外部应用程序中使用 MATLAB 输出的特定格式的数据,使用此方法。3. Save和load命令的使用(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 文化娱乐场所消防安全指南(标准版)
- 2026年湖南师范大学数据与备考题库化建设管理处非事业编制用工招聘备考题库及一套答案详解
- 软件测试流程与方法详细介绍
- 心理学治疗方法及案例分析
- 2025年建筑工程施工安全管理培训指南
- 医疗机构信息管理系统使用规范
- 大学俄语课程年度教学方案
- 化工生产安全操作规范指南
- 跨学科视角下数字化评价对学生创新思维培养的实证研究教学研究课题报告
- 技术人工意识原型合同
- 教学PPT课件设计探究
- 医务人员职业暴露与职业防护
- GB/T 9237-2017制冷系统及热泵安全与环境要求
- GB/T 9065.6-2020液压传动连接软管接头第6部分:60°锥形
- GB/T 3906-20203.6 kV~40.5 kV交流金属封闭开关设备和控制设备
- 2023年电大当代中国政治制度机考拼音排版绝对好用按字母排序
- GB 39669-2020牙刷及口腔器具安全通用技术要求
- 精益生产试题与答案
- 医院关于主治医师晋升前到急诊科、重症医学科轮转锻炼工作的管理规定
- L1会计研究方法论简介课件
- 大学生心理健康教育全套课件
评论
0/150
提交评论