MATLAB-实训项目讲义课件_第1页
MATLAB-实训项目讲义课件_第2页
MATLAB-实训项目讲义课件_第3页
MATLAB-实训项目讲义课件_第4页
MATLAB-实训项目讲义课件_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、dae_meng3 2 2022/10/10docin/sundae_meng4 3 数值表示、变量及表达式运算符和表达式运算数学表达式MATLAB运算符MATLAB表达式加a+b+a+b减a-b-a-b乘axb*a*b除ab/或a/b或ba幂ab 2022/10/9docin/sundae_meng4 3 2022/10/10docin/sundae_meng5 4 数值表示、变量及表达式Matlab常用函数函数名称功能介绍absqrt(x)exp(x)log(x)log10(x)sin(x)cos(x)tan(x)函数名称功能介绍cot(x)asin(x)acos(x)atan(x)aco

3、t(x)sec(x)csc(x) 2022/10/9docin/sundae_meng5 4 2022/10/10docin/sundae_meng6 4 数值表示、变量及表达式Matlab常用函数函数名称功能介绍abs(x)绝对值round(x)四舍五入为整数fix(x)向零方向取整min最小值max最大值mean平均值 函数名称功能介绍sort排序length个数prod总乘积sum总和 2022/10/9docin/sundae_meng6 4 2022/10/10docin/sundae_meng7 2.2 命令窗口 (续)【练习】计算 的值,其中x=4.92。 【例2】计算 的值。

4、【练习】计算 的值。 【练习】计算 的值 2022/10/9docin/sundae_meng7 2【例3】已知向量xX=43,72,9,16,23,47,26求其最大值,最小值,平均值,和 各数的乘积,排序,向量维数 2022/10/10docin/sundae_meng8 2.2 命令窗口 (续)【例3】已知向量x 2022/10/9docin/sunda 2022/10/10docin/sundae_meng9 2.2 命令窗口 (续)数值显示格式设置缺省显示格式:简洁的短格式(short)窗口命令及语法格式: format short format long 15位数字显示常见通用命令

5、命令含义clc清除命令窗口的显示内容clear清除Matlab工作空间中保存的变量 2022/10/9docin/sundae_meng9 2 2022/10/10docin/sundae_meng10 2.1 数值表示、变量及表达式数值的记述 其数字的绝对值范围大约是: 变量命令规则变量名、函数名对字母的大小写是敏感的。如myVar与myvar表示两个不同的变量。变量名第一个字母必须是英文字母。变量名可以包含英文字母、下划线和数字。变量名不能包含空格、标点。变量名最多可包含63个字符。 2022/10/9docin/sundae_meng10 2022/10/10docin/sundae_m

6、eng11 2.1 数值表示、变量及表达式Matlab预定义的变量变量名意义ans最近的计算结果的变量名epsMATLAB定义的正的极小值=2.2204e-16pi圆周率inf值,无限大i或j虚数单元,sqrt(-1)NaN非数,0/0、/ 说明每当MATLAB启动完成,这些变量就被产生。MATLAB中,被0除不会引起程序中断,给出报警的同时用inf或NaN给出结果。用户只能临时覆盖这些预定义变量的值,Clear或重启MATLAB可恢复其值。 2022/10/9docin/sundae_meng11 2022/10/10docin/sundae_meng12 2.2 Matlab运算极限运算导

7、数运算积分运算解方程矩阵运算 2022/10/9docin/sundae_meng12 2022/10/10docin/sundae_meng13 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,right)和limit(f,x,a,left)分别表示 函数f(x)当x趋近于a时的右极限和左极限。 2022/10/9docin/sundae_meng13 2022/10/10docin/

8、sundae_meng14 2.2 Matlab运算极限运算syms x %将x定义为符号变量limit(x2*sin(1/x),x,0)例1 求 练习求 2022/10/9docin/sundae_meng14 2022/10/10docin/sundae_meng15 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)limit(f,x,0)例3 求 例4 求 当 时的左极限,右极限 和极限。 2022/10/9docin/sundae_meng15 极限练习(

9、1) (2) (3) (4) 2022/10/10docin/sundae_meng16 极限练习(1) 2022/10/9docin/sundae 2022/10/10docin/sundae_meng17 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 2022/10/9docin/sundae_meng17 2022/10/10docin/sund

