收藏 分享(赏)

MATLAB实训项目讲义.ppt

上传人:精品资料 文档编号:8506551 上传时间:2019-06-30 格式:PPT 页数:68 大小:1.33MB
下载 相关 举报
MATLAB实训项目讲义.ppt_第1页
第1页 / 共68页
MATLAB实训项目讲义.ppt_第2页
第2页 / 共68页
MATLAB实训项目讲义.ppt_第3页
第3页 / 共68页
MATLAB实训项目讲义.ppt_第4页
第4页 / 共68页
MATLAB实训项目讲义.ppt_第5页
第5页 / 共68页
点击查看更多>>
资源描述

1、MATLAB 实训项目讲义,Application of Matlab Language,2019/6/30,Application of Matlab Language,2,菜单栏,工具栏,文件编辑窗口,工作空间,历史命令 窗口,Start 菜单,命令窗口,命令提示符,1 启动与退出MATLAB,2019/6/30,Application of Matlab Language,3,2 命令窗口的使用,【例1】计算(1)575+987-345;(2)456*852;(3)123/56;56123(4)58;(5),2019/6/30,Application of Matlab Language

2、,4,3 数值表示、变量及表达式,运算符和表达式,2019/6/30,Application of Matlab Language,5,4 数值表示、变量及表达式,Matlab常用函数,2019/6/30,Application of Matlab Language,6,4 数值表示、变量及表达式,Matlab常用函数,2019/6/30,Application of Matlab Language,7,2.2 命令窗口 (续),【练习】计算 的值,其中x=4.92。,【例2】计算 的值。,【练习】计算 的值。,【练习】计算 的值,【例3】已知向量x X=43,72,9,16,23,47,26

3、 求其最大值,最小值,平均值,和各数的乘积,排序,向量维数,2019/6/30,Application of Matlab Language,8,2.2 命令窗口 (续),2019/6/30,Application of Matlab Language,9,2.2 命令窗口 (续),数值显示格式设置 缺省显示格式:简洁的短格式(short) 窗口命令及语法格式:format shortformat long 15位数字显示 常见通用命令 命令 含义 clc 清除命令窗口的显示内容 clear 清除Matlab工作空间中保存的变量,2019/6/30,Application of Matlab

4、Language,10,2.1 数值表示、变量及表达式,数值的记述其数字的绝对值范围大约是: 变量命令规则 变量名、函数名对字母的大小写是敏感的。如myVar与myvar表示两个不同的变量。 变量名第一个字母必须是英文字母。 变量名可以包含英文字母、下划线和数字。 变量名不能包含空格、标点。 变量名最多可包含63个字符。,2019/6/30,Application of Matlab Language,11,2.1 数值表示、变量及表达式,Matlab预定义的变量,说明 每当MATLAB启动完成,这些变量就被产生。 MATLAB中,被0除不会引起程序中断,给出报警的同时用inf或NaN给出结果

5、。 用户只能临时覆盖这些预定义变量的值,Clear或重启MATLAB可恢复其值。,2019/6/30,Application of Matlab Language,12,2.2 Matlab运算,极限运算 导数运算 积分运算 解方程 矩阵运算,2019/6/30,Application of Matlab Language,13,2.2 Matlab运算,极限运算,Matlab利用limit函数计算函数的极限。 表示方法为:limit(f,x,a) 表示求函数f(x)当x趋近于常数a的极限。,1. limit(f,a) 表示当x趋近于常数a时,f(x)的极限。,2. limit(f,x,a,r

6、ight)和limit(f,x,a,left)分别表示函数f(x)当x趋近于a时的右极限和左极限。,2019/6/30,Application of Matlab Language,14,2.2 Matlab运算,极限运算,syms x %将x定义为符号变量 limit(x2*sin(1/x),x,0),例1 求,练习求,2019/6/30,Application of Matlab Language,15,2.2 Matlab运算,limit(x2-1)/(2*x2+x-1),x,inf),syms x; f=1/x3; limit(f,x,0,left) limit(f,x,0,right

7、) limit(f,x,0),例3 求,例4 求 当 时的左极限,右极限和极限。,极限练习,(1) (2) (3) (4),2019/6/30,Application of Matlab Language,16,2019/6/30,Application of Matlab Language,17,2.2 Matlab运算,导数运算,Matlab利用diff函数计算函数的导数。 表示方法为:diff(f,x) 表示对函数f(x)关于x求导。,1. diff(f) 表示函数f(x)对默认变量求一阶导数。,2. diff(f,x,n) 表示函数f(x)对变量x求n阶导数。,differential

