




免费预览已结束,剩余57页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2节称为MATLAB程序设计、1M文件2程序控制结构3函数文件4程序示例5程序调试、1M文件1.1M文件概要、用MATLAB语言写的程序、m文件。 根据调用方式的不同,m文件可以分为1、命令文件(也称为脚本文件) (ScriptFile)2和函数文件(FunctionFile )两种。 “命令文件”(ScriptFile):命令简单罗列,使用主窗口变量,输出也存储在主窗口的相应内存中。 函数文件:除了命令列表外,还具有参数的输入输出操作,并具有固定形式。 1、首先创建命令文件,用文件名f2c.m保存。 清除; 清除%工作区变量f=input (华氏温度f=); 如果您输入c=5*(f-32)/92,并在MATLAB命令窗口中输入f2c,则将创建一个命令文件,其中f2c中输入华氏f=73c=22.7778,并将华氏f转换为摄氏c。 创建和打开1.2M文件,创建1.2.1 .新的m文件启动MATLAB文本编辑器以创建新的m文件,(1)菜单操作:从File菜单中选择New菜单项,然后选择M-file命令(2)命令操作:在MATLAB命令窗口中输入命令edit后,MATLAB文本编辑器将启动。 m文件是可以通过任何编辑程序创建和编辑的文本文件。 (3)指令按钮操作:点击MATLAB主窗口工具栏的NewM-File指令按钮。 1.2.2打开现有的m文件和打开现有的m文件有以下三种方法: (1)菜单操作:从File菜单中选择Open命令后,显示Open对话框,在对话框中选择要打开的m文件。 (2)命令操作。 在MATLAB命令窗口中输入命令:输入edit文件名可打开指定的m文件。 (3)命令按钮操作。 单击主窗口工具栏上的OpenFile命令按钮,然后在弹出对话框中选择要打开的m文件。 此外,第二程序控制结构2.1序列结构一般结构2.1.1 .数据的输入若从键盘输入数据,则能够使用input函数实现,该函数的调用形式中存在变量=input (提示信息,可选)的提示信息是如果在调用input函数时使用s选项,用户可以输入字符串,如果省略,则无法识别字符串。 例如,要输入一个人的名字,请输入XM=input (whats this,s; 2.1.2 .数据的输出,MATLAB提供的指令窗口输出函数主要是disp函数,其调用形式为disp (输出项1、输出项2、),输出项可以是字符串也可以是矩阵。 然后,输入例子2-x和2-y的值,并且替换这些值并输出。 程序如下: x=input(Inputxplease.); y=input(Inputyplease.); z=x; x=y; y=z; 求出disp(x) disp(y ),例3一次二次方程式ax2 bx c=0的根。 程序是a=input(a=? ); b=输入(b=? ); c=输入(c=? ); d=b*b-4*a*c; x=(-b sqrt(d)/(2*a ),(-b-sqrt(d)/(2*a); disp(x1=,num2str(x(1) ),x2=,num2str(x(1) ) ); a=? 3b=? 6c=? 9x1=-1 1.4142i,x2=-1-1.4142i函数num2str ()将数值转换为字符串。 2.1.3 .程序暂停、1、暂停的执行可以使用暂停命令。 其调用形式为pause (延迟秒数)或pause(3),如果省略延迟时间,则程序将暂停,直到用户按下任意键为止。 2、keyboard指令不调用自变量,每次该指令出现,用户都获得操作权,程序暂停的同时,命令提示符变为k,用户可以输入执行其他指令。 如果您想继续运行程序,请输入return,然后按enter。 3 .要强制中止程序的执行,请使用Ctrl break操作。 选择2.2结构,1.if语句为MATLAB,if语句有三种形式。 (1)单分支if文件:例如: if条件ifa、=、以下30个文件组1b=a-3; elseelse语句组2b=a 3; 如果endend条件成立,则执行语句组1,否则执行语句组2,执行语句组1或语句组2后,执行if语句的后续语句。程序必须输入x=input的值: ) ifx=1y=10; elseif(x-1)end,例5 :段函数,switch语句根据表达式的处理方法,执行不同的语句,该语句的形式如下:(但是,break不能相加) switch式case式case式1语句组1case式2 2.switch语句price200无折扣200 881ce5003 %折扣500 881ce10005 %折扣1000 881ce25008 %折扣2500price fix (-0.9-0.11.11.5 ) ans=。 他沿负无限方向取得floor (),单元阵列:允许保管,并操作各种种类、不同大小的数据。 a=rand (2,2 ) b=rand (3,3 ) c=good; D=0; x (1,1 )= a ; x (1,2 )= b ; x (2,1 )= c ; x (2,2 )= d cell disp (x (1,1 ) ) ans 1=0. 95010.60680.23110.4860,2.3循环结构,1.for语句for语句的形式为for循环变量=式1:式2:式3循环体语句如果步骤为1,则可以省略表达式2。 form=100:999 m1=fix (m/100 ) % m求百位数m2=rem(fix(m/10 ),10) %m求十位数m3=rem(m,10) %m求百位数IFM=m1* m1* m2* m2* m 3 输出所有水仙花的数量。 程序可以是rem (4,3 ) ans=1rem (5,3 ) ans=2rem (6,3 ) ans=0,程序可以是y=0 n=100; 已知fori=13360 ny=y1/(2* I-1 )结束,在例3-9中,当n=100时,求出y的值。 在实际的MATLAB编程中,因为采用循环语句会降低执行速度,所以前面的程序通常被以下程序替换:n=100; i=1:2:2*n-1; y=sum(1./i )、for语句的更常见的形式是,for循环变量=行列式循环语句end执行过程将矩阵的各列元素按顺序分配给循环变量,并执行循环语句,直到处理各列元素为止。 例10写出以下步骤的执行结果。 s=0; a=12、13、14; 十五、十六、十七; 十八、十九、二十; 二十一、二十二、二十三); fork=as=s k; enddisp(s )、2.while语句、while语句的一般形式是这样的过程,while (条件)循环体语句end在条件成立时执行循环体语句,执行后判断条件是否成立,如果不成立则退出循环。 sum=0; %和cnt=0; %输入的数值的个数val=input (enteranumber (endif0) : ) while (val=0) sum=sum val; cnt=cnt 1; 从val=input (enteranumber (endif0) : ) endif 3.break和continue语句、与循环结构相关的语句、break和continue语句。 通常在if语句中使用这些。 然后break语句结束循环的执行。 在循环中执行语句时,程序跳过循环,继续执行循环语句中的下一个语句。 continue语句控制循环体的某些语句的跳过。 在循环中执行此语句时,程序将跳过循环中的所有剩馀语句,并继续下一个循环。 forn=100:200ifrem(n,21)=0continueendbreakendn,例12求出在 100,200 之间首先能被21除尽的整数。 form=1:500s=0; fork=1:m/2ifrem(m,k)=0s=s k; endendifm=sdisp(m) endend,4 .如果环的嵌套环结构的环体包含环结构,则称为环的嵌套或多环结构。 如果例子131中的数等于该真系数之和,那么该数被称为完全数,例如,因为6=123,6是完全数。 求500之间的所有完全数。3函数文件(用户定义函数)、3.1函数文件的基本结构、函数文件是用function语句导出的,其基本结构是用function输出形式参照表=函数名称(输入形式参照表) %注释说明部分函数体句1,以function开始的行导出的,其m文件是函数另外,保存的文件名与函数名称相同。 2 .函数名称的命名规则与变量名称相同。3 .输入型参数是函数的输入参数,输出型参数是函数的输出参数。 如果有多个输出表单,请用括号括起来。 创建示例14函数文件,求出半径为r的圆的面积和周长。子函数、1、一个函数文件中定义的其他函数是当前函数文件的子函数,通常只能在当前函数文件中调用。 2 .基本配置:在函数文件fun1.m中,函数y=fun1(x 1,x2)y=fun2(x1,x2) fun2(a,b)y=fun3(a,b ) fun4(e ), f )中的每一个子函数可以彼此调用y=e f,其中函数y=fun3(c,d)y=fun4(c,d ), d ),例15 :麦草帽子函数的描绘,3.2函数调用,函数调用的一般形式,输出实际参数表=函数名称(输入实际参数表)注意:1,输入参数用()输入输出参数用输入2,函数调用时出现各实际参数不一致就会出错。 3 .当函数被调用时,将实际参数传递给适当形式的参数,以实现参数的传递,然后执行函数的功能。s,p=FCR cle (5) s=78.5398 p=31.4159 me,在示例16函数的递归调用中,选择求n。 n! 它本身是以递归的形式定义的。 显然,求n! 要求(n-1 )! 的双曲馀弦值。 在函数调用时,递归调用函数文件factor.m中的YY=720,其中function f=factor (n ) IFN factor (5) ans=120 y=factor (6),3.3函数参数的可调整性为MATLAB 如果函数文件中包含这两个变量,就可以准确地知道调用该函数文件时的输入输出参数的数量,来确定该函数将如何处理。 函数阵列(a,b,c)ifnargin=1fout=a; elseifnargin=2fout=a b; elseifnargin=3fout=(a*b*c)/2; end,示例17nargin使用示例。 函数文件charray.m :y=ch array (2) y=2y=ch array (2,3 ) y=5y=ch array (2,3,4 ) y=12,示例18全局变量应用示例。 定义两个函数functiony=g1(m,n )全局mnm=m的N=n; y=G2 (1,1 ),3.4全局变量和局部变量由global命令定义,格式为:global变量名称,functiony=g2(a,b)globalMNy=a*M b*N; 呼叫: G1 (2,5 ) ans=7,3.4程序示例,示例19推测。 首先,计算机生成 1,100 之间的均匀分布的随机整数,然后推测用户生成的随机数。 根据用户的推测,在推测的数量比发生的数量多的情况下显示“高”,在小于的情况下显示“低”,在相等的情况下显示“Youwin”,结束。 用户最多可以推测7次。 提示:随机数生成命令rand,答案:函数y=playn=0; m=ceil(100*rand) ifm=0m=1; 结束时间显示(high); AAAAAK=2 * abb 2*3* a * b; y=myfun(fun,4,5 ) y=93,4程序调试4.1程序调试的概要通常有两种应用程序错误:语法错误和运行时错误。 语法错误包括字句和语法错误,如函数名称的拼写错误、表达式的书写错误等。 程序执行时的错误是指程序的执行结果中有错误,这种错误也称为程序逻辑错误。4.2调试器、1 .调试此菜单项用于调试程序,必须与Breakpoints菜单项一起使用。 2.Breakpoints有6个菜单命令,前两个是以程序设定中断点并清除的,因此,最后四个是设定停止条件,暂时停止m文件的执行,给用户检查局部变量的机会,在m文件中指定的例如,求出素数,矩阵参数运算,n=rank(A)n是矩阵a的秩x=det(A)x是由矩阵a的行列式x=size(A)x是两个元素构成的行向量,行和列数x=length(v)x是向量v的长度x=trace(A)x )。 x是向量或矩阵a范数,矩阵运算A=magic(n)A是nn的魔方矩阵A=diag(v )向量v的各元素为对角线的由矩阵v
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025重庆国隆农业科技产业发展集团有限公司选聘下属子企业领导人员1人笔试历年参考题库附带答案详解
- 2025贵州纳雍源生牧业股份有限公司招聘4人笔试历年参考题库附带答案详解
- 2025贵州毕节市金沙县国有资本投资运营集团有限公司招聘51人笔试历年参考题库附带答案详解
- 2025贵州六枝特区益正开发投资有限责任公司人员招聘4人笔试历年参考题库附带答案详解
- 2025西安华山金属材料科技有限公司校园招聘笔试历年参考题库附带答案详解
- 2025秋季安徽合肥工投工业科技发展有限公司招聘8人笔试历年参考题库附带答案详解
- 2025杭州临安区教育局公开招聘中小学教师76人考前自测高频考点模拟试题及完整答案详解一套
- 2025福建漳龙集团有限公司招聘3人笔试历年参考题库附带答案详解
- 2025河南许昌市消防救援支队招聘政府专职队员50人模拟试卷附答案详解(完整版)
- 2025福建广电网络集团股份有限公司连江分公司招聘笔试历年参考题库附带答案详解
- 《山东省房屋市政施工安全监督要点》及《安全监督“二十要”》2025
- 2025年湖南环境生物职业技术学院单招职业技能考试题库带答案
- 生物安全管理体系文件
- 河道疏浚外运施工方案
- 银行职业介绍课件
- 辽宁省盘锦市大洼区田家学校2024-2025学年九年级上学期第四次质量检测语文试卷
- 广东省惠州市联考2024-2025学年上学期12月教学质量阶段性诊断八年级数学试卷(无答案)
- 工程结算协议书
- 砖砌围墙施工方案
- 2024-2030年中国痘痘贴行业营销动态及消费需求预测研究报告
- 《人工智能导论》(第2版)高职全套教学课件
评论
0/150
提交评论