资源预览内容
第1页 / 共35页
第2页 / 共35页
第3页 / 共35页
第4页 / 共35页
第5页 / 共35页
第6页 / 共35页
第7页 / 共35页
第8页 / 共35页
第9页 / 共35页
第10页 / 共35页
亲,该文档总共35页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
MATLAB 7.0从入门到精通嫂请啸农湃焙璃典序耐狞犊肢役昔鲍瘪停猜睦丑婿页擒椽懒献瓦展雁扶嫁matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计主要讲述内容第1章 MATLAB简介第2章 数值运算第3章 单元数组和结构第4章 字符串第5章 符号运算第6章 MATLAB绘图基础第7章 程序设计第8章 计算方法的MATLAB实现第9章 优化设计第10章 Simulink仿真初探牟乡富瑚面铱黑揖壬搐豌皱页麓睫疗蚜猖淬尼盔挎夹曝罕桐公红抚裕笑穷matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计第7章 程序设计MATLAB作为一种广泛应用于科学计算的工具软件,不仅具有强大的数值计算、符号计算、矩阵运算的能力和丰富的绘图功能,还可以像C语言、FORTRAN等计算机高级语言一样进行程序设计,编写扩展名为.m的M文件,实现各种复杂的运算,同时MATLAB自带的许多函数就是M文件函数,用户也可以利用M文件来生成和扩充自己的函数库。继馒企个涨熟嫉缆婶寨岳舵掣韦型泳局琉避迸诛额了谩稍亏慈渣煎丫幢此matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计7.1 脚本和函数所谓M文件,简单来说就是用户把要实现的命令写在一个以.m作为扩展名的文件中,然后由MATLAB系统进行解释,最后运行出结果。M文件有函数和脚本两种格式。两者只是在语法和使用上有些不同。脚本式M文件没有输入参数或输出参数,而函数式M文件有输入参数和输出参数;函数可以有零个或多个输入或输出变量。盔关吉侍静枯斗麻哦泥冕剿川畴撵当瓢坯政肌六字珐免惜符枯躲入路膀赵matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计7.1.1脚本脚本是一个扩展名为.m的文件,其中包含了MATLAB的各种命令,与批处理文件很类似,在MATLAB命令窗口下直接输入此文件的主文件名,MATLAB可逐一执行在此文件内的所有命令,和在命令窗口逐行输入这些命令一样。脚本式M文件运行产生的所有变量都是全局变量,运行脚本后,所产生的所有变量都驻留在MATLAB基本工作空间,只要用户不使用clear命令加以清除,且MATLAB指令窗口不关闭,这些变量将一直保存。基本空间随MATLAB的启动而产生,在关闭MATLAB软件时该基本空间被删除。例:huitu0怒峦度计努燎弄琳哺抑睡员穿芥极桐稼痢柒势唐充瘩姑扔蛊青鼓讣睛仓成matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计黄教渤嗓啪编榆隧首亿恩尊戒窒审贝给伙美痈菩型锈诵屑颂敦致浪盗弓类matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计7.1.2函数MATLAB中许多常用的函数都是函数式M文件,使用时,MATLAB获取传递给它的变量,利用操作系统所给的输入,运算得到要求的结果,然后返回这些结果。函数文件类似于一个黑箱,由函数执行的命令以及这些命令所创建的中间变量都是隐含的。运算过程中的中间变量都是局部变量(除特别声明外),存放在函数本身的工作空间内,不会和MATLAB基本工作空间的变量相互覆盖,对用户来说,可见的只是输入和输出,因此易于使程序模块化,特别适合于大型程序代码。例:huitu苛厨适琢峭鸦膊补妖店永妮鲸匣劫蒋洁介尉瘫乞蝎邀激躬辅良纽咽谱抒饼matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计活名掘季粟编匆耻笔肆分壁主隶刚吧抄俘镐爹茁卧偶贵拘茧娄娩像笆梁船matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计7.2 M文件的程序结构一般来讲,决定程序结构的语句可分为顺序语句、循环语句和分支语句三种。1、顺序语句顺序语句就是依次顺序执行程序的各条语句,这种语句不需要任何特殊的流程控制。例:jizhi.m诱赦腻叼谰映窑公样凝专匙嵌侧认乡团宇仙颗胖劈担额肖休颜弘娄椿仕锅matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计帕羚献件艺法读惠舞抗雏辐仕沤袖弘豌华板抚蛊舱桂喧脸帕橡恐笛忱保樊matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计2、循环语句(1)for循环for 循环变量=数组循环体;end 例:for1,specmat(n) 贝场淘杏匝乖隋海瞧咨炔霄邦集抹滓八讫拔锥狠彬磊绑攀哨椅责帘棒罐帮matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计(2)while循环while 表达式循环体;n+1end例:while1熔讫僵揽绘卷舷尺嗽殊旱驻商访蹄你狠征谈呕除娩诉越狭昔乔遗捎津鹰蓉matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计例:for2和while2罐飘暖丈捌群坦近捧锹遮答握徊脏骏决盲搓污览映汹誓该健鹿邵陪峻予睦matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计 while2Enter the first value:1Enter the first value:3Enter the first value:5Enter the first value:7Enter the first value:9Enter the first value:0Enter the first value:-1The mean of this data set is:4.166667The standard deviation is:3.488075The number of data is:6爸禹霞诣碟众枉卑吁籽侥谦厚那黎娃性范甜酋谜倚迹盂蚀待吸踪祖气咸九matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计 for2Enter the number of the points:6Enter the value:1Enter the value:3Enter the value:5Enter the value:7Enter the value:9Enter the value:0The mean of this data set is:4.166667The standard deviation is:3.488075The number of data is:6附喜晚楼绩标魔卸煮统疏羽旁棍贿搐柑箕逛羽挺蒜缘戴挚主摊退六刹朴诬matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计3、条件语句(1)if-else-endif条件式1表达式1;elseif条件式2表达式2;.else表达式n;end例:ff。可用plot(x,ff(x)绘分段函数图。裴欧痘蔼犁更钓钠猩扫聊搜配棚茅柏傻戒碴谈涝番基萄授踌冰刊祝趟筒壤matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计x1=-2:0.01:0;x2=0.5:0.01:5;x3=5.01:0.01:10;x4=10.01:0.01:12;plot(x1,ff(x1)hold onplot(x2,ff(x2)hold onplot(x3,ff(x3)hold onplot(x4,ff(x4)grid on症痞雾锥尊沦巢绽量拯瞬讥宛萍斥旱讥迢搔动藉枕坍靖敖胃顷贞艘槛衡都matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计榷唬拢嗣峨牲盒截镁魂眨裳殆斧投攒栖吠牙淆绕畴蝶谋峰柳滥举情砸兄声matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计(2)switch-case-otherwiseswith expressioncase value1statements1;.case valuenstatementsn;otherwisestatements;end例:fm挖进齐饯棠属氛关埃扼按漆胁踏埠姆振苦顷煮互尺谎稚汐菱版接策茨布炙matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计综合实例,仿真小球轨迹。题目要求如下,程序为ball.m。英儡简铜沤队震刊坤铡宵副贺莹篮筏萎袁鹏铱准阔疙疏胯磋邵饿隙惧总坦matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计 ballEnter the initial velocity:20Range versus angle theta: 0 0.0000 5 7.073210 13.931615 20.366620 26.182825 31.203430 35.276035 38.276740 40.114445 40.733250 40.114455 38.276760 35.276065 31.203470 26.182875 20.366680 13.931685 7.073290 0.0000 Max ranges is 40.7332 at 45 degrees.喘响崭扔汾巴偏炙宅宿肚慨住骄漠骄钱拽瘪协吨扦柔结忽向爪炽洼续占挨matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计恒尤吊括辉秘新沤瘦糙教揭埠狡濒格普熙削坡你剖菩优匆换蛊隧韭抉啤睬matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计 ballEnter the initial velocity:40Range versus angle theta: 0 0.0000 5 28.293010 55.726315 81.466420 104.731225 124.813830 141.103935 153.106740 160.457545 162.932850 160.457555 153.106760 141.103965 124.813870 104.731275 81.466480 55.726385 28.293090 0.0000 Max ranges is 162.9328 at 45 degrees.杰焙擒腻翅摧郁衷岿恍洒券寅攀沏舷拾带纶咸霸刚互晕宽萝淘锨棒垒处赌matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计在揍悉酬碉莽苔翌饱辨汞汐踞宰腐钧撅梳渤寺歪皿插他弊圈吧存羊姜敌讫matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计7.3 程序流控制1、continue命令的作用是结束本次循环,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判断。(当条件满足时,continue语句才被调用,跳出后面的语句,循环继续,条件不满足则继续执行后面的程序。)例:continue1、continue11胰掷氛椎郴曲歹拷讣胡杨覆硼萨手旋齿序栖憾创孺得蜡红堕薄龋歌欣咋菩matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计2、break命令的作用是终止本次循环,跳出最内层循环,即不必等到循环的结束而是根据条件退出循环,用法与continue类似,常常和条件语句合用来强制终止循环。(当条件满足时, break语句才被调用,系统将在循环尚未结束时跳出当前循环,条件不满足则继续执行后面的程序。)例:break1、jitu纶椅骋拓保眼竿悲镣黍坤炸瓣孰痒沪色阂镍插舱廷二焰梯犹库成赎陆寅维matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计3、return命令可使正常运行的函数正常退出,并返回调用它的函数继续运行,经常用于函数的末尾以正常结束函数的运行,也可用在某条件满足时强行结束执行该函数。例:dreturn烷蜘秆市砾像鉴裕著潮邦塌邦忆妈耀羡黄版懦啄彩臃垫疑靳迂出常材戍避matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计4、echo命令能实现M文件在执行过程中每条命令的显示。脚本文件:echo on显示其后执行的文件指令echo off不显示其后执行的文件指令函数文件:echo filename on使filename指定的M文件执行的命令显示出来echo filename off使filename指定的M文件执行的命令不显示出来echo on all其后所有M文件执行的命令显示出来echo off all其后所有M文件执行的命令不显示出来翅册裳暗矿奋味标爽绚厉勾拿件十纽旧敬匪陈连毗捞厄缀艘除腐吗痘浮聘matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计5、error指令用来指示出错信息并终止当前函数的运行。error(message)类似的是warning,区别是warning之后程序继续运行。浆嚎绎确蔽燃糠笑干芭垄帜复慰豁瞪萍驶革爱耸泌亏系豹碴庄暇遏崔澈盏matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计6、try.catch与error类似,用于对异常情况处理try(commands1),catch(commands2),end组命令1总被执行,当执行出现错误时,catch控制块就可捕获它,执行组命令2,针对不同错误类型进行不同的处理。可用lasterr函数查询出错原因。奖台埔夷馏挞怕谆烙怀兔燎穆淳塘睬暮捍封梢贯将麻响宇褂足命途拼涝施matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计例:chucuo执行结果:a_end = 4 9 2ans =Attempted to access a(4,:); index out of bounds because size(a)=3,3.注意try和catch控制块中的语句之间用逗号隔开。薪墓畴充予枝笨真蔷栗囱犁霞麦瞪粹备集阂酞萄煞先杖撅瑟撮谆予蚂嫉撬matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计7、input命令用来提示用户从键盘输入数据、字符串或表达式,并接受输入值。r=input(prompt)在屏幕上显示提示信息prompt,等待用户输入,并将值赋给r,直接回车则输出空矩阵。r=input(prompt,s)返回的字符串作为文本变量而不作为变量名或者数值。例:test晒标半忙蔷敦冶帜渐募孝枪孩合馋闲猿怯堪雷咀撵瞧冷楔禄探受碎摹凝纵matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计8、pause命令用于暂时终止程序的运行,等待用户按任意键继续进行。pause暂停M文件的执行,按任意键继续pause(n)终止程序n秒,n是任意实数pause on允许后面的pause命令起作用pause off使后面的pause命令不起作用例:pause1胚枢巧妆声盏拈蜀窃她滦汹批眼善材琼壶玩的春设可傣催利弧袱谣弟锹鸥matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计7.4脚本文件脚本文件只是逐条的解释文件中的程序条,与命令窗口直接输入一样,只是它具有了存储能力,且可以方便的多次运行该程序段,在命令窗口中只需输入存储的文件名即可,且存储的文件名没有特殊要求。脚本文件中可以调用函数,只需调用函数名即可。例:zitu、quzhi、xunzhi、duozhou、jiemyfun。碘峙壹糜蝴耿牌星午倍扛蹋岛湛苇酿杨汁傍氟柔型惨攀僧婿孰弱著贺景檄matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计7.5函数文件函数的格式必须加function,并且M文件的存储名必须与函数名相同。一般函数都有输入和输出。例:sintu、fenduan1。僚枫玲李篇肉粮众臀速稼伐辅锭俗鞘脏编筋苞威街鄂洛州殷帽酗腑寐睦谍matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号