黄建华制作PPT.ppt_第1页
黄建华制作PPT.ppt_第2页
黄建华制作PPT.ppt_第3页
黄建华制作PPT.ppt_第4页
黄建华制作PPT.ppt_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

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

文档简介

1、2020/12/19,黄建华制作,0,(一)MATLAB基础知识,MATLAB简介 MATLAB主要特点 MATLAB启动与退出 MATLAB帮助系统 MATLAB入门,2020/12/19,黄建华制作,1,1.1 MATLAB简介,美国 Mathworks公司推出了MATLAB以其强大的功能和易用性受到越来越多的科技工作者的欢迎. MATLAB由主包和功能各异的工具箱组成,其基本数据结构是矩阵. MATLAB具有非常强大的计算功能,其巳成为世界上应用最广泛的工程计算应用软件之一,2020/12/19,黄建华制作,2,1.2 MATLAB主要特点,1)语言简洁紧凑,使用方便灵活,库函数极其丰富

2、。 2)运算符丰富。 3)MATLAB既具有结构化的控制语句(如for循环,while循环,break语句和if语句),又有面向对象编程的特性。 4)程序限制不严格,程序设计自由度大。例如,在MATLAB里,用户无需对矩阵预定义就可使用。,2020/12/19,黄建华制作,3,1.2 MATLAB主要特点,5)程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。 6)MATLAB的图形功能强大, MATLAB还具有较强的编辑图形界面的能力。 7)功能强大的工具箱是MATLAB的另一特色。其工具箱分为两类:功能性工具箱和学科性工具箱。 8)源程序的开放性。用户可通过对源文

3、件的修改以及加入自己的文件构成新的工具箱。,2020/12/19,黄建华制作,4,1.3 MATLAB的启动与退出,MATLAB系统的启动 MATLAB 集成环境 MATLAB系统的退出,2020/12/19,黄建华制作,5,1.3.1 MATLAB的启动,与一般的Windows程序一样,启动MATLAB系统有2种常见方法: (1)使用Windows“开始”菜单。 指向“开始” “程序” “MATLAB” (2) 利用快捷方式。 双击桌面上MATLAB图标启动,2020/12/19,黄建华制作,6,1.3.2 MATLAB集成环境,启动MATLAB后,将进入MATLAB 集成环境。MATLAB

4、 集成环境一般包括: MATLAB主窗口、命令窗口(Command Window)、工作空间窗口(Workspace)、命令历史窗口(Command History)、当前目录窗口(Current Directory)和启动平台窗口(Launch Pad)。 启动界面如下图所示:,2020/12/19,黄建华制作,7,MATLAB启动界面:,2020/12/19,黄建华制作,8,1.3.2 MATLAB集成环境,MATLAB主窗口MATLAB的主要工作界面。主窗口除了嵌入一些子窗口外,还主要包括菜单栏和工具栏。 菜单栏 MATLAB 6.5菜单栏包含File、Edit、View、Web、Win

5、dow和Help 6个菜单项。,2020/12/19,黄建华制作,9,1.3.2 MATLAB集成环境,(1) File菜单项:File菜单项实现有关文件的操作。 (2) Edit菜单项:Edit菜单项用于命令窗口的编辑操作。 (3) View菜单项:View菜单项用于设置MATLAB集成环境的显示方式。,2020/12/19,黄建华制作,10,1.3.2 MATLAB集成环境,(4) Web菜单项:Web菜单项用于设置MATLAB的Web操作。 (5) Window菜单项:主窗口菜单栏上的Window菜单,只包含一个子菜单Close all,用于关闭所有打开的编辑器窗口,包括M-file、F

6、igure、Model和GUI窗口。 (6) Help菜单项:Help菜单项用于提供帮助信息。,2020/12/19,黄建华制作,11,1.3.2 MATLAB集成环境,工具栏MATLAB 6.5主窗口的工具栏共提供了10个命令按钮。这些命令按钮均有对应的菜单命令,但比菜单命令使用起来更快捷、方便。,2020/12/19,黄建华制作,12,1.3.2 MATLAB集成环境,命令窗口 MATLAB的主要交互窗口,用于输入命令并显示除图形以外的所有执行结果。MATLAB命令窗口中的“”为命令提示符,表示MATLAB正在处于准备状态。在命令提示符后键入命令并按下回车键后,MATLAB就会解释执行所输