8、,2019/6/30,Application of Matlab Language,18,2.2 Matlab运算,导数运算,syms x diff(cos(x2+2*x),x,1),diff(x3+cos(2*x)+log(x2),x,2),例1 求 的导数。,例2 求 的二阶及三阶导数。,diff(x3+cos(2*x)+log(x2),x,3),导数练习,(1)(2)(3)(4),2019/6/30,Application of Matlab Language,19,2019/6/30,Application of Matlab Language,20,2.2 Matlab运算,积分运算

9、,Matlab利用int函数计算函数的积分。,注:定积分上下限中的a,b既可以是一个具体的数, 也可以是一个无穷的符号(inf)。,integral,不定积分的表示方法为: int(f,x) 表示求函数f(x)关于x的不定积分。,定积分的表示方法为: int(f,x,a,b) 表示求函数f(x)关于x从a到b的定积分。,2019/6/30,Application of Matlab Language,21,2.2 Matlab运算,积分运算,syms x int(6x+3*sin(x)+sqrt(x),x),int(sin(x)+cos(x),x,0,pi/4),例1 求,例2 求,int(1

10、/(x2+4*x+9),x,-inf,inf),例3 求,积分练习,(1)(2)(3)(4)(5),2019/6/30,Application of Matlab Language,22,2019/6/30,Application of Matlab Language,23,2.2 Matlab运算,求解代数方程,1.Matlab利用solve函数求解代数方程。,表示方法为: solve(eq,x),注:在输入方程时,方程要带上单引号 。,表示方法为:solve(eq1,eq2,eq3,x),2.Matlab利用solve函数求解代数方程组。,2019/6/30,Application of

11、Matlab Language,24,2.2 Matlab运算,syms x solve(x2+2*x-1=0,x),syms x,y,z solve(2*x-y+3*z=3,3*x+y-5*z=0,4*x-y+z=3,x,y,z),例1 求解方程,例2 求解方程组,方程练习,(1)(2),2019/6/30,Application of Matlab Language,25,2019/6/30,Application of Matlab Language,26,2.2 Matlab运算,求解微分方程,1.Matlab利用dsolve函数求解微分方程。,表示方法为: dsolve(eq,x),

12、注1:在微分方程中,用大写字母D表示一次微分,D2,D3分别表示二次、三次微分运算,如符号D2y表示 。,注2:在输入方程时,方程和变量x要带上单引号 。,2019/6/30,Application of Matlab Language,27,2.2 Matlab运算,syms x y dsolve(Dy-1/x*y=x2,x),dsolve(D2y+2*Dy-3*y=9*x,x),例1 求解微分方程,例2 求解微分方程,例3 求解微分方程,y=dsolve(D2y+4*Dy+29*y=0,y(0)=0,Dy(0)=15,x),微分方程练习,(1)(2)(3)(4),2019/6/30,App

13、lication of Matlab Language,28,2019/6/30,Application of Matlab Language,29,2.2 Matlab运算矩阵运算,矩阵运算,1.矩阵的定义,定义:由mn个元素组成的具有m行n列的数表,称为m行n列的矩阵(Matrix)。,行向量,列向量,2019/6/30,Application of Matlab Language,30,2.2 Matlab运算矩阵运算,第一种方法:使用方括号“ ”操作符 使用规则 数组元素必须在“ ”内键入; 行与行之间须用分号“;” 间隔; 行内元素用空格或逗号“,”间隔。【例】创建矩阵 a=1 2

