MATLAB概述及程序编写.ppt

上传人:小** 文档编号:3686560 上传时间:2020-10-16 格式:PPT 页数:50 大小:290.02KB
返回 下载 相关 举报
MATLAB概述及程序编写.ppt_第1页
第1页 / 共50页
MATLAB概述及程序编写.ppt_第2页
第2页 / 共50页
点击查看更多>>
资源描述

《MATLAB概述及程序编写.ppt》由会员分享,可在线阅读,更多相关《MATLAB概述及程序编写.ppt(50页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、高 等 数 学 实 验,第一章 MATLAB 简介,MATLAB 简介,一、关于MATLAB 、MATLAB的特点 、MATLAB工具箱及启动 二、MATLAB程序编写 、MTLAB的基本元素及使用方法 、 M文件及函数 、程序语言的编写 三、上机实验,MATLAB 简介 关于MATLAB,、MATLAB的特点 功能强大 语言简单 扩充能力强、可开发性强 编程易、效率高 (从形式上看,MATLAB程序文 件是一个纯文本文件,扩展名为m.用任何字处理软件都可以对它进行编写和修改,因此程序易调试,人机交互性强。),、MATLAB工具箱及启动 ()MATLAB工具箱: MATLAB 主程序 最优化工

2、具箱(Optimization Toolbox) 图像处理工具箱(Image Processing Toolbox) 线性矩阵不等式控制工具箱(LMI Control Toolbox) 偏微分方程工具箱(Partial Differential Equation Toolbox) 统计工具箱(Statistics Toolbox) 符号数学工具箱(Symbolic Math Toolbox),MATLAB 简介 关于MATLAB,(2) MATLAB启动 可以利用菜单、快捷键或文件夹三种方式进人MATLAB工作窗口。,MATLAB 简介 关于MATLAB,MATLAB 简介 MATLAB程序编

3、写,MTLAB的基本元素及使用方法 一、 MTLAB的基本元素及使用方法 1、常量和变量 2、字符串 3、数组和矩阵的构造 4、运算符 5、数组和矩阵的运算,1常量和变量 1)常量和变量的定义 常量是MATLAB语言预定义的一些变量,在默认的情况下这些变量的值为常数。 变量是MATLAB的基本元素之一,与其他常规程序设计语言不同的是MATLAB语言不要求对所使用的变量进行事先说明,而且它也不需要指定变量的类型,系统会根据该变量被赋予的值或是对该变量所进行的操作来自动确定变量的类型。 变量的命名规则:变量名长度不超过31位,超过31位的字符系统将忽略不计;变量名区分大小写;变量名必须以字母开头,

4、变量名中可以包含字母、数字或下划线。,MATLAB 简介 MATLAB程序编写,2)常量和变量的运算 MATLAB关于常量和变量的运算与C语言基本相同 例:计算,MATLAB 简介 MATLAB程序编写,MATLAB 简介 MATLAB程序编写,2字符串 字符和字符串也是MATLAB的重要组成部分,MATLAB具有强大的字符串处理功能,特别是在MATLAB 6.5中有专门的符号运算工具箱(Symbolic toolbox)使其进行符号运算的功能更为强大。 1)设定字符串 MATLAB对字符串的设定非常简单,只需用单引号,将需设定的字符串引注即可。 2)字符串的操作 由于MATLAB语言是采用C

5、语言开发的,因此它的字符串操作与C语言的相应操作基本相同。在MATLAH中用eval函数来执行字符串的功能。,MATLAB 简介 MATLAB程序编写,3数组和矩阵的构造 1) 数组 只要用空格或逗号间隔数组元素,并用方括号括起来就可以了。 例如 x=0 1,7 5 注:还可以用增量法和linspace函数法来构造数组增量法构造数组。 增量法构造数组 例如 b=10:15 b=10:0.5:12 b=10:-1:5 lingspace函数法构造数组 用lingspace函数构造数组,需要指定首尾和元素总个数,形式为 x=linspace(first,last,num) 例如 x=linspac

6、e(0,10,5),MATLAB 简介 MATLAB程序编写,2) 矩阵 MATLAB里,二数组称为矩阵,在方括号里输入多个元素可以构造矩阵的一个行,并用逗号或空格将每个元素隔开,不同行用分号隔开 .例如, b=0 1 5;3 7 9,MATLAB 简介 MATLAB程序编写,4运算符 与其他程序语言类似,MATLAB提供了数学表达式功能.但是,与大多数程序语言不同的是,这些表达式主要对矩阵操作. 算术运算符实现四则运算以及幂,转置等运算,表达式采用的算术运算符如表1. 1所示。,MATLAB 简介 MATLAB程序编写,5数组和矩阵的运算 由数学知识可知,数组和矩阵有着不同的概念。在MATL