10、ae_meng18 2.2 Matlab运算导数运算syms xdiff(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) 2022/10/9docin/sundae_meng18 导数练习(1)(2)(3)(4) 2022/10/10docin/sundae_meng19 导数练习(1) 2022/10/9docin/sundae_ 2022/10/10docin/sundae_meng20 2.2 Matlab运算积分运算Matlab利用in

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

12、x+9),x,-inf,inf)例3 求 2022/10/9docin/sundae_meng21 积分练习(1)(2)(3)(4)(5) 2022/10/10docin/sundae_meng22 积分练习(1) 2022/10/9docin/sundae_ 2022/10/10docin/sundae_meng23 2.2 Matlab运算求解代数方程1.Matlab利用solve函数求解代数方程。 表示方法为: solve(eq,x) 注:在输入方程时,方程要带上单引号 。表示方法为: solve(eq1,eq2,eq3,x)2.Matlab利用solve函数求解代数方程组。 2022/

13、10/9docin/sundae_meng23 2022/10/10docin/sundae_meng24 2.2 Matlab运算syms xsolve(x2+2*x-1=0,x)syms x,y,zsolve(2*x-y+3*z=3,3*x+y-5*z=0,4*x-y+z=3,x,y,z)例1 求解方程 例2 求解方程组 2022/10/9docin/sundae_meng24 方程练习(1)(2) 2022/10/10docin/sundae_meng25 方程练习 2022/10/9docin/sundae_men 2022/10/10docin/sundae_meng26 2.2 M

14、atlab运算求解微分方程1.Matlab利用dsolve函数求解微分方程。 表示方法为: dsolve(eq,x) 注1:在微分方程中,用大写字母D表示一次 微分,D2,D3分别表示二次、三次微分运 算,如符号D2y表示 。注2:在输入方程时,方程和变量x要带上 单引号 。 2022/10/9docin/sundae_meng26 2022/10/10docin/sundae_meng27 2.2 Matlab运算syms x ydsolve(Dy-1/x*y=x2,x)dsolve(D2y+2*Dy-3*y=9*x,x)例1 求解微分方程 例2 求解微分方程例3 求解微分方程 y=dsol

15、ve(D2y+4*Dy+29*y=0,y(0)=0,Dy(0)=15,x) 2022/10/9docin/sundae_meng27 微分方程练习(1)(2)(3)(4) 2022/10/10docin/sundae_meng28 微分方程练习(1) 2022/10/9docin/sunda 2022/10/10docin/sundae_meng29 2.2 Matlab运算矩阵运算矩阵运算1.矩阵的定义定义:由mn个元素组成的具有m行n列的数表称为m行n列的矩阵(Matrix)。行向量列向量 2022/10/9docin/sundae_meng29 2022/10/10docin/sunda

16、e_meng30 2.2 Matlab运算矩阵运算第一种方法:使用方括号“ ”操作符使用规则数组元素必须在“ ”内键入;行与行之间须用分号“;” 间隔;行内元素用空格或逗号“,”间隔。【例】创建矩阵 a=1 2 3; 4 5 6; 7 8 9【例】创建向量 b=1 3 pi 5 2022/10/9docin/sundae_meng30 2022/10/10docin/sundae_meng31 2.2 Matlab运算矩阵运算第二种方法:使用冒号“:”操作符基本语法格式: x=Start : Increment : EndStart表示向量x的第一个元素;向量x的最后一个元素不能大于End ;

17、若Increment=1,则可简写为:x=Start:End。【例】键入并执行c=1:2:10 c=1:2:10 c=1 3 5 7 9【例】创建以110顺序排列整数为元素的行向量b。b=1:10 b=1 2 3 4 5 6 7 8 9 10 2022/10/9docin/sundae_meng31 2022/10/10docin/sundae_meng32 2.2 Matlab运算矩阵运算第三种方法:利用函数linspace函数linspace的基本语法x= linspace(x1, x2, n)该函数生成一个由n个元素组成的行向量;x1为其第一个元素;x2为其最后一个元素;x1、x2之间元