14、3; 4 5 6; 7 8 9【例】创建向量 b=1 3 pi 5,2019/6/30,Application of Matlab Language,31,2.2 Matlab运算矩阵运算,第二种方法:使用冒号“:”操作符 基本语法格式:x=Start : Increment : End Start表示向量x的第一个元素; 向量x的最后一个元素不能大于End ; 若Increment=1,则可简写为:x=Start:End。【例】键入并执行c=1:2:10 c=1:2:10c=1 3 5 7 9 【例】创建以110顺序排列整数为元素的行向量b。b=1:10b=1 2 3 4 5 6 7 8 9

15、 10,2019/6/30,Application of Matlab Language,32,2.2 Matlab运算矩阵运算,第三种方法:利用函数linspace 函数linspace的基本语法 x= linspace(x1, x2, n) 该函数生成一个由n个元素组成的行向量; x1为其第一个元素;x2为其最后一个元素; x1、x2之间元素的间隔=(x2-x1)/(n-1)。 如果忽略参数n,则系统默认生成100个元素的行向量。 【例】键入并执行x= linspace(1,2,5) x=1.0000 1.2500 1.5000 1.7500 2.0000,2019/6/30,Applic

16、ation of Matlab Language,33,2.2 Matlab运算矩阵运算,MATLAB数组运算符列表 运算 运算符 含义说明 加 + 相应元素相加减 - 相应元素相减 点乘 .* 相应元素相乘左点除或右点除 .或./ A的元素被B的对应元素除转置 a 矩阵转置,2019/6/30,Application of Matlab Language,34,2.2 Matlab运算矩阵运算,【例】矩阵加减法 a=1 2 3;4 5 6 b=a+2.5 b =3.5000 5.5000 7.50004.5000 6.5000 8.5000 c=b-a c =2.5000 2.5000 2.

17、50002.5000 2.5000 2.5000,2019/6/30,Application of Matlab Language,35,2.2 Matlab运算矩阵运算,【例】矩阵运算举例 a=2 2 3;1 -1 0;-1 2 1 b=a d=a.*b,2019/6/30,Application of Matlab Language,36,3 Matlab绘图及程序,绘函数图像matlab程序,2019/6/30,Application of Matlab Language,37,二维曲线绘图的基本操作,plot指令的基本调用格式 (1)plot(x, y) 绘制以x为横坐标、以y为纵坐标

18、的曲线(2)plot(x1, y1, x2, y2, ) 绘制以x1为横坐标、y1为纵坐标的曲线1,以x2为横坐标、y2为纵坐标的曲线2,等等。,2019/6/30,Application of Matlab Language,38,二维曲线绘图的基本操作,【例】在0,2区间内,绘制曲线,【例】在0,10区间内,同时绘制曲线y=sin(x)和 y=cos(x)+2x=0:0.1:10;plot(x,sin(x),x,cos(x)+2),x = 0:0.1:2*pi;y = 2*exp(-0.5*x).*sin(2*pi*x) plot(x,y),2019/6/30,Application of

19、 Matlab Language,39,使用参数方程绘制曲线,绘制曲线t = -pi:0.01:pi; x = t.*cos(3*t); y = t.*sin(t).2; plot(x,y),2019/6/30,Application of Matlab Language,40,3. 三维绘图的基本操作,三维线图指令plot3 plot3的使用格式与plot十分相似,只是对应 第3 维空间的参量。 【例】绘制宝石链 t=0:0.01:2*pi; x=sin(t); y=cos(t); z=cos(2*t); plot3(x,y,z,b-,x,y,z,bd); view(-82,58); box