7、AB中,数组和矩阵在形式上很多一致之处,但是实际上它们遵循不同的运算规则。,MATLAB 简介 MATLAB程序编写,MATLAB 简介 MATLAB程序编写,MATLAB 简介 MATLAB程序编写,二、 M文件及函数 1. M文件 如果需要重复调用命令,或者命令的数比较多,将它们写成M文件的形式并保存.M文件分为脚本式M文件和函数式M文件。 (1) 脚本式M文件 例如 在编辑器中输入如下代码 a=1 2 3;0,1,0;3,4,5; b=det(a) c=inv(a) d=b*c 保存为math.m 在命令窗口中输入math可以执行文件。,MATLAB 简介 MATLAB程序编写,(2)

8、函数式M文件 例如给出x求,在编辑器中输入 function y=tentimes(x) %本程序求输入值与10的乘积 %用演示MATLAB函数帮助的实现方法 y=x*10; 将它保存到MATLAB的work目录中,M文件名为tentimes.m,MATLAB 简介 MATLAB程序编写,在命令窗口输入 help tentimes 显示 本程序求输入值与10的乘积 用演示MATLAB函数帮助的实现方法 输入 y=tentimes(10) 得到返回值 y= 100,MATLAB 简介 MATLAB程序编写,注:比较好的编程习惯,往往在程序的开始部分 写一些文本,提供关于怎么使用函数的帮助信息.紧

9、接函数定义行的以%符号开头的第一组连续行是函数的帮助文本.,MATLAB 简介 MATLAB程序编写,2. 函数 MATLAB提供了很多内部数学函数,包括abs,sqrt,exp和sin.对负数取平方根或对数不会导致错误,MATLAB会自动返回复数计算结果.MATLAB还提供了很多高级的数学函数,包括bessel和gamma 函数,在命令窗口入下面的命令,可以看此类函数的列表. help elfun 输入以下的命令,可以看到更多的高级数学函数和矩阵函数 help specfun help elmat,MATLAB 简介 MATLAB程序编写,注:(1)任意M文件中的第1个函数称为主函数. 主函

10、数可以有任意多个子函数,它们可以作为主函数的子函数. (2)大多数情况下,主函数是M文件中可以从MATLAB命令或从另一个M文件函数调用的唯一函数.调用该函数时,使用定义该函数的M文件的名称. 例如,average 函数在文件average.m中. function y=average(x) %计算矢量元素的平均值 y=sum(x)/length(x); 可以从MATLAB命令行用下面的命令计算3个数的平均值 average(2 5 2) ans = 3,MATLAB 简介 MATLAB程序编写,注意:一般使主函数的名称与M文件的相同.如果函数名与文件名不同,必须用文件名调用函数. M文件中可

11、以包含一个以上的函数.文件中除主函数以外的函数称为子函数,主函数放在最上面,子函数放在下面,各子函数不分先后顺序.,MATLAB 简介 MATLAB程序编写,三、程序语言的编写 程序控制语句决定程序运行时的走向,包括条件控制,循环控制,错误控制和终止运行控制等,这里介绍条件控制和循环控制.,MATLAB 简介 MATLAB程序编写,1条件控制 条件控制使得可以有选择地运行程序块.当条件可以用是或否来回答时,使用if语句;当条件根据表达式值的不同可有多个选项时,使用switch和case语句. (1)if语句 在MATLAB中,if语句有3种格式。 (1) 单分支if语句: if 条件 语句组

12、end 当条件成立时,则执行语句组,执行完之后继续执行if语句的后继语句,若条件不成立,则直接执行if语句的后继语句。,MATLAB 简介 MATLAB程序编写,例如 :当输入自变量的值,由如下分段函数给出 的值,MATLAB 简介 MATLAB程序编写,编辑M文件math.m: x=input(x=); if x0 y=x3; else y=3*x2; end x,y,MATLAB 简介 MATLAB程序编写,在命令窗口输入: math x=1 x= 1 y= 3,MATLAB 简介 MATLAB程序编写,(2) 双分支if语句: if 条件 语句组1 else 语句组2 end 当条件成立