18、素的间隔=(x2-x1)/(n-1)。如果忽略参数n,则系统默认生成100个元素的行向量。【例】键入并执行x= linspace(1,2,5)x=1.0000 1.2500 1.5000 1.7500 2.0000 2022/10/9docin/sundae_meng32 2022/10/10docin/sundae_meng33 2.2 Matlab运算矩阵运算MATLAB数组运算符列表运算 运算符含义说明加 + 相应元素相加 减 -相应元素相减 点乘 .* 相应元素相乘左点除或右点除 .或./A的元素被B的对应元素除转置 a 矩阵转置 2022/10/9docin/sundae_meng3

19、3 2022/10/10docin/sundae_meng34 2.2 Matlab运算矩阵运算【例】矩阵加减法a=1 2 3;4 5 6b=a+2.5b = 3.5000 5.5000 7.5000 4.5000 6.5000 8.5000c=b-ac = 2.5000 2.5000 2.5000 2.5000 2.5000 2.5000 2022/10/9docin/sundae_meng34 2022/10/10docin/sundae_meng35 2.2 Matlab运算矩阵运算【例】矩阵运算举例a=2 2 3;1 -1 0;-1 2 1b=ad=a.*b 2022/10/9doci

20、n/sundae_meng35 2022/10/10docin/sundae_meng36 3 Matlab绘图及程序绘函数图像matlab程序 2022/10/9docin/sundae_meng36 2022/10/10docin/sundae_meng37 二维曲线绘图的基本操作plot指令的基本调用格式 (1)plot(x, y)绘制以x为横坐标、以y为纵坐标的曲线(2)plot(x1, y1, x2, y2, )绘制以x1为横坐标、y1为纵坐标的曲线1,以x2为横坐标、y2为纵坐标的曲线2,等等。 2022/10/9docin/sundae_meng37 2022/10/10doci

21、n/sundae_meng38 二维曲线绘图的基本操作【例】在0,2区间内,绘制曲线 【例】在0,10区间内,同时绘制曲线 y=sin(x)和 y=cos(x)+2 x=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) 2022/10/9docin/sundae_meng38 2022/10/10docin/sundae_meng39 使用参数方程绘制曲线绘制曲线t = -pi:0.01:pi;x = t.*cos(3*t);y = t.*sin(t).2;pl

22、ot(x,y) 2022/10/9docin/sundae_meng39 2022/10/10docin/sundae_meng40 3. 三维绘图的基本操作三维线图指令plot3plot3的使用格式与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 onlegend(链,宝石) 2022/10/9docin/sundae_meng40 2022/10/10docin/sundae_meng41 三维线图绘制结果

23、2022/10/9docin/sundae_meng41 基本绘图函数表命 令含 义plot建立向量或矩阵对应坐标的图形fplot自动画函数的图形title给图形加标题xlabel给x轴加标记ylabel给y轴加标记text在图形指定的位置上加文本字符串gtext在鼠标的位置上加文本字符串grid打开网格线 2022/10/10docin/sundae_meng42 基本绘图函数表命 令含 义plot建立向量或矩阵对应坐标plot绘图函数的参数表字元颜色字元图线型态y黄色点k黑色o圆w白色xxb蓝色+g绿色*r红色-实线c亮青色:点线m锰紫色-点虚线-虚线 2022/10/10docin/su

24、ndae_meng43 plot绘图函数的参数表字元颜色字元图线型态y黄色点k黑色图像练习(1)(2)(3)(4)(5) 2022/10/10docin/sundae_meng44 图像练习(1) 2022/10/9docin/sundae_ 2022/10/10docin/sundae_meng45 其他绘图函数三维网格图 mesh(x,y,z)柱状图 bar(x,y)饼图 pie(x,explode) 2022/10/9docin/sundae_meng45 2022/10/10docin/sundae_meng46 三维网线图(mesh) 画函数z=f(x,y)所代表的三维空间曲面,需要