20、 on legend(链,宝石),2019/6/30,Application of Matlab Language,41,三维线图绘制结果,基本绘图函数表,2019/6/30,Application of Matlab Language,42,plot绘图函数的参数表,2019/6/30,Application of Matlab Language,43,图像练习,(1)(2)(3)(4)(5),2019/6/30,Application of Matlab Language,44,2019/6/30,Application of Matlab Language,45,其他绘图函数,三维网格图

21、 mesh(x,y,z)柱状图 bar(x,y)饼图 pie(x,explode),2019/6/30,Application of Matlab Language,46,三维网线图(mesh),画函数z=f(x,y)所代表的三维空间曲面,需要做以下的数据准备工作: 确定自变量的取值范围和取值间隔。 x=x1:dx:x2; y=y1:dy:y2; 构成x-y平面上的自变量采样“格点”矩阵。 利用指令meshgrid产生“格点”矩阵 x, y=meshgrid(x,y) ; 计算函数在自变量采样“格点”上的函数值,即z=f(x,y)。 曲面图绘制,2019/6/30,Application of

22、 Matlab Language,47,举例,绘制函数z=x2+y2的曲面x=-4:4;y=x; x,y=meshgrid(x,y); %生成 x-y 坐标“格点”矩阵 z=x.2+y.2; %计算格点上的函数值 mesh(x,y,z); %三维网格图surf(x,y,z); %三维曲面图 colormap(hot);,2019/6/30,Application of Matlab Language,48,函数z=x2+y2的曲面的绘制结果,2019/6/30,Application of Matlab Language,49,例3.15,x = -2.9:0.2:2.9; bar(x,exp

23、(-x.*x),r),2019/6/30,Application of Matlab Language,50,例3.16,北京市从业人员统计1990年 1995年 2000年 第一产业 90.7 70.6 73.9(万人) 第二产业 281.6 271 214.6 第三产业 254.8 323.7 326.5 执行以下语句: year=1990 1995 2000; people=90.7 281.6 254.8; 70.6 271 323.7; 73.9 214.6 326.5; bar(year, people, stack); legend(fontsize6第一产业, fontsize

24、6第二产业, fontsize6第三产业);,2019/6/30,Application of Matlab Language,51,bar(year, people, group); % 分组式直方图 legend(fontsize6第一产业, fontsize6第二产业, fontsize6第三产业);,2019/6/30,Application of Matlab Language,52,2019/6/30,Application of Matlab Language,53,Matlab程序,MATLAB关系运算,关系操作符, 大于 = 大于等于 = 等于 = 不等于运算法则:若关系式成

25、立,结果为1;若关系式不成立,结果为0。,A=1 4 3 5 7 B=2 6 9 0 7 A=Bans=0 0 0 0 1,2019/6/30,Application of Matlab Language,54,8、逻辑运算,MATLAB逻辑运算,逻辑操作符,& 与 | 或 非运算法则: 若逻辑真,结果为1;若逻辑假,结果为0。,a=1:2:11 b=2:7 (a6)ans=1 0 0 0 0 1,2019/6/30,Application of Matlab Language,55,数据分析与统计,1、求向量的最大值和最小值求一个向量X最大值的函数调用格式:(1) y=max(X):返回向量

26、X的最大值存入y;(2)y,I=max(X):返回向量X的最大值存入y,最大值 的序号存入I。求向量X的最小值的函数是min(X) 2、求和与求积 sum(X):返回向量X各元素的和。 prod(X):返回向量X各元素的乘积。,2019/6/30,Application of Matlab Language,56,【例7-1】求向量的最大值 x=-43,72,9,16,23,47; y=max(x) %求向量x中的最大值 y =72 y,l=max(x) %求向量x中的最大值及其该元素的位置 y =72 l =2,2019/6/30,Application of Matlab Language

