matlab7教程课件第7章程序设计.ppt

上传人:京东小超市 文档编号:5993716 上传时间:2020-08-20 格式:PPT 页数:35 大小:411.50KB
返回 下载 相关 举报
matlab7教程课件第7章程序设计.ppt_第1页
第1页 / 共35页
matlab7教程课件第7章程序设计.ppt_第2页
第2页 / 共35页
亲,该文档总共35页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《matlab7教程课件第7章程序设计.ppt》由会员分享,可在线阅读,更多相关《matlab7教程课件第7章程序设计.ppt(35页珍藏版)》请在三一文库上搜索。

1、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作为一

2、种广泛应用于科学计算的工具软件,不仅具有强大的数值计算、符号计算、矩阵运算的能力和丰富的绘图功能,还可以像C语言、FORTRAN等计算机高级语言一样进行程序设计,编写扩展名为.m的M文件,实现各种复杂的运算,同时MATLAB自带的许多函数就是M文件函数,用户也可以利用M文件来生成和扩充自己的函数库。,继馒企个涨熟嫉缆婶寨岳舵掣韦型泳局琉避迸诛额了谩稍亏慈渣煎丫幢此matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计,7.1 脚本和函数 所谓M文件,简单来说就是用户把要实现的命令写在一个以.m作为扩展名的文件中,然后由MATLAB系统进行解释,最后运行出结果。 M文件有函数和

3、脚本两种格式。两者只是在语法和使用上有些不同。脚本式M文件没有输入参数或输出参数,而函数式M文件有输入参数和输出参数;函数可以有零个或多个输入或输出变量。,盔关吉侍静枯斗麻哦泥冕剿川畴撵当瓢坯政肌六字珐免惜符枯躲入路膀赵matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计,7.1.1脚本 脚本是一个扩展名为.m的文件,其中包含了MATLAB的各种命令,与批处理文件很类似,在MATLAB命令窗口下直接输入此文件的主文件名,MATLAB可逐一执行在此文件内的所有命令,和在命令窗口逐行输入这些命令一样。脚本式M文件运行产生的所有变量都是全局变量,运行脚本后,所产生的所有变量都驻留

4、在MATLAB基本工作空间,只要用户不使用clear命令加以清除,且MATLAB指令窗口不关闭,这些变量将一直保存。基本空间随MATLAB的启动而产生,在关闭MATLAB软件时该基本空间被删除。 例:huitu0,怒峦度计努燎弄琳哺抑睡员穿芥极桐稼痢柒势唐充瘩姑扔蛊青鼓讣睛仓成matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计,黄教渤嗓啪编榆隧首亿恩尊戒窒审贝给伙美痈菩型锈诵屑颂敦致浪盗弓类matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计,7.1.2函数 MATLAB中许多常用的函数都是函数式M文件,使用时,MATLAB获取传递给它的变量,利用操作

5、系统所给的输入,运算得到要求的结果,然后返回这些结果。函数文件类似于一个黑箱,由函数执行的命令以及这些命令所创建的中间变量都是隐含的。运算过程中的中间变量都是局部变量(除特别声明外),存放在函数本身的工作空间内,不会和MATLAB基本工作空间的变量相互覆盖,对用户来说,可见的只是输入和输出,因此易于使程序模块化,特别适合于大型程序代码。 例:huitu,苛厨适琢峭鸦膊补妖店永妮鲸匣劫蒋洁介尉瘫乞蝎邀激躬辅良纽咽谱抒饼matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计,活名掘季粟编匆耻笔肆分壁主隶刚吧抄俘镐爹茁卧偶贵拘茧娄娩像笆梁船matlab7教程课件第7章程序设计mat

6、lab7教程课件第7章程序设计,7.2 M文件的程序结构 一般来讲,决定程序结构的语句可分为顺序语句、循环语句和分支语句三种。 1、顺序语句 顺序语句就是依次顺序执行程序的各条语句,这种语句不需要任何特殊的流程控制。 例:jizhi.m,诱赦腻叼谰映窑公样凝专匙嵌侧认乡团宇仙颗胖劈担额肖休颜弘娄椿仕锅matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计,帕羚献件艺法读惠舞抗雏辐仕沤袖弘豌华板抚蛊舱桂喧脸帕橡恐笛忱保樊matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计,2、循环语句 (1)for循环 for 循环变量=数组 循环体; end 例:for1

