第四章 matlab程序设计ppt.ppt

上传人:创****公 文档编号:1600743 上传时间:2019-10-19 格式:PPT 页数:32 大小:152.50KB
返回 下载 相关 举报
第四章 matlab程序设计ppt.ppt_第1页
第1页 / 共32页
第四章 matlab程序设计ppt.ppt_第2页
第2页 / 共32页
点击查看更多>>
资源描述

《第四章 matlab程序设计ppt.ppt》由会员分享,可在线阅读,更多相关《第四章 matlab程序设计ppt.ppt(32页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、2019/10/19,电子教研室 qmw_,1,第四章 MATLAB程序设计基础,matlab的工作方式:交互式;M文件方式。M文件的作用:在command window中输入已编辑保存的M文件名或函数,则自动搜索该文件,找到则按规定的计算任务以解释的方式逐一执行语句。,2019/10/19,电子教研室 qmw_,2,4.1 M文件的创建创建M文件,2019/10/19,电子教研室 qmw_,3,4.2非函数文件(脚本文件)一般来说,命令文件用于把很多需要在命令窗口输入的命令放在一起,以便于修改;由于命令文件没有输入和输出参数,只是一些命令行的组合,所以命令文件比函数文件更简单。命令文件可对工

2、作空间中的变量进行操作,也可生成新的变量。即使命令文件运行结束,其运行过程中所产生的变量仍保留在工作空间中,直到关闭matlab或用相关删除命令。例:x=0:pi/100:2*pi;y1=cos(x);y2=sin(x);plot(y1,y2);end,2019/10/19,电子教研室 qmw_,4,4.3函数文件一、函数文件的格式函数文件一般用于把许多重复的程序段封装起来,使程序更加简洁。例:function y=mymean(x);%该程序用于计算矢量中元素的平均值%x为输入参数,代表输入的矢量%y为输出参数,代表矢量中元素的平均值%如果输入不是向量,则返回错误信息m,n=size(x);

3、%判断输入是否为矢量if(m=1)|(n=1)|(m=1,2019/10/19,电子教研室 qmw_,5,1、函数定义function y=ymean(x)functiony1,y2,=FN(x1,x2,)2、帮助文本3、函数体4、注释二、函数文件参数个数的检查narginnargout确定函数被调用时,输入、输出参数的个数,函数体中可以根据输入参数个数的不同而执行不同的操作。Nargchk用于检查输入函数个数是否正确,2019/10/19,电子教研室 qmw_,6,例:function c=testarg(a,b)if(nargin= =1)c=a.2;elseif(nargin= =2)c

4、=a+b;end注意:可以用任何编辑器编写m文件当编写函数文件时,其文件名必须与函数名一致,2019/10/19,电子教研室 qmw_,7,例:用命令文件和函数文件完成相同的任务:求所有小于2000且为2的整数次幂的正整数。A:用命令文件的方式%求小于2000且为2的整数次幂的正整数f(1)=2;k=1;while f(k)1000f(k+1)=f(k)*2;k=k+1;endf,k,2019/10/19,电子教研室 qmw_,8,B、用函数文件的方式实现function f=tt(n)%求小于任何正整数且为2的整数次幂的正整数%c=tt(n),n可取任意正整数f(1)=2;k=1;while

5、 f(k)n/2f(k+1)=f(k)*2;k=k+1;endf,2019/10/19,电子教研室 qmw_,9,4.4、全局变量和局部变量一、什么是全局与局部变量?二、全局变量的定义global BEG ENDExample:function s=mean1global k=BEG:END;s=sum(k)调用如下:global BEG END;BEG=1;END=10;S1=mean1;,2019/10/19,电子教研室 qmw_,10,例:funciton all=weight_add(x,y)%add two variable with different weight.global

6、alpha betaall=alpha*x+beta*y;在命令窗口内键入:global alpha betaalpha=1beta=2all=weight_add(1,1);,2019/10/19,电子教研室 qmw_,11,4.5程序控制流程语句一、循环控制1、for循环调用格式:fort=表达式1:表达式2:表达式3循环体end注意:1)步长可正可负2)内部允许嵌套,for与end必须配对3)在循环体内改变t值不影响循环次数,但对表达式有影响4)若表达式为矩阵则循环列次,2019/10/19,电子教研室 qmw_,12,例1:for n=1:5例2s=0;for m=1:nfor i=1

