欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第二章 MATLAB程序设计基础.ppt

    • 资源ID:70750645       资源大小:153KB        全文页数:36页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第二章 MATLAB程序设计基础.ppt

    第二章 MATLAB程序设计基础matlab的工作方式:交互式;的工作方式:交互式;M文件方式。文件方式。M文件的作用:在文件的作用:在command window中输入已编辑保存中输入已编辑保存的的M文件名或函数,则自动搜索该文件,找到则按规定的计算文件名或函数,则自动搜索该文件,找到则按规定的计算任务以解释的方式逐一执行语句任务以解释的方式逐一执行语句。1 1信控学院电子教研室信控学院电子教研室 2.1 M文件的创建创建创建M文件文件2 2信控学院电子教研室信控学院电子教研室 2.2非函数文件(命令文件)一般来说,命令文件用于把很多需要在命令窗口输入的一般来说,命令文件用于把很多需要在命令窗口输入的命令放在一起,以便于修改;命令放在一起,以便于修改;由于命令文件没有输入和输由于命令文件没有输入和输出参数,只是一些命令行的组合,所以命令文件比函数文件更出参数,只是一些命令行的组合,所以命令文件比函数文件更简单。命令文件可对工作空间中的变量进行操作,也可生成新简单。命令文件可对工作空间中的变量进行操作,也可生成新的变量。即使命令文件运行结束,其运行过程中所产生的变量的变量。即使命令文件运行结束,其运行过程中所产生的变量仍保留在工作空间中,直到关闭仍保留在工作空间中,直到关闭matlab或用相关删除命令。或用相关删除命令。例:x=0:pi/100:2*pi;y1=cos(x);y2=sin(x);plot(y1,y2);end3 3信控学院电子教研室信控学院电子教研室 2.3函数文件一、函数文件的格式一、函数文件的格式函数文件一般用于把许多重复的程序段封装起来,使程函数文件一般用于把许多重复的程序段封装起来,使程序更加简洁。序更加简洁。例:function y=mymean(x);%该程序用于计算矢量中元素的平均值该程序用于计算矢量中元素的平均值%x为输入参数,代表输入的矢量为输入参数,代表输入的矢量%y为输出参数,代表矢量中元素的平均值为输出参数,代表矢量中元素的平均值%如果输入不是向量,则返回错误信息如果输入不是向量,则返回错误信息m,n=size(x);%判断输入是否为矢量判断输入是否为矢量if(m=1)|(n=1)|(m=1&n=1)%如果输入不是矢量,显示出错信息如果输入不是矢量,显示出错信息 error(输入输入x必须是向量必须是向量);endy=sum(x)/length(x);4 4信控学院电子教研室信控学院电子教研室 1、函数定义、函数定义function y=ymean(x)functiony1,y2,=FN(x1,x2,)2、帮助文本、帮助文本3、函数体、函数体2、注释、注释二、函数文件参数个数的检查二、函数文件参数个数的检查narginnargout确定函数被调用时,输入、输确定函数被调用时,输入、输出参数的个数,函数体中可以根据输入参数个数的不同出参数的个数,函数体中可以根据输入参数个数的不同而执行不同的操作。而执行不同的操作。注意:可以用任何编辑器编写m文件当编写函数文件时,其文件名必须与函数名一致5 5信控学院电子教研室信控学院电子教研室 例:function c=testarg(a,b)if(nargin=1)c=a.2;elseif(nargin=2)c=a+b;end6 6信控学院电子教研室信控学院电子教研室 例:用命令文件和函数文件完成相同的任务:求所有小于2000且为2的整数次幂的正整数。A:用命令文件的方式%求小于2000且为2的整数次幂的正整数f(1)=2;k=1;while f(k)1000f(k+1)=f(k)*2;k=k+1;endf,k7 7信控学院电子教研室信控学院电子教研室 B、用函数文件的方式实现function f=tt(n)%求小于任何正整数且为2的整数次幂的正整数%c=tt(n),n可取任意正整数f(1)=2;k=1;while f(k)n/2f(k+1)=f(k)*2;k=k+1;endf8 8信控学院电子教研室信控学院电子教研室 2.4、全局变量和局部变量一、什么是全局与局部变量?一、什么是全局与局部变量?二、全局变量的定义二、全局变量的定义global BEG ENDExample:function s=mean1global k=BEG:END;s=sum(k)调用如下:调用如下:global BEG END;BEG=1;END=10;S1=mean1;9 9信控学院电子教研室信控学院电子教研室 例:funciton all=weight_add(x,y)%add two variable with different weight.global alpha betaall=alpha*x+beta*y;在命令窗口内键入:global alpha betaalpha=1beta=2all=weight_add(1,1);1010信控学院电子教研室信控学院电子教研室 2.5程序控制流程语句一、循环控制一、循环控制1、for循环循环调用格式:fort=表达式1:表达式2:表达式3循环体end注意:1)步长可正可负2)内部允许嵌套,for与end必须配对3)在循环体内改变t值不影响循环次数,但对表达式有影响2)若表达式为矩阵则循环列次1111信控学院电子教研室信控学院电子教研室 例1:for n=1:5例2s=0;for m=1:nfor i=1:2:99r(n,m)=m*n;s=s+i;endend end例3 i=1:3 例2 for I=1:3例5 a=1 3 5;2 6 8 x(I)=I I=2for I=a I=2 x(I)=Ix(I)=aendendend1212信控学院电子教研室信控学院电子教研室 、while循环语句循环语句调用格式while 表达式语句体end注意:1)while必须与end成对2)当表达式计算对象为矩阵时,矩阵的所有值均为真时才执行3)循环量在循环体中增减1313信控学院电子教研室信控学院电子教研室 例1:求级数和 s=1+1/2+1/3+.+1/100s=0n=1;while n=100s=s+1/n;n=n+1;end例2:找阶乘超过10100的最小数n=2;while prod(1:n)1.e100n=n+1;end1414信控学院电子教研室信控学院电子教研室 二、条件控制语句二、条件控制语句1、if条件语句条件语句matlab中,if条件语句的功能是:如果满足某个条件则执行一条或一组语句,否则就不执行其内部的语句,或者执行else后面的语句。调用格式如下:if condition或:if condition1statementstatement1endelseif conditon2 或:ifconditionstatement2statement1elsestatement2endend1515信控学院电子教研室信控学院电子教研室 注意:1)必须与END配对2)具有优先顺序性3)else elseif不是必须的2)若表达式为矩阵,则每个元素为真才执行例:if n0a=100;else if n=3a=n;elsea=0;endend1616信控学院电子教研室信控学院电子教研室 2、一旦num为其中的某个值或字符串时,就执行所对应的指令,没有对应时,则执行otherwise后的语句。一般switch-case语句格式为:switch 控制变量(标量或字符串)case n1command1case n2command2.otherwise注意:与END配对commandn并行end1717信控学院电子教研室信控学院电子教研室 例:例: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 1818信控学院电子教研室信控学院电子教研室 例:例:Switch kcase1set(gcf,color,r);case2set(gcf,color,w);case3set(gcf,color,y);otherwiseset(gcf,color,g);end1919信控学院电子教研室信控学院电子教研室 三、转移语句三、转移语句转移语句用来控制程序流向,在必要时中断循环体或函数的执行并进而执行下面的语句。Matlab提供了两种转移语句:break语句和return语句。Break语句:一般出现在循环语句中,它表示跳出循环体,即结束循环(它只能退出包含它的最内层循环):例:eps=1;for num=1:100eps=eps/2;if(1+eps)=1eps=eps*2break2020信控学院电子教研室信控学院电子教研室 endendnumreturn语句:用于中断函数的执行,并返回调用它的上级函数。例:function y=test(x)if(x kx=0:0.01:1;kplot(x,user(x)ky=x.3;kreturn2727信控学院电子教研室信控学院电子教研室 二、生成选择菜单二、生成选择菜单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 end2828信控学院电子教研室信控学院电子教研室 三、建立按钮式演示菜单三、建立按钮式演示菜单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);2929信控学院电子教研室信控学院电子教研室 2.8字符串求值字符串求值一、一、eval feval字符串内容为字符串内容为matlab表达式,用表达式,用eval求表达式值。求表达式值。例:例:t=1/(I+j-1);forI=1:nfor j=1:na(I,j)=eval(t);endend3030信控学院电子教研室信控学院电子教研室 feval用于执行字符串代表的文件或函数用于执行字符串代表的文件或函数例:例:fun=sin;cos;log;k=input(choose function number:)x=input(enter value:);feval(fun(k,:),x)例:例:for I=1:10eval(p,int2str(I),=I.2)end3131信控学院电子教研室信控学院电子教研室 二、命令函数的重载二、命令函数的重载load tt.dathelp magictype rank与与load(tt.dat)help(magic)type(rank)完全一样完全一样3232信控学院电子教研室信控学院电子教研室 2.9错误和警告信息错误和警告信息1、eval与与lasterreval(字符字符1,字符串字符串2):若):若1运行出错,才运行运行出错,才运行2lasterr:给出一个包含最后一次错误信息的字符串。:给出一个包含最后一次错误信息的字符串。例如:例如:function c=catch(a,b)l=lasterr;j=findstr(l,matrix dimensions)if(isempty(j)m,n=size(a)p,q=size(b)3333信控学院电子教研室信控学院电子教研室 if(nq)b(:,n+1:p)=;elseif(np)a(p+1:m,:)=;elseif(mp)b(m+1;p)=;endc=a+b;elsec=0;end;3434信控学院电子教研室信控学院电子教研室 2、函数、函数err和和fprintf显示出错信息,终止程序的执行显示出错信息,终止程序的执行3、warning2.10程序优化程序优化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);end3535信控学院电子教研室信控学院电子教研室 2、数组预定维、数组预定维zeros(m,n)cellstruct3、内存管理、内存管理clearpackquit/exitsaveload2、pcode命令命令3636信控学院电子教研室信控学院电子教研室

    注意事项

    本文(第二章 MATLAB程序设计基础.ppt)为本站会员(hyn****60)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开