7、入的命令,并在命令后面给出计算结果。,2020/12/19,黄建华制作,13,1.3.2 MATLAB集成环境,命令历史记录窗口在默认设置下,历史记录窗口中会自动保留自安装起所有用过的命令的历史记录,并且还标明了使用时间,从而方便用户查询。而且,通过双击命令可进行历史命令的再运行。如果要清除这些历史记录,可以选择Edit菜单中的Clear Command History命令。,2020/12/19,黄建华制作,14,1.3.2 MATLAB集成环境,启动平台窗口和Start按钮MATLAB 6.5的启动平台窗口可以帮助用户方便地打开和调用MATLAB的各种程序、函数和帮助文件。MATLAB 6

8、.5主窗口左下角还有一个Start按钮,单击该按钮会弹出一个菜单,选择其中的命令可以执行MATLAB产品的各种工具,并且可以查阅MATLAB包含的各种资源。,2020/12/19,黄建华制作,15,1.3.3 MATLAB的退出,要退出MATLAB系统,也有3种常见方法: (1) 在MATLAB主窗口File菜单中选择Exit MATLAB命令。(2) 在MATLAB命令窗口输入Exit或Quit命令。(3) 单击MATLAB主窗口的“关闭”按钮。,2020/12/19,黄建华制作,16,1.4 MATLAB的帮助系统,帮助窗口 进入帮助窗口可以通过以下3种方法:(1) 单击MATLAB主窗口

9、工具栏中的Help按钮。(2) 在命令窗口中输入helpwin、helpdesk或doc。(3) 选择Help菜单中的“MATLAB Help”选项。,2020/12/19,黄建华制作,17,1.4 MATLAB的帮助系统,帮助命令MATLAB帮助命令包括help、lookfor以及模糊查询。1help命令在命令窗口中直接输入help命令将会显示当前帮助系统中所包含的所有项目,即搜索路径中所有的目录名称。同样,可以通过help加函数名来显示该函数的帮助说明。,2020/12/19,黄建华制作,18,1.4 MATLAB的帮助系统,2lookfor命令 help命令只搜索出那些关键字完全匹配的结

10、果。 lookfor命令对搜索范围内的M文件进行关键字搜索,条件比较宽松。 lookfor命令只对M文件的第一行进行关键字搜索。若在lookfor命令加上-all选项,则可对M文件进行全文搜索。,2020/12/19,黄建华制作,19,1.4 MATLAB的帮助系统,3模糊查询 MATLAB 6.0以上的版本提供了一种类似模糊查询的命令查询方法,用户只需要输入命令的前几个字母,然后按Tab键,系统就会列出所有以这几个字母开头的命令。,2020/12/19,黄建华制作,20,1.4 MATLAB的帮助系统,演示系统 在命令窗口输入Demos,或者选择主窗口Help菜单中的Demos子菜单,打开演

11、示系统。,2020/12/19,黄建华制作,21,1.5 MATLAB入门,常量、变量 数据类型 运算符与操作符 工作区操作命令 矩阵及其运算 常用函数,2020/12/19,黄建华制作,22,1.5.1常量与变量,常量 MATLAB使用下列名字表示常量: exp 指数e i或j 虚数单位 pi inf 正无穷大 eps 无穷小的正数或机器的浮点运算误差限 nan 不定式 lasterr 存放最新的错误信息 lastwarn 存放最新的警告信息 应避免取与常量同名的变量。,2020/12/19,黄建华制作,23,1.5.1常量与变量,变量 MATLAB变量命名的规则: (1)第一个字母必须是英