25、做以下 的数据准备工作:确定自变量的取值范围和取值间隔。x=x1:dx:x2; y=y1:dy:y2;构成x-y平面上的自变量采样“格点”矩阵。利用指令meshgrid产生“格点”矩阵x, y=meshgrid(x,y);计算函数在自变量采样“格点”上的函数值, 即z=f(x,y)。曲面图绘制 2022/10/9docin/sundae_meng46 2022/10/10docin/sundae_meng47 举例绘制函数z=x2+y2的曲面x=-4:4;y=x;x,y=meshgrid(x,y); %生成 x-y 坐标“格点”矩阵z=x.2+y.2; %计算格点上的函数值mesh(x,y,z

26、); %三维网格图surf(x,y,z); %三维曲面图colormap(hot); 2022/10/9docin/sundae_meng47 2022/10/10docin/sundae_meng48 函数z=x2+y2的曲面的绘制结果 2022/10/9docin/sundae_meng48 2022/10/10docin/sundae_meng49 例3.15x = -2.9:0.2:2.9;bar(x,exp(-x.*x),r) 2022/10/9docin/sundae_meng49 2022/10/10docin/sundae_meng50 例3.16北京市从业人员统计1990年2

27、019年 2000年第一产业 90.770.673.9(万人)第二产业 281.6 271 214.6第三产业 254.8 323.7 326.5执行以下语句:year=1990 2019 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第一产业, fontsize6第二产业, fontsize6第三产业); 2022/10/9docin/sundae_meng50 2022/10/10docin/sundae_meng51 bar(y

28、ear, people, group); % 分组式直方图legend(fontsize6第一产业, fontsize6第二产业, fontsize6第三产业); 2022/10/9docin/sundae_meng51 2022/10/10docin/sundae_meng52 2022/10/9docin/sundae_meng52 2022/10/10docin/sundae_meng53 Matlab程序MATLAB关系运算关系操作符 小于 大于= 大于等于= 等于= 不等于运算法则:若关系式成立,结果为1; 若关系式不成立,结果为0。A=1 4 3 5 7B=2 6 9 0 7A=B

29、ans= 0 0 0 0 1 2022/10/9docin/sundae_meng53 2022/10/10docin/sundae_meng54 8、逻辑运算MATLAB逻辑运算逻辑操作符 & 与 | 或 非运算法则: 若逻辑真,结果为1; 若逻辑假,结果为0。a=1:2:11b=2:7(a6)ans= 1 0 0 0 0 1 2022/10/9docin/sundae_meng54 2022/10/10docin/sundae_meng55 数据分析与统计1、求向量的最大值和最小值 求一个向量X最大值的函数调用格式: (1) y=max(X):返回向量X的最大值存入y; (2)y,I=ma

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

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

32、采用s选项,则允许用户输入一个字符串。 例:xm = input(Whats your name?,s); 2022/10/9docin/sundae_meng58 2022/10/10docin/sundae_meng59 顺序结构2、数据的输出 命令窗口输出函数主要有disp函数,其调用格式为: disp(输出项) 其中输出项既可以为字符串,也可以为矩阵。例如: A = Hello, Tom; disp(A) 输出为:Hello, Tom 又如:A = 1,2,3;4,5,6;7,8,9; disp(A) 输出为: 1 2 3 4 5 6 7 8 9 %disp函数输出格式更紧凑 2022

33、/10/9docin/sundae_meng59 2022/10/10docin/sundae_meng60 选择结构选择结构是根据给定的条件成立或不成立,分别执行不同的语句。Matlab用于实现选择结构的语句有if语句,switch语句。1. if语句语句格式:if 条件1 语句组 1elseif 条件2 语句组 2else 语句组nend 2022/10/9docin/sundae_meng60 2022/10/10docin/sundae_meng61 选择结构例 计算分段函数:程序如下:x = input(请输入x的值:);if x =0&x=5 y = 3*x;elsey=2*x+5

34、;endy 2022/10/9docin/sundae_meng61 2022/10/10docin/sundae_meng62 选择结构switch语句switch语句根据表达式的取值不同,分别执行不同的语句,其语句格式:switch 表达式case 表达式1 语句组1case 表达式m 语句组motherwise 语句组 nend 2022/10/9docin/sundae_meng62 2022/10/10docin/sundae_meng63 例 某商场对顾客所购买的商品实行打折销售,标准如下:price200 没有折扣200=price500 3%折扣500=price1000 5%折扣1000=price2500 8%折扣2500=price5000 10%折扣5000=price 14%折扣输入所售商品的价格,求其实际销售价格。选择结构 2022/10/9doc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论