27、,57,程序控制结构,顺序结构 选择结构 循环结构任何复杂的程序都可以由这3种基本结构构成。,2019/6/30,Application of Matlab Language,58,顺序结构,顺序结构是指按照程序中语句的排列顺序依次执行,直到程序的最后一个语句。(最简单的一种程序) 1、数据的输入从键盘输入数据,则可以使用input函数来进行,调用格式为:A = input(提示信息,选项);其中提示信息为一个字符串,用于提示用户输入数据。例如:从键盘输入A矩阵,可以采用下面的命令来完成A = input(输入A矩阵);如果在input函数调用时采用s选项,则允许用户输入一个字符串。例:xm

28、= input(Whats your name?,s);,2019/6/30,Application of Matlab Language,59,顺序结构,2、数据的输出命令窗口输出函数主要有disp函数,其调用格式为:disp(输出项)其中输出项既可以为字符串,也可以为矩阵。例如:A = Hello, Tom;disp(A)输出为:Hello, Tom又如:A = 1,2,3;4,5,6;7,8,9;disp(A)输出为:1 2 34 5 67 8 9 %disp函数输出格式更紧凑,2019/6/30,Application of Matlab Language,60,选择结构,选择结构是根

29、据给定的条件成立或不成立,分别执行不同的语句。 Matlab用于实现选择结构的语句有if语句,switch语句。 1. if语句 语句格式: if 条件1语句组 1 elseif 条件2语句组 2 else语句组n end,2019/6/30,Application of Matlab Language,61,选择结构,例 计算分段函数:,程序如下: x = input(请输入x的值:); if x =0 end y,2019/6/30,Application of Matlab Language,62,选择结构,switch语句 switch语句根据表达式的取值不同,分别执行不同的语句,其语

30、句格式: switch 表达式 case 表达式1语句组1 case 表达式m语句组m otherwise语句组 n end,2019/6/30,Application of Matlab Language,63,例 某商场对顾客所购买的商品实行打折销售,标准如下: price200 没有折扣 200=price500 3%折扣 500=price1000 5%折扣 1000=price2500 8%折扣 2500=price5000 10%折扣 5000=price 14%折扣 输入所售商品的价格,求其实际销售价格。,选择结构,2019/6/30,Application of Matlab

31、Language,64,price = input(请输入商品价格); switch fix(price/100)case0,1 %价格小于200rate = 0;case2,3,4rate = 3/100; %价格大于等于200但小于500case num2cell(5:9)rate = 5/100; %价格大于等于500但小于1000case num2cell(10:24)rate = 8/100; %价格大于等于1000但小于2500case num2cell(25:49)rate = 10/100; %价格大于等于2500但小于5000otherwiserate = 14/100; %

32、价格大于等于5000 end price = price*(1-rate) %输出商品实际销售价格,选择结构,2019/6/30,Application of Matlab Language,65,循环结构,循环是指按照给定的条件,重复执行指定的语句,Matlab 提供了两种实现循环结构的语句:for语句和while语句。 1、for语句 for语句的格式为: for 循环变量 =表达式1:表达式2:表达式3循环体语句 end 其中表达式1的值为循环变量的初值,表达式2的值为步 长,表达式3的值为循环变量的终值。步长为1时,表达式 2可以省略。,2019/6/30,Application of

33、 Matlab Language,66,已知 ,当n=100时,求y的值。程序如下: y = 0;n = 100; for i=1:ny = y+1/i*i; end y,循环结构,2019/6/30,Application of Matlab Language,67,循环结构,2、while语句 while语句的一般格式为: while条件循环体语句 end 其执行过程为: 若条件成立,则执行循环体语句,执行后再判断条件是否成立, 如果不成立则跳出循环。,2019/6/30,Application of Matlab Language,68,循环结构,3、break语句和continue语句 它们一般与if语句配合使用。 break语句用于终止循环的执行。 当在循环体内执行到该语句时,程序将跳出循环,继续执行循环语句的下一语句。continue语句控制跳过循环体中的某些语句。 当在循环体内执行到该语句时,程序将跳过循环体中所有剩下的语句,继续下一次循环。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报