7、:2:99r(n,m)=m*n;s=s+i;endend end例3 i=1:3 例4for I=1:3例5 a=1 3 5;2 6 8 x(I)=I I=2for I=a I=2 x(I)=Ix(I)=aendendend,2019/10/19,电子教研室 qmw_,13,、while循环语句调用格式while表达式语句体end注意:1)while必须与end成对2)当表达式计算对象为矩阵时,矩阵的所有值均为真时才执行3)循环量在循环体中增减,2019/10/19,电子教研室 qmw_,14,例1:求级数和 s=1+1/2+1/3+.+1/100s=0n=1;whilen=100s=s+1/

8、n;n=n+1;end例2:找阶乘超过10100的最小数n=2;while prod(1:n)1.e100n=n+1;end,2019/10/19,电子教研室 qmw_,15,二、条件控制语句1、if条件语句matlab中,if条件语句的功能是:如果满足某个条件则执行一条或一组语句,否则就不执行其内部的语句,或者执行else后面的语句。调用格式如下:if condition或:if condition1statementstatement1endelseif conditon2 或:ifconditionstatement2statement1elsestatement2endend,2019

9、/10/19,电子教研室 qmw_,16,注意:1)必须与END配对2)具有优先顺序性3)else elseif不是必须的4)若表达式为矩阵,则每个元素为真才执行例:if n0a=100;else if n=3a=n;elsea=0;endend,2019/10/19,电子教研室 qmw_,17,2、 一旦num为其中的某个值或字符串时,就执行所对应的指令,没有对应时,则执行otherwise后的语句。一般switch-case语句格式为:switch 控制变量(标量或字符串)case n1command1case n2command2. .otherwise注意:与END配对commandn

10、并行end,2019/10/19,电子教研室 qmw_,18,例:Switchinput_numcase 1disp(I love you);case 0disp(I dont like you)case 1disp(I hate you)case 2disp(my god)otherwisedisp(I dont know you)end,2019/10/19,电子教研室 qmw_,19,例:Switch kcase1set(gcf,color,r);case2set(gcf,color,w);case3set(gcf,color,y);otherwiseset(gcf,color,g);e

11、nd,2019/10/19,电子教研室 qmw_,20,三、转移语句转移语句用来控制程序流向,在必要时中断循环体或函数的执行并进而执行下面的语句。Matlab提供了两种转移语句:break语句和return语句。Break语句:一般出现在循环语句中,它表示跳出循环体,即结束循环(它只能退出包含它的最内层循环):例:eps=1;for num=1:100eps=eps/2;if (1+eps)=1eps=eps*2break,2019/10/19,电子教研室 qmw_,21,endendnumreturn语句:用于中断函数的执行,并返回调用它的上级函数。例:function y=test(x)i

12、f(x kx=0:0.01:1; kplot(x,user(x) ky=x.3; kreturn,2019/10/19,电子教研室 qmw_,28,二、生成选择菜单menu函数可生成一个选择式的菜单,使用户能够选择输入。其调用格式为:k=menu(menuname,s1,s2si),其中k返回调用值,si为字符串(菜单项,最多为项)。例:while 1 k=menu(choose a color,red,blue,close); if k=1 x=red elseif k=2 x=blue elseif k=3 break end end,2019/10/19,电子教研室 qmw_,29,三、

13、建立按钮式演示菜单Choices函数可以创建一个窗口,由其控制界面及其所对应的功能生成一个演示菜单,调用方法如下:choices(name,header,buttonlabels,callbacks)例:header = Easy Example; labels = str2mat(Choice 1,Choice 2,Choice 3); callbacks = str2mat(image(magic(1),image(magic(2), . image(magic(3); choices(EXAMPLE, header, labels, callbacks);,2019/10/19,电子教研室 qmw_,30,4.8错误和警告信息1、函数err和fprintf显示出错信息,终止程序的执行 if(m=1)|(n=1)|(m=1end2、warning 用法同上,2019/10/19,电子教研室 qmw_,31,4.9程序优化1、循环向量化例如:I=0;n=0:0.01:9.99;for n=0:0.01:9.99y=cos(n)I=I+1;y(I)=cos(n);end,2019/10/19,电子教研室 qmw_,32,2、数组预定维zeros(m,n)cellstruct3、内存管理clearpackquit/exitsaveload,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > pptx模板 > 校园应用

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com