12、文字母 (2)字母间不可留空格 (3)最多只能有31个字符,MATLAB会忽略多馀字母 (4)大小写不同 MATLAB变量可以通过赋值方式来定义。 方式1:赋值变量=赋值表达式 例如:b=0.2222,则定义一个变量b,它的值为0.2222。 变量可以通过重新赋值方式来覆盖。 方式2:返回变量列表=函数名(输入变量列表) 例如:u,v =max(X),返回数组X的最大值u和位置v。,2020/12/19,黄建华制作,24,1.5.2数据类型,MATLAB中的数据一般分为:数值型数据、字符型数据、符号型数据和类与对象等格式。我们只针对前三项进行说明。 数值量和数据格式显示 在缺省情况下,当结果是

13、整数时,MATLAB将它作为整数显示;当结果是实数,MATLAB以小数点后4位的精度近似显示。如果结果中的有效数字超出了这一范围,MATLAB以科学计数法来显示结果。 对MATLAB中的数值数据,可以根据下表中的命令调整显示格式:,2020/12/19,黄建华制作,25,1.5.2数据类型,常用命令: 说明 例:a=1/3 format short 显示小数点后4位(缺省值) 0.3333 format long 显示14位 0.33333333333333 format bank 显示小数点后2位 0.33 format + 显示+,-,0 + format short e 5位科学记数法

14、3.3333e-001 format long e 16位科学记数法 3.333333333333333e-001 format rat 最接近的有理数显示 1/3,2020/12/19,黄建华制作,26,1.5.2数据类型,MATLAB还可以使用变精度算法函数vpa(变量名,n)将数据以指定的精度显示出来。 例1.5.1:(1)a=1/3;vpa(a,15) ans =.333333333333333 (2)B=vpa(a, 5);B B =.33333 当不指定n时,以默认的32位显示数据。,2020/12/19,黄建华制作,27,1.5.2数据类型,字符型 在MATLAB的编程中,我们还

15、会用到字符变量和字符串变量,在定义字符变量时,必须将字符内容用单引号括起来。 在定义字符串矩阵变量时,要求每行的字符串数和字符总数必须相等。 常用字符串操作命令:,2020/12/19,黄建华制作,28,1.5.2数据类型,Eval(字符串表达式)-将字符串表达式当作命令执行 Int2str(A)-将整数(组)A转换为字符串格式 num2str(A)-将浮点数(组)A转换为字符串格式 str2num (s)-将字符串(矩阵)s转换为浮点数格式,2020/12/19,黄建华制作,29,1.5.2数据类型,例1.5.2 (1)s=612+215;eval(s) Ans= 827 (2)a=234;