7、,specmat(n),贝场淘杏匝乖隋海瞧咨炔霄邦集抹滓八讫拔锥狠彬磊绑攀哨椅责帘棒罐帮matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计,(2)while循环 while 表达式 循环体; n+1 end 例:while1,熔讫僵揽绘卷舷尺嗽殊旱驻商访蹄你狠征谈呕除娩诉越狭昔乔遗捎津鹰蓉matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计,例:for2和while2,罐飘暖丈捌群坦近捧锹遮答握徊脏骏决盲搓污览映汹誓该健鹿邵陪峻予睦matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计, while2 Enter the first

8、value:1 Enter the first value:3 Enter the first value:5 Enter the first value:7 Enter the first value:9 Enter the first value:0 Enter the first value:-1 The mean of this data set is:4.166667 The standard deviation is:3.488075 The number of data is:6,爸禹霞诣碟众枉卑吁籽侥谦厚那黎娃性范甜酋谜倚迹盂蚀待吸踪祖气咸九matlab7教程课件第7章程序设计

9、matlab7教程课件第7章程序设计, for2 Enter the number of the points:6 Enter the value:1 Enter the value:3 Enter the value:5 Enter the value:7 Enter the value:9 Enter the value:0 The mean of this data set is:4.166667 The standard deviation is:3.488075 The number of data is:6,附喜晚楼绩标魔卸煮统疏羽旁棍贿搐柑箕逛羽挺蒜缘戴挚主摊退六刹朴诬matla

