电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > PPT文档下载
分享到微信 分享到微博 分享到QQ空间

Matlab 第五讲:编程基础

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

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

Matlab 第五讲:编程基础

1,Matlab 编程基础,数学实验,数学软件 Matlab,2,本讲主要内容,M 文件 Matlab 编程基础,算术运算、关系运算、逻辑运算 控制结构:顺序结构、选择结构、循环结构,3,Matlab 编程入门,Matlab 作为一种广泛应用于科学计算的工具软件,不仅具有强大的数值计算能力和丰富的绘图功能,同时也可以与 C、FORTRAN 等高级语言一样进行程序设计 利用 Matlab 的程序控制功能,将相关 Matlab 命令编成程序存储在一个文件中(M 文件),然后在命令窗口中运行该文件,Matlab 就会自动依次执行文件中的命令,直到全部命令执行完毕 在 Matlab 程序设计中,要充分利用 Matlab 数据结构的特点,提高编程效率,Matlab 编程简介,4,用 Matlab 语言编写的程序称为 M 文件 M 文件以 .m 为扩展名 M 文件是由若干 Matlab 命令组合在一起构成的,它可以完成某些操作,也可以实现某种算法,M 文件分类(根据调用方式的不同,Script:脚本文件/命令文件 Function:函数文件,M 文件,M 文件介绍,可以直接运行的M文件,5,M 文件的创建的与编辑 M 文件是文本文件,可以用任何文本编辑器来建立和编辑,通常使用 Matlab 自带的 M 文件编辑器,M 文件,6,编程示例,u=0:pi/60:2*pi; v=0:pi/60:pi; U,V=meshgrid(u,v); R=3; X=R*sin(V).*cos(U); Y=R*sin(V).*sin(U); Z=R*cos(V); mesh(X,Y,Z); axis equal,编程方式:新建一个 M 文件 myprg1.m,内容如下,例:用 mesh 绘制半径为 3 的球,命令行方式,u=0:pi/60:2*pi; v=0:pi/60:pi; U,V=meshgrid(u,v); R=3; X=R*sin(V).*cos(U); Y=R*sin(V).*sin(U); Z=R*cos(V); mesh(X,Y,Z); axis equal,在命令窗口输入 myprg1,即可执行该 M 文件,文件的命名规则与变量相同,7,在命令窗口中输入 f2c,即可执行该 M 文件,例:编写M文件,将华氏温度转化为摄氏温度,编程示例,M文件运行所产生的变量都驻留在 Matlab 当前工作空间 百分号是注释符 M文件必须在当前工作目录下才能运行,8,本讲主要内容,M 文件 Matlab 编程基础,算术运算、关系运算、逻辑运算 控制结构:顺序结构、选择结构、循环结构,9,关系运算,比较大小,如果结论是 真 则返回 1 ,否则返回 0,注意 = = 与 = 的区别,关系操作符可以比较两个同样大小的数组,或用来比较一个数组和一个标量,在后一种情况,标量和数组中的每一个元素相比较,比较结果与数组大小一样,关系运算符,10,例,关系运算举例,2+2=4,23,A=1 3 5; 2 0 6; B=3 1 0; 2 4 6; A=B,x=5 0; 4 2; x4,11,逻辑运算,逻辑运算符,A 4 5 6; 7 8 9; disp(B,disp,数据的输出:disp,20,fprintf,fprintf(fid,format,variables,数据的格式化输出:fprintf,按指定的格式将变量的值输出到屏幕或指定的文件 fid 为文件句柄,若缺省,则输出到屏幕上 format 用来指定数据输出时采用的格式,包含: 普通字符串、格式字符串、转义字符,21,fprintf,a=Hello; b=2.4; c=100*pi; fprintf(a=%s, b=%f, c=%en,a,b,c,例,format 中的格式字符串要与输出变量一一对应,可以没有输出变量,fprintf( Today is Mondayn,例,22,pause,暂停:pause,pause 或 pause(n,若想强行终止正常运行的程序,可以使用 Ctrl+c,其中 n 是暂停的时间,以秒为单位 若缺省,则将暂停程序,直到用户按任意键后继续,pause off 屏蔽程序中所有 pause 的作用 pause on 打开 pause 的作用,23,选择结构 是根据给定的条件成立或不成立,分别执行不同的语句。Matlab 用于实现选择结构的语句有 if 语句和 switch 语句,选择结构,24,单分支结构,if expr(条件) 语句组 end,if 条件语句,if expr(条件) 语句组1 else 语句组2 end,双分支结构,25,if expr1 (条件1) 语句组1 elseif expr2 (条件2) 语句组2 . . elseif exprm (条件m) 语句组m else 语句组 end,多分支结构,if 条件语句,26,根据表达式的不同取值,分别执行不同的语句,switch expr(表达式) case value1(表达式1) 语句组1 case value2(表达式2) 语句组2 . . case valuem(表达式m) 语句组m otherwise 语句组 end,switch 语句,27,Matlab 首先计算 expression 的值,然后将它依次与各个 case 指令后的检测值进行比较,当比较结果为真时,就执行相应的语句组,然后跳出 switch 结构,switch 后面的表达式 expression 的值可以是一个标量或字符串,switch 语句,otherwise 指令可以不出现,如果所有的比较结果都为假,则执行 otherwise 后面的语句组,然后跳出 switch 结构,关于 switch 语句的几点注解,28,循环结构 是按照给定的条件,重复执行指定的语句。Matlab 用于实现循环结构的语句有 for 语句和 while 语句,循环结构,29,for var = expr 循环体 end,循环变量,表达式 expr 可以是行向量,也可以是矩阵,for 循环,clear; y=0; n=100; for k=1:n y=y+1/(2*k-1); end,30,循环语句可以嵌套使用,while 循环,while expr(条件) 循环体 end,不能在 for 循环体内改变循环变量的值,为了提高代码的运行效率,应尽可能提高代码的向量化程度,避免 for 循环的使用,如果预先就知道循环的次数,则可以采用 for 循环;否则,如果预先无法确定循环的次数,则可以使用 while 循环,31,编程示例,数论中的一个有趣问题:3n+1 问题: 任取一个正整数,如果是偶数,用 2 除,如果是奇数,用 3 乘再加 1,反复这个过程,直到所得到的数为 1。 问:是否存在使该过程永不中止的整数? (exp01.m,例,32,while 1 n=input(Please enter n (nonpositive quit):); if n1 if rem(n,2)=0 n=n/2; else n=3*n+1; end fprintf(n n=%d,n); end fprintf(n n=%d is not we need! continue .n, nt); end,编程示例,33,这个例子给出了计算 eps 的一种方法。 这里我们用大写 EPS,因此系统中 eps 的值不会被覆盖。当 EPS=eps 时,条件仍成立;而当 EPS=eps/2 时,条件为假,退出循环,所以最后应有 EPS=eps/2。num 用来记录循环次数,计算 Matlab 中 eps 值 (exp02.m,while编程示例,num=0; EPS=1; while (1+EPS)1 EPS=EPS/2; num=num+1; end,例,34,break 和 continue,break 语句用于终止循环的执行,即跳出最内层循环 continue 语句用于结束本次循环,进行下一次循环 break 和 continue 一般与 if 语句配合使用,其它流控制语句,35,首先由计算机随机产生一个 1,100 之间的一个整数,然后由用户猜测所产生的这个数。根据用户猜测的情况给出不同的提示,如果猜测的数大于产生的数,则显示 Higher,小于则显示 Lower,等于则显示 You won!,同时退出游戏。用户最多有 7 次机会。 (exp03.m,编程示例,猜数游戏,例,36,上机作业,1、试说明下面两段程序的功能,最后两个 x 值为多少,2、已知 sin(x) 的幂级数展开公式为,x=1; while x+xx, x=x/2; end,x=1; while x+xx, x=2*x; end,试利用这个公式和第 1 题中的技巧,计算 sin(/2)和 sin(31/2) 的值,并与 Matlab 自带的 sin 函数比较,误差分别多大?为什么

注意事项

本文(Matlab 第五讲:编程基础)为本站会员(沉****.)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

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




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.