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

    第二讲 MATLAB程序设计.ppt

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

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

    第二讲 MATLAB程序设计.ppt

    第二讲 MATLAB程序设计,MATLAB有两种工作方式:,交互式的命令行工作方式,M文件的程序工作方式,一. M文件,一. M文件,用MATLAB语言编写的程序,称为M文件。 M文件有两类:命令文件和函数文件。命令文件:没有输入参数,也不返回输出参数。函数文件:可以输入参数,也可返回输出参数。,M文件的建立与编辑,建立新的M文件: 从MATLAB命令窗口的File菜单中选择New菜单项,再选择M-file命令。,一. M文件,编辑已有的M文件: 从MATLAB命令窗口的Flie菜单中选择Open M-file命令。,命令文件,将需要运行的命令编辑到一个命令文件中,然后在MATLAB命令窗口输入该命令文件的名字,就会顺序执行命令文件中的命令。【例1】 建立一个命令文件将变量a,b的值互换。,一. M文件,e31m文件:a=1:9; b=11,12,13;14,15,16;17,18,19; c=a;a=b;b=c; a b 在MATLAB的命令窗口中输入e31,将会执行该命令文件。,二数据的输入输出,1. input函数:用于向计算机输入一个参数。调用格式: A=input(提示信息,选项);注:s选项,则允许用户输入一个字符串。例如想输入一个人的姓名,可采用命令 xm=input('What''s your name:','s')【例2】 求一元二次方程a2 +bx+c=0的根。,二数据的输入输出,a=input('a=?'); b=input('b=?'); c=input('c=?'); d=b*b-4*a*c; x=(-b+sqrt(d)/(2*a),(-b-sqrt(d)/(2*a)将该程序以aa.m文件存盘,然后运行aa.m文件。,2 pause函数:暂停程序的执行。调用格式: pause(延迟秒数)注:如果省略延迟时间,直接使用pause,则将暂停程序,直到用户按任一键后程序继续执行。,二数据的输入输出,3 disp函数:命令窗口输出函数。调用格式: disp(输出项)注:输出项为字符串或矩阵。例如 A='Hello,MATLAB' disp(A)输出为: Hello,MATLAB,三程序设计,(一)选择结构,选择结构的语句有if语句和switch语句。1 if语句 格式一: if 条件 语句组 end,三程序设计,格式二: if 条件 语句组1 else 语句组2 end,(一)选择结构,格式三: if 条件1 语句组1 elseif 条件2 语句组2 elseif 条件m 语句组m else 语句组m+1 end,三程序设计,【例4】 输入三角形的三条边,求面积。,A=input('请输入三角形的三条边:'); if A(1)+A(2)>A(3) else disp('不能构成一个三角形。') end运行: 请输入三角形的三条边:4 5 6 9.9216,三程序设计,(一)选择结构,【例5】 输入一个字符,若为大写字母,则输出其后继字符,若为小写字母,则输出其前导字符,若为其他字符则原样输出。,c=input('','s'); if c>='A' end,三程序设计,(一)选择结构,2 switch语句,switch语句根据变量或表达式的取值不同,分别执行不同的语句。其格式为: switch 表达式 case 值1 语句组1 case 值2,语句组2 case 值m 语句组m otherwise 语句组m+1 end,三程序设计,(一)选择结构,【例6】 根据变量 num 的值来决定显示的内容。,num=input('请输入一个数'); switch num case -1 disp('I am a teacher.'); case 0 disp('I am a student.'); case 1 disp('You are a teacher.'); otherwise disp('You are a student.'); end,三程序设计,(一)选择结构,(二)循环结构,实现循环结构的语句:for语句和while语句。1 for语句:格式: for 循环变量=表达式1:表达式2:表达式3 循环体语句 end注:其中表达式1的值为循环变量的初值,表达式2的值为步长,表达式3的值为循环变量的终值。步长为1时,表达式2可以省略。,三程序设计,2 while语句格式为: while (条件) 循环体语句 end【例7】 根据例3.6中求y的表达式,求: (1)y<3时的最大n值。 (2)与(1)的n值对应的y值。,三程序设计,(二)循环结构,求y的表达式,y=0; i=1; while 1 %循环的条件为1,即循环条件总是满足的,这是一个永真循环 f=1/(2*i-1); y=y+f; if y>3 break; end i=i+1; end n=i-1 y=y-f,三程序设计,(二)循环结构,3 循环的嵌套,如果一个循环结构的循环体又包括一个循环结构,就称为循环的嵌套,或称为多重循环结构。多重循环的嵌套层数可以是任意的。可以按照嵌套层数,分别叫做二重循环、三重循环等。处于内部的循环叫作内循环,处于外部的循环叫作外循环。,三程序设计,(二)循环结构,【例8】 求100,1000以内的全部素数。,n=0; for m=100:1000 flag=1; j=m-1; i=2; while i<=j end,i=i+1; end if flag n=n+1; prime(n)=m; end end prime %变量prime存放素数,三程序设计,(二)循环结构,四函数文件,函数文件是另一种形式的M文件,每一个函数文件都定义一个函数。事实上,MATLAB提供的标准函数大部分都是由函数文件定义的。,四. 函数文件,1函数文件格式,函数文件由function语句引导,其格式为: function 输出形参表=函数名(输入形参表) 注释说明部分 函数体注:其中函数名的命名规则与变量名相同。输入形参为函数的输入参数,输出形参为函数的输出参数。当输出形参多于1个时,则应该用方括号括起来。,【例9】 编写函数文件求小于任意自然数n的Fibonacci数列各项。,function f=ffib(n) %用于求Fibonacci数列的函数文件 %f=ffib(n) %1999年9月30日编 f=1,1; i=1; while f(i)+f(i+1)<n f(i+2)=f(i)+f(i+1); i=i+1; end,将以上函数文件以文件名ffib.m存盘,然后在MATLAB命令窗口输入以下命令,可求小于2 000的Fibonacci数。 ffib(2000),四. 函数文件,2函数调用,函数文件编制好后,就可调用函数进行计算了。如上面定义ffib函数后,调用它求小于2000的Fibonacci数。函数调用的一般格式是: 输出实参表=函数名(输入实参表),四. 函数文件,【例10】 利用函数文件,实现直角坐标(x,y)与极坐标(,)之间的转换。,函数文件tran.m: function gama,theta=tran(x,y) gama=sqrt(x*x+y*y); theta=atan(y/x); 调用tran.m的命令文件main1.m: x=input('Please input x=:'); y=input('Please input y=:'); gam,the=tran(x,y); gam the,已知转换公式为: 极坐标的矢径:= 极坐标的幅角:=,四. 函数文件,【例11】 利用函数的递归调用,求n!。,function f=factor(n) if n<=1 f=1; else f=factor(n-1)*n; end return; %返回 在命令文件main2.m中调用函数文件factor.m: for i=1:10 fac(i)=factor(i); end fac,程序运行结果是: fac = Columns 1 through 6 1 2 6 24 120 720 Columns 7 through 10 504 40320 362880 3628800,四. 函数文件,3 函数所传递参数的可调性,MATLAB在函数调用上有一个与众不同之处:函数所传递参数数目的可调性。凭借这一点,一个函数可完成多种功能。 在调用函数时,MATLAB用两个永久变量nargin和nargout分别记录调用该函数时的输入实参和输出实参的个数。只要在函数文件中包含这两个变量,就可以准确地知道该函数文件被调用时的输入输出参数个数,从而决定函数如何进行处理。,四. 函数文件,【例12】 nargin用法示例,函数文件examp.m: function fout=charray(a,b,c) if nargin=1 fout=a; elseif nargin=2 fout=a+b; elseif nargin=3 fout=(a*b*c)/2; end,命令文件mydemo.m: x=1:3;y=1;2;3; examp(x) examp(x,y') examp(x,y,3),执行mydemo.m后的输出是: ans = 1 2 3 ans = 2 4 6 ans = 21,四. 函数文件,五全局变量和局部变量,在MATLAB中,全局变量用命令global定义。函数文件的内部变量是局部的,与其他函数文件及MATLAB工作空间相互隔离。但是,如果在若干函数中,都把某一变量定义为全局变量,那么这些函数将公用这一个变量。全局变量的作用域是整个MATLAB工作空间,即全程有效。所有的函数都可以对它进行存取和修改。因此,定义全局变量是函数间传递信息的一种手段。,四. 函数文件,【例13】 全局变量应用示例,先建立函数文件wadd.m,该函数将输入的参数加权相加。function f=wadd(x,y) %add two variable global ALPHA BETA f=ALPHA*x+BETA*y;,在命令窗口中输入: global ALPHA BETA ALPHA=1; BETA=2; s=wadd(1,2)输出为: s = 5,习 题,1. 输入20个数,求其中最大数和最小数。要求分别用循环结构和调用MATLAB的max函数、min函数来实现。2. 求Fibonacci数列 (1)大于4000的最小项。 (2)5000之内的项数。,3. 写出下列程序的输出结果:s=0; a=12,13,14;15,16,17;18,19,20;21,22,23; for k=a for j=1:4 if rem(k(j),2)=0 s=s+k(j); end end end s,

    注意事项

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

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




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档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  

    收起
    展开