16、b=567; disp(Int2str(a), ,Int2str(b) Ans= 234567 (3)s1=234;s2=567; str2num(s1) +str2num (s2) Ans= 801,2020/12/19,黄建华制作,30,1.5.2数据类型,符号型 符号型变量可以用于公式推导和数学问题的解析解法,进行解析运算前需要首先将采用的变量申明为符号变量。 格式1:syms 变量名1 变量名2 - 说明:可以申明多个符号变量,中间用空格隔开,而不能用逗号。 格式2:f=sym(s ) -把s转换成符号变量 命令:subs(s,old,new)-用新变量new替换s中的变量old,20

17、20/12/19,黄建华制作,31,1.5.2数据类型,例1.5.3 程序: clear; syms a x b f=a*x+b %创建了函数 f =a*x+b a=10;b=1;x=0.1;subs(f) %将前面变量值代入函数 f Ans= 2 x=2*pi ;a=2;b=0; %给自变量赋值 eval( f )%求函数值:f (2) Ans= 12.5664,2020/12/19,黄建华制作,32,1.5.2数据类型,多维数组 假设若干个维数相同的矩阵A1,A2,.,Am一页一页地叠起来,就可以构成一个三维数组。 例:a1=1,2,3;4,5,6;7,8,9;a2=a1;a3=a1-a2

18、; a4(:,:,1)=a1;a4(:,:,2)=a2;a4(:,:,3)=a3;a4 则a4就是一个三维数组,它的元素一一显示。 多维数组函数A=cat(n,A1,A2,.,Am) 其中n=1表示A=A1;A2;.;Am, n=2表示A=A1,A2,.,Am, n=3表示A(:,:,i)=Ai,A是一个三维数组。,2020/12/19,黄建华制作,33,1.5.2数据类型,单元结构 相当于集合,集合中的元素可以具有不同的属性。 例:b=1,张,180,80,75,78 b = 1 张 180 1x3 double size(b) ans= 1 4 引用b的数据 b4 ans =80 75 7

19、8 不能用()引用数据,与矩阵不同。可以用celldisp()显示整个单元。要消除b的某个元素,可以用: b(3)=;b b = 1 张 1x3 double 注意不能用b3=,否则只是将第三个单元置换为。 b = 1 张 1x3 double,2020/12/19,黄建华制作,34,1.5.3运算符与操作符,运算符 MATLAB的运算符可以分为三大类别。 1、算术运算符 算术运算符是构成运算的最基本的操作命令,可以在 MATLAB的命令窗口中直接运行。 如下表所示:,2020/12/19,黄建华制作,35,1.5.3运算符与操作符,2020/12/19,黄建华制作,36,1.5.3运算符与操

20、作符,2、关系运算符 关系运算符主要用以比较数、字符串、矩阵之间的大 小或不等关系,其返回值为0或1。当返回值为1,表示比 较的两个对象关系为真;否则表示关系为假。 关系运算符如下表所示:,2020/12/19,黄建华制作,37,1.5.3运算符与操作符,2020/12/19,黄建华制作,38,1.5.3运算符与操作符,3、逻辑运算符 MATLAB中有4种基本的逻辑运算符:b=4;A=4,5,6;B=2,3,4 (1) A+B = 6,8,10 (2) A*B = 错误 , A.*B = 8 ,15, 24 (3) A.B = 16 125 1296 (4) b*A = 16 20 24 (5

21、) ab = 0.4000 % ab=b 除 a a/b = 2.5000 % a/b=a 除 b (6) A2 = 1 1 1 (7)c=0,1,1,0;d=1,1,0,0; c6,3,9;2,8,7;c=find(a=4) c= 2 4 6 7 8 9 %返回将a按列编序后符合条件的位置 i,j=find(a=4) %返回符合条件的每个元素的行列位置 a(c)=0 %将c对应的元素赋值为0 a = 1 0 0 0 3 0 2 0 0,2020/12/19,黄建华制作,41,1.5.3运算符与操作符,操作符 MATLAB的操作符主要为以下4种: (1)冒号“:” -用法说明: m:j:n 产

22、生一个步长为j的数组,当j=1时缺省为m:n 。 M(:,J) 取矩阵M的第j列, M(i,:)取第i行 。 (2)百分号“%” -在编程时引导注释行 (3)连续点“” - 换行继续写同一条命令的后续部分 (4)分号“;” - 在矩阵中表示一行的结束,在命令语句后表示不显示命令的执行结果。,2020/12/19,黄建华制作,42,1.5.4工作区操作命令,1.有关命令行环境的一些操作: (1) clc 擦去一页命令窗口,光标回屏幕左上角 (2) clear 从工作空间清除所有变量 (3) clear all 从工作空间清除所有变量和函数 (4) who 列出当前工作空间中的变量 (5) who

23、s 列出当前工作空间中的变量及信息 (6) delete 从磁盘删除指定文件 (7) which 查找指定文件的路径 (8) clf 清除图形窗口内容 (9) cla 清除图形窗口坐标,2020/12/19,黄建华制作,43,1.5.4工作区操作命令,(10) save name 保存工作空间变量到文件name.mat (11) load name 下载name.mat文件到工作区 type name.m 在工作空间查看name.m文件内容 what 列出当前目录下的m文件和mat文件 dir 列出当前目录下的所有文件 cd 显示当前的工作目录,2020/12/19,黄建华制作,44,1.5.

24、4工作区操作命令,2.有关快捷键的一些操作: Ctrl+p调用上一次的命令 Ctrl+n调用下一行的命令 Ctrl+b 退后一格 Ctrl+f 前移一格 HomeCtrl+a 光标移到行首 EndCtrl+e 光标移到行尾 EscCtrl+u 清除一行 BackspaceCtrl+h 清除光标前字符 Ctrl+k 清除光标至行尾字 Ctrl+c 中断程序运行,2020/12/19,黄建华制作,45,1.5.5矩阵及其运算,MATLAB的主要数据对象是矩阵。标量、数组、行向量、列向量都是它的特例,MATLAB最基本的功能是进行矩阵运算。 本节将介绍以下内容:,2020/12/19,黄建华制作,4

25、6,1.5.5矩阵及其运算,矩阵的生成 矩阵的运算,2020/12/19,黄建华制作,47,1.5.5.1矩阵的生成,直接输入 函数或语句输入 M-文件生成,2020/12/19,黄建华制作,48,1.5.5.1矩阵的生成,直接输入 (1) 实数值矩阵输入 不管是任何矩阵(向量),我们可以直接按行方式输入每个元素:同一行中的元素用逗号“,”或者用空格符来分隔,且空格个数不限;不同的行用分号”;” 分隔。所有元素处于一方括号( )内;如: 例1.5.5 Data = 2.32 3.43;4.37 5.98 回车 Data = 2.43 3.43 4.37 5.98 M = %生成一个空矩阵,20

26、20/12/19,黄建华制作,49,1.5.5.1矩阵的生成,(2) 复数矩阵输入 第1种方式 例1.5.6 a=2.7;b=13/25; C=1,2*a+i*b; sin(pi/4),3.5+i*a C= 1.0000 5.4000 + 0.5200 0.7071 3.5000 + 2.7000i,2020/12/19,黄建华制作,50,1.5.5.1矩阵的生成,(2) 复数矩阵输入 第2种方式 例1.5.7 R=1 2 3;4 5 6, M=11 12 13;14 15 16 R = M = 1 2 3 11 12 13 4 5 6 14 15 16 CN=R+i*M, format ra

27、t CN = 1 + 11i 2 + 12i 3 +13i 4 + 14i 5 + 15i 6 +16i,2020/12/19,黄建华制作,51,1.5.5.1矩阵的生成,函数或语句输入 (1) 特殊矩阵的生成 函数 zeros - 全零阵 格式 B = zeros(n) %生成nn全零阵 B = zeros(m,n) %生成mn全零阵 B = zeros(size(A) %生成与矩阵A相同大小的全零阵 函数 eye -单位阵 格式 Y = eye(n) %生成nn单位阵 Y = eye(m,n) %生成mn单位阵 Y = eye(size(A) %生成与A相同大小的单位阵,2020/12/1

28、9,黄建华制作,52,1.5.5.1矩阵的生成,函数 ones -全1阵 格式 Y = ones(n) %生成nn全1阵 Y = ones(m,n) %生成mn全1阵 Y = ones(size(A) %生成与A相同大小的全1阵 函数 rand -均匀分布随机矩阵 格式 Y = rand(n) %生成nn随机矩阵,其元素在 (0,1)内 Y = rand(m,n) %生成mn随机矩阵 Y = rand(size(A) %生成与A相同大小的随机矩阵 rand %无变量输入时只产生一个随机数,2020/12/19,黄建华制作,53,1.5.5.1矩阵的生成,函数 randn -标准正态分布随机矩阵

29、命令 函数randperm(n) -产生1n之间整数的随机排列 函数 linspace -产生线性等分向量 格式: y = linspace(a,b) %在(a, b)上产生100个线性等分点 y = linspace(a,b,n) %在(a, b)上产生n个线性等分点 函数 blkdiag -产生对角矩阵 格式: out = blkdiag(a,b,c,d,) %产生以a,b,c,d, 为对角线元素的矩阵 函数 magic -Magic(魔方)矩阵 格式 M = magic(n) %产生n 阶魔方矩阵,2020/12/19,黄建华制作,54,1.5.5.1矩阵的生成,例1.5.8 (1)产生

30、一个在区间10, 20内均匀分布的4阶随机矩阵 解: a=10;b=20; x=a+(b-a)*rand(4) (2)产生均值为0.6,方差为0.1的4阶矩阵 解: mu=0.6; sigma=0.1 x=mu+sqrt(sigma)*randn(4) (3)产生以1,2,3,4为对角线元素的矩阵 解: out = blkdiag(1,2,3,4),2020/12/19,黄建华制作,55,1.5.5.1矩阵的生成,例1.5.9 设有分块矩阵 其中,E,R,O,S分别为单位阵、随机阵、零阵和对角 阵,试通过数值计算验证:,2020/12/19,黄建华制作,56,1.5.5.1矩阵的生成,解:E=

31、eye(3);R=randn(3,2);O=zeros(2,3);S=blkdiag(1,2); A=E,R;O,S,B=A2;C=E,R+R*S;O,S2; B=C ans = 1 1 1 1 1 %全1表示B和C相等,即验证 1 1 1 1 1 成立 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1,2020/12/19,黄建华制作,57,1.5.5.1矩阵的生成,(2) 矩阵的抽取和裁剪 函数 diag -矩阵对角线元素的抽取 格式 X = diag(v,k) %以向量v的元素作为矩阵X的第k条对角线元素,当k=0时,v为X的主对角线,k可省略;当k0时,v为上方第k条对角线;

32、当k0:抽取上方第k条对角线元素;k0抽取下方第k条对角线元素。,2020/12/19,黄建华制作,58,1.5.5.1矩阵的生成,例1.5.10 v=1 2 3; x=diag(v,-1) x = 0 0 0 0 1 0 0 0 0 2 0 0 0 0 3 0 A=1 2 3;4 5 6;7 8 9; v=diag(A,1) v = 2 6,2020/12/19,黄建华制作,59,1.5.5.1矩阵的生成,(2) 矩阵的抽取和裁剪 函数tril - 取下三角部分 格式 L = tril(X) %抽取X的主对角线的下三角部分构 成矩阵L L = tril(X,k) %抽取X的第k条对角线的下三

33、角部分, k=0为主对角线;k0为主对角线以 上;k0为主对角线以下。 函数 triu - 取上三角部分,用法同上。,2020/12/19,黄建华制作,60,1.5.5.1矩阵的生成,例1.5.11 A=ones(4) ; %产生4阶全1阵 L=tril(A,1) %取下三角部分 L = 1 1 0 0 1 1 1 0 1 1 1 1 1 1 1 1 U=triu(A,-1) %取上三角部分 U = ?,2020/12/19,黄建华制作,61,1.5.5.1矩阵的生成,(2) 矩阵的抽取和裁剪 矩阵元素的抽取、修改和拼接 例1.5.12 A=1 2 3;4 5 6;7 8 9; A(2,3)

34、= 5 % 改变位於第二行,第三列的元素值 B = A(2,1:3) % 取出A的部份构成矩阵B B = 4 5 5 C = A(:,1) % 取出A的部份构成矩阵C C = 1 4 7 A = A B % 将B转置後以列向量并入A 将几个矩阵接在一起称为拼接,左右拼接时行数要相同,上下拼接时列数要相同。,2020/12/19,黄建华制作,62,1.5.5.1矩阵的生成,(2) 矩阵的抽取和裁剪 矩阵元素的抽取、修改和拼接 例1.5.13 A=1 2 3;4 5 6;7 8 9; A(:, 2) = % 删除第二列(:代表所有行) A(3, 4) =1 A = 1 3 0 0 4 6 0 0 7 9 0 1 原来的A没有第三、四列,修改后MATLAB自动增加行列数,对未输入的元素赋值0。,2020/12/19,黄建华制作,63,1.5.5.1矩阵的生成,(3) 矩阵的变向 函数 rot90 (A,k) %将矩阵A逆时针方向旋转(k90) k可取正负整数, K=1时缺省。 函数 fliplr(A) %将矩阵A左右翻转 函数 flipu

温馨提示

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

评论

0/150

提交评论