Matlab基本程序设计解读课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Matlab基本程序设计解读课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Matlab 基本 程序设计 解读 课件
- 资源描述:
-
1、MATLAB的编程环境的编程环境变量与表达式变量与表达式三类运算符三类运算符程序的三种结构程序的三种结构MATLAB 程序设计程序设计 I 命令行操作方式命令行操作方式(交互方式交互方式) 在命令窗口直接输入简单的命令在命令窗口直接输入简单的命令,进行一般的数学进行一般的数学演算或绘制图形;演算或绘制图形; 程序设计方式程序设计方式(批处理方式批处理方式) 编写编写M文件并在命令窗口运行文件并在命令窗口运行. M文件分文件分“程序文程序文件件”和和“函数文件函数文件”两类两类 程序文件内容是按先后次序编写程序文件内容是按先后次序编写MATLAB命令的命令的一个文本一个文本(Script-fil
2、e) 函数文件在形式上只是比程序文件多一行关键字函数文件在形式上只是比程序文件多一行关键字. 两类文件都只能在两类文件都只能在程序编辑窗口程序编辑窗口建立。建立。MATLAB两种常用的工作方式:两种常用的工作方式:2/18例例1. 马鞍面马鞍面 z = xy 图形图形r=1:20;tha=(0:72)*pi/36;x=r*cos(tha);y=r*sin(tha);z=x.*ysurf(x,y,z)3/18对于需要几行对于需要几行(或几十行或几十行)命令才能完成的作业命令才能完成的作业,最好用最好用程序编辑器程序编辑器编写程序。对该程序命名编写程序。对该程序命名,保存在当前工作目录中保存在当前
3、工作目录中. 磁盘上会产生一个后磁盘上会产生一个后缀为缀为 .M的文件。的文件。所谓程序所谓程序, 就是一个就是一个MATLAB的命令序列的命令序列在命令窗口键入在命令窗口键入文件名文件名,系统会系统会逐行执行该文件逐行执行该文件中的每条命令中的每条命令.这就是这就是“批处理批处理”的意义的意义4/18进入进入MATLB程序编辑器的三种方式程序编辑器的三种方式从命令窗口的菜单栏上选择从命令窗口的菜单栏上选择 File New M-file鼠标单击工鼠标单击工具栏上第一个具栏上第一个空白图标空白图标(新文新文件件)键盘键入键盘键入edit 文件名文件名5/18p(10)=1;for k=10:-
4、1:2 p(k-1)=2*(p(k)+1);endp(1)例例2 有一天小猴摘下若干桃子有一天小猴摘下若干桃子,当即吃掉了一半当即吃掉了一半,还觉还觉得不过瘾得不过瘾,又多吃了一个又多吃了一个.第二天接着吃了剩下的一半第二天接着吃了剩下的一半,又多吃了一个又多吃了一个.以后每天都吃掉尚存桃子的一半另加以后每天都吃掉尚存桃子的一半另加一个一个.到第十天早上到第十天早上,只剩只剩 下下1 个桃子了个桃子了.问小猴第一天问小猴第一天摘下多少桃子?摘下多少桃子?解解: 记记pk为第为第k天的桃子数天的桃子数,递推公式递推公式 pk-1=2(pk+1)6/181. 变量命名规则变量命名规则 变量名和函数
5、名对字母的大小写敏感;变量名和函数名对字母的大小写敏感; X,x, Z, z 是不同变量是不同变量 变量名的第一个字符必须是一个英文字母,最变量名的第一个字符必须是一个英文字母,最多可包括多可包括3131个字符;个字符; x1, x2, x3 x1, x2, x3 变量名可由英文字母、数字和下划线混合组变量名可由英文字母、数字和下划线混合组成成 ; 变量名中不得包含空格和标点,但可以由下连变量名中不得包含空格和标点,但可以由下连字符字符MATLAB的变量与表达式的变量与表达式7/18局部变量:具有函数内部作用范围局部变量:具有函数内部作用范围全局变量:可在几个函数和基本工作空全局变量:可在几个
6、函数和基本工作空间之间共享,具有全局作用范围间之间共享,具有全局作用范围全局变量的声明:全局变量的声明: global global 变量名变量名1 1 变量名变量名2 2 2. 局部变量和全局变量局部变量和全局变量3 永久变量永久变量 ans; eps; pi; i; j; ans; eps; pi; i; j; inf; NaN; inf; NaN;8/18表达式表达式由变量、运算符、函数、数字组成由变量、运算符、函数、数字组成表达式创建常用赋值方法实现表达式创建常用赋值方法实现 变量变量=表达式表达式 MATLABMATLAB书写表达式的规则与书写表达式的规则与“手写算式手写算式”几乎相
7、同几乎相同 x=(3*42+exp(sin(45)/6 y= 20.3+3.9*sin(x); z=sin(x)+cos(x); x, y ,z=peaks4. 基本表达式基本表达式9/18 使用规则:使用规则: 所有字符串都用单引号括起来;所有字符串都用单引号括起来; 字符串中的每个字符都是字符串变量中的一字符串中的每个字符都是字符串变量中的一个元素;个元素;例例 a=This is a book a = This is a book a(1:7) ans = This is字符串数组字符串数组length(a) ans = 14将整数转换成字符命令将整数转换成字符命令: int2str(
8、)拼接字符串命令拼接字符串命令: strcat(T1,T2,T3)10/18生肖问题生肖问题今年是鸡年还是猴年?今年是鸡年还是猴年?n=input(input n:=);S=猴鸡狗猪鼠牛虎兔龙蛇马羊猴鸡狗猪鼠牛虎兔龙蛇马羊;k=rem(n,12)+1;s=S(k);s=strcat(int2str(n),年是年是,s,年年)input n:=2004 s= 2004年是猴年年是猴年Input n:=2008 s=2008年是鼠年年是鼠年11/18+ + 加加 .+ 点加点加 - - 减减 .- 点减点减 矩阵幂矩阵幂 . 点幂点幂* * 乘乘 .* 点乘点乘/ / 右除右除 ./ 点右除点右除
9、 左除左除 . 点左除点左除.算术运算符算术运算符.关系运算符关系运算符 小于小于 大于大于 = 大于等于大于等于 = 等于等于 = 不等于不等于.逻辑运算符逻辑运算符 & 与与 (and) | 或或 (or) 非非 (not)12/18MATLAB 程序结构程序结构1.顺序结构顺序结构; 2.循环结构循环结构; 3分支结构分支结构顺序结构顺序结构依照顺序执行程序的各条语句。语依照顺序执行程序的各条语句。语句在程序文件中的位置将影响运行结果。句在程序文件中的位置将影响运行结果。循环结构循环结构按条件决定重复执行一条按条件决定重复执行一条(组组)语句语句分支结构分支结构根据不同条件分别执行不同语
10、句根据不同条件分别执行不同语句三种基本结构语句可组合成结构复杂的程序三种基本结构语句可组合成结构复杂的程序13/18例例. 用用 y4(x)=x x3/3! + x5/5! -x7/7!近似正弦函数近似正弦函数 sin x 在区间在区间0, 3/2内值并内值并绘出逐步逼近的图形绘出逐步逼近的图形.x=0:0.2:3*pi/2;y=sin(x);y1=x;y2=y1-x.3/6;y3=y2+x.5/120;y4=y3-x.7/720;plot(x,y;y1)plot(x,y;y2)plot(x,y;y3)plot(x,y;y4)14/181.1.for-endfor-end循环循环语法为:语法为
11、: for x =array for x =array 可执行语句可执行语句 endend例:利用例:利用for循环求循环求1!+2!+3!+ +5!的值!的值 sum=0; for i=1:5 pdr=1; for k=1:i pdr=pdr*k; end sum=sum+pdr; end15/18while-endwhile-end循环循环 while循环将循环体中的语句循环执行不定次数。循环将循环体中的语句循环执行不定次数。 语法为:语法为: while 表达式表达式 循环体语句循环体语句 end表达式一般是由逻辑运算和关系运算以及一表达式一般是由逻辑运算和关系运算以及一般运算组成的,以
12、判断循环的进行和停止;般运算组成的,以判断循环的进行和停止;只要表达式的值只要表达式的值(逻辑值逻辑值)结果为正确结果为正确(非非0),继续循环;直到表达式值为继续循环;直到表达式值为0,循环停止。,循环停止。6/18五个水手带了一只猴子来到太平洋一个荒岛上五个水手带了一只猴子来到太平洋一个荒岛上,发现有一大堆椰子发现有一大堆椰子.由于旅途的颠簸由于旅途的颠簸,大家都很大家都很疲倦疲倦,很快入睡了很快入睡了.第一个水手醒来后,把椰子第一个水手醒来后,把椰子平分成五堆平分成五堆,将多余的一只给了猴子将多余的一只给了猴子,他私藏了他私藏了一堆后又去睡了一堆后又去睡了.第二、第三、第四、第五个水第二
13、、第三、第四、第五个水手也陆续起来手也陆续起来,和第个水手一样和第个水手一样,把椰子分成五把椰子分成五堆堆,恰多一只给猴子恰多一只给猴子,私藏一堆私藏一堆,再去入睡再去入睡.天亮以天亮以后后,大家把余下的椰子重新等分成五堆大家把余下的椰子重新等分成五堆,每人分每人分一堆一堆,正好余一只再给猴子正好余一只再给猴子.试问原先共有几只试问原先共有几只椰子?椰子?水手、猴子、椰子问题水手、猴子、椰子问题17/1818/18p=1.5;x=0;while p=fix(p) x=x+1;p=5*x+1; for k=1:5 p=5*p/4+1; endenddisp(x,p) ans= 1023 1562
14、1设最初的椰子数为设最初的椰子数为p0,椰子椰子数变化规律:数变化规律:)1(541 kkpp五个水手最后得到椰子五个水手最后得到椰子数为数为 x)1(515 px试探求解计算:试探求解计算: P5= 5x+1 Pk=5Pk+1 /4 + 1 ( k= 4,3,2,1,0 )MATLAB的函数文件的函数文件For循环语句循环语句While循环语句循环语句If 分支语句分支语句MATLAB 程序设计程序设计 IIMATLAB的的函数文件函数文件编写函数文件的主要目的编写函数文件的主要目的,是为了解决某一特殊是为了解决某一特殊问题而扩充问题而扩充MATLAB的功能的功能.函数文件名必须以函数文件名
15、必须以英文字母开头英文字母开头,并以并以 .m 为后缀为后缀,如如f1.m、f2.m、g1.m、g2.m、function 因变量名因变量名函数名函数名(自变量名自变量名) 函数体函数体注意注意:函数名应该和文件名相同函数名应该和文件名相同编写函数文件一定要按以下格式编写函数文件一定要按以下格式2/18编写函数文件编写函数文件function y=h1(x)y = 1 ./ (x-.3).2 + .01) + 1 ./ (x-.9).2 + .04) - 6;例例1.分析函数性质分析函数性质64090101030122.).(.).()(xxxf存盘后,回到存盘后,回到MATLAB命令窗口命令
16、窗口fplot(h1,0, 2)grid3/18for 变量变量=初值初值:步长步长:终值终值 语句组语句组 endwhile 条件条件 语句组语句组 endfor循环语句和循环语句和while循环语句的结构循环语句的结构4/18 sum=0; i=1; while i=100 sum=sum+i; i=i+1; end sum 例例2:用循环语句求:用循环语句求1100间整数的和间整数的和例例3 Fibonacci数列递推公式数列递推公式: Fn+1 = Fn + Fn 1 (F0 = 1,F1= 1)计算前计算前n项项n=input(input n:=);f(1)=1;f(2)=2;k=2
17、;while kn f(k+1)=f(k)+f(k-1); k=k+1;endf5/18function m=fi(n)a=1;b=1;if n=0|n=1 m=a;else for k=2:n m=a+b; a=b;b=m; endendif 表达式表达式 语句组语句组 endIf条件语句的结构条件语句的结构if 表达式表达式 语句组语句组1Else 语句组语句组2 end6/18 if 表达式表达式1 语句语句1 else if 表达式表达式2 语句语句2 else if 表达式表达式3 语句语句3 else 语句语句n end多分支语句多分支语句7/18 例例4. 某学生发现一个奇妙的某
展开阅读全文