13、时,执行语句组1,否则执行语句组2,语句组1或语句组2执行后,再执行if语句的后继语句。,MATLAB 简介 MATLAB程序编写,例3-4 计算分段函数的值。 程序如下: x=input(请输入x的值:); if x=0 y= (x+sqrt(pi)/exp(2); else y=log(x+sqrt(1+x*x)/2; end Y,MATLAB 简介 MATLAB程序编写,(3) 多分支if语句: if 条件1 语句组1 elseif 条件2 语句组2 elseif 条件m 语句组m else 语句组n end 语句用于实现多分支选择结构。,MATLAB 简介 MATLAB程序编写,例3-

14、5 输入一个字符,若为大写字母,则输出其对应的小写字母;若为小写字母,则输出其对应的大写字母;若为数字字符则输出其对应的数值,若为其他字符则原样输出。 c=input(请输入一个字符,s); if c=A end,MATLAB 简介 MATLAB程序编写,有多个选择时,可以类似地使用if/elseif语句. 例如 B样条函数的判断函数 程序如下: function f=pdbsline(x) if x0 f=0; elseif x1 f=x; elseif x2 f=2-x; else f=0; end,MATLAB 简介 MATLAB程序编写,保存为pdbsline.m,在命令窗口输入: p

15、dbsline(-1) ans = 0 pdbsline(1.36) ans = 0.6400 pdbsline(2.5) ans = 0 pdbsline(1) ans = 1,MATLAB 简介 MATLAB程序编写,(2) switch/case语句 该语句的通用格式为: switch switch-expression case case-expression1, statements1; case case-expression2, statements2; case case-expression3, statements3; otherwise statements; end,M

16、ATLAB 简介 MATLAB程序编写,switch-expression给出开关条件,当有case-expression与之匹配时,就执行其后的语句.如果没有case-expression与之匹配,就执行otherwise后面的语句.在执行过程中,只有一个case命令被执行,当执行完命令后,程序就跳出分支结构,执行end下面的语句.,MATLAB 简介 MATLAB程序编写,例如:编写转换成绩等级的函数文件,考试成绩在80,100分数段的显示优秀,在70,80)分数段显示良好,60,70) 分数段显示及格,0,60) 分数段显示不及格.,程序如下: function result=cj(x)

17、 n=fix(x/10); switch n case 8,9,10 disp(优秀); case 7 disp(良好); case 6 disp(及格); otherwise disp(不及格); end,MATLAB 简介 MATLAB程序编写,保存为cj.m,在命令窗口输入: cj(98) 优秀 cj(80) 优秀 cj(67) 及格 cj(23) 不及格,MATLAB 简介 MATLAB程序编写,2循环控制 使用循环控制语句,可以重复执行代码块,用for语句执行指定次数;while语句适合于循环一直执行,直到满足条件为止的情况; continue和break语句对退出循环给予更多控制.

18、 (1) for循环 for循环允许一组命令以固定的和预定的次数重复执行,for循环的一般形式如下: for v=expression(循环变量=初值:步长:终值) statements; end,MATLAB 简介 MATLAB程序编写,2循环结构 1)for语句 for语句的格式为: for 循环变量=表达式1:表达式2:表达式3 循环体语句 end 其中表达式1的值为循环变量的初值,表达式2的值为步长,表达式3的值为循环变量的终值。步长为1时,表达式2可以省略。,MATLAB 简介 MATLAB程序编写,MATLAB 简介 MATLAB程序编写,例3-9 已知 ,当n=100时,求y的值

19、。 程序如下: y=0; n=100; for i=1:n y=y+1/(2*i-1); end y,MATLAB 简介 MATLAB程序编写,在实际MATLAB编程中,采用循环语句会降低其执行速度,所以前面的程序通常由下面的程序来代替: n=100; i=1:2:2*n-1; y=sum(1./i); y,MATLAB 简介 MATLAB程序编写,(2) while语句 while语句的一般格式为: while (条件) 循环体语句 end 其执行过程为:若条件成立,则执行循环体语句,执行后再判断条件是否成立,如果不成立则跳出循环。,MATLAB 简介 MATLAB程序编写,例如: 求自然数

20、前项n和,输入项数n 程序如下: n=input(n=) sum=0;k=1; %给和与循环变量赋初值 while k=n sum=sum+k; k=k+1; end sum 执行程序: 输入10,回车得 n= 10 sum= 55,MATLAB 简介 MATLAB程序编写,(3) continue命令 continue命令经常与for或while语句一起使用,作用是结束本次循环,即跳过循环体中下面尚未执行的语句,接着下一次是否执行循环的判断. (4) break命令 break命令经常与for或while语句一起使用,作用是终止本次循环,跳出最内层的循环.,MATLAB 简介 MATLAB程

21、序编写,(3) continue命令 continue命令经常与for或while语句一起使用,作用是结束本次循环,即跳过循环体中下面尚未执行的语句,接着下一次是否执行循环的判断. (4) break命令 break命令经常与for或while语句一起使用,作用是终止本次循环,跳出最内层的循环.,MATLAB 简介 上机实验,MATLAB 简介 上机实验,程序: 1、 x=input(x=); if x0 y=1; else y=0; end x,y,MATLAB 简介 上机实验,2、 oushuhe=0; jishuhe=0; i=1; while i1000 if mod(i,2)=0 oushuhe=oushuhe+i; else jishuhe=jishuhe+i; end i=i+1; end oushuhe jishuhe,MATLAB 简介 上机实验,课外上机实验,

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

当前位置:首页 > 教育专区 > 教案示例

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