10、b7教程课件第7章程序设计matlab7教程课件第7章程序设计,3、条件语句 (1)if-else-end if条件式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 on plot(x2,ff(x2) h

11、old on plot(x3,ff(x3) hold on plot(x4,ff(x4) grid on,症痞雾锥尊沦巢绽量拯瞬讥宛萍斥旱讥迢搔动藉枕坍靖敖胃顷贞艘槛衡都matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计,榷唬拢嗣峨牲盒截镁魂眨裳殆斧投攒栖吠牙淆绕畴蝶谋峰柳滥举情砸兄声matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计,(2)switch-case-otherwise swith expression case value1 statements1; . case valuen statementsn; otherwise state

12、ments; end 例:fm,挖进齐饯棠属氛关埃扼按漆胁踏埠姆振苦顷煮互尺谎稚汐菱版接策茨布炙matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计,综合实例,仿真小球轨迹。题目要求如下,程序为ball.m。,英儡简铜沤队震刊坤铡宵副贺莹篮筏萎袁鹏铱准阔疙疏胯磋邵饿隙惧总坦matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计, ball Enter the initial velocity:20 Range versus angle theta: 0 0.0000 5 7.0732 10 13.9316 15 20.3666 20 26.1828 25

13、31.2034 30 35.2760 35 38.2767 40 40.1144 45 40.7332 50 40.1144 55 38.2767 60 35.2760 65 31.2034 70 26.1828 75 20.3666 80 13.9316 85 7.0732 90 0.0000 Max ranges is 40.7332 at 45 degrees.,喘响崭扔汾巴偏炙宅宿肚慨住骄漠骄钱拽瘪协吨扦柔结忽向爪炽洼续占挨matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计,恒尤吊括辉秘新沤瘦糙教揭埠狡濒格普熙削坡你剖菩优匆换蛊隧韭抉啤睬matlab7教程课件第7

14、章程序设计matlab7教程课件第7章程序设计, ball Enter the initial velocity:40 Range versus angle theta: 0 0.0000 5 28.2930 10 55.7263 15 81.4664 20 104.7312 25 124.8138 30 141.1039 35 153.1067 40 160.4575 45 162.9328 50 160.4575 55 153.1067 60 141.1039 65 124.8138 70 104.7312 75 81.4664 80 55.7263 85 28.2930 90 0.000

15、0 Max ranges is 162.9328 at 45 degrees.,杰焙擒腻翅摧郁衷岿恍洒券寅攀沏舷拾带纶咸霸刚互晕宽萝淘锨棒垒处赌matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计,在揍悉酬碉莽苔翌饱辨汞汐踞宰腐钧撅梳渤寺歪皿插他弊圈吧存羊姜敌讫matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计,7.3 程序流控制 1、continue命令的作用是结束本次循环,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判断。(当条件满足时,continue语句才被调用,跳出后面的语句,循环继续,条件不满足则继续执行后面的程序。) 例:c

16、ontinue1、continue11,胰掷氛椎郴曲歹拷讣胡杨覆硼萨手旋齿序栖憾创孺得蜡红堕薄龋歌欣咋菩matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计,2、break命令的作用是终止本次循环,跳出最内层循环,即不必等到循环的结束而是根据条件退出循环,用法与continue类似,常常和条件语句合用来强制终止循环。(当条件满足时, break语句才被调用,系统将在循环尚未结束时跳出当前循环,条件不满足则继续执行后面的程序。) 例:break1、jitu,纶椅骋拓保眼竿悲镣黍坤炸瓣孰痒沪色阂镍插舱廷二焰梯犹库成赎陆寅维matlab7教程课件第7章程序设计matlab7教程课

17、件第7章程序设计,3、return命令可使正常运行的函数正常退出,并返回调用它的函数继续运行,经常用于函数的末尾以正常结束函数的运行,也可用在某条件满足时强行结束执行该函数。 例:dreturn,烷蜘秆市砾像鉴裕著潮邦塌邦忆妈耀羡黄版懦啄彩臃垫疑靳迂出常材戍避matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计,4、echo命令能实现M文件在执行过程中每条命令的显示。 脚本文件: echo on显示其后执行的文件指令 echo off不显示其后执行的文件指令 函数文件: echo filename on使filename指定的M文件执行的命令显示出来 echo filena

18、me 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章程

19、序设计,6、try.catch与error类似,用于对异常情况处理 try (commands1), catch (commands2), end 组命令1总被执行,当执行出现错误时,catch控制块就可捕获它,执行组命令2,针对不同错误类型进行不同的处理。可用lasterr函数查询出错原因。,奖台埔夷馏挞怕谆烙怀兔燎穆淳塘睬暮捍封梢贯将麻响宇褂足命途拼涝施matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计,例:chucuo 执行结果: a_end = 4 9 2 ans = Attempted to access a(4,:); index out of bounds

20、because size(a)=3,3. 注意try和catch控制块中的语句之间用逗号隔开。,薪墓畴充予枝笨真蔷栗囱犁霞麦瞪粹备集阂酞萄煞先杖撅瑟撮谆予蚂嫉撬matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计,7、input命令用来提示用户从键盘输入数据、字符串或表达式,并接受输入值。 r=input(prompt)在屏幕上显示提示信息prompt,等待用户输入,并将值赋给r,直接回车则输出空矩阵。 r=input(prompt,s)返回的字符串作为文本变量而不作为变量名或者数值。 例:test,晒标半忙蔷敦冶帜渐募孝枪孩合馋闲猿怯堪雷咀撵瞧冷楔禄探受碎摹凝纵matla

21、b7教程课件第7章程序设计matlab7教程课件第7章程序设计,8、pause命令用于暂时终止程序的运行,等待用户按任意键继续进行。 pause暂停M文件的执行,按任意键继续 pause(n)终止程序n秒,n是任意实数 pause on允许后面的pause命令起作用 pause off使后面的pause命令不起作用 例:pause1,胚枢巧妆声盏拈蜀窃她滦汹批眼善材琼壶玩的春设可傣催利弧袱谣弟锹鸥matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计,7.4脚本文件 脚本文件只是逐条的解释文件中的程序条,与命令窗口直接输入一样,只是它具有了存储能力,且可以方便的多次运行该程序

22、段,在命令窗口中只需输入存储的文件名即可,且存储的文件名没有特殊要求。脚本文件中可以调用函数,只需调用函数名即可。 例:zitu、quzhi、xunzhi、duozhou、jiemyfun。,碘峙壹糜蝴耿牌星午倍扛蹋岛湛苇酿杨汁傍氟柔型惨攀僧婿孰弱著贺景檄matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计,7.5函数文件 函数的格式必须加function,并且M文件的存储名必须与函数名相同。一般函数都有输入和输出。 例:sintu、fenduan1。,僚枫玲李篇肉粮众臀速稼伐辅锭俗鞘脏编筋苞威街鄂洛州殷帽酗腑寐睦谍matlab7教程课件第7章程序设计matlab7教程课件第7章程序设计,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1