《2022年matlab基础知识.docx》由会员分享,可在线阅读,更多相关《2022年matlab基础知识.docx(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -欢迎 MATLAB 程序设计基础学问MATLAB 作为一种高级应用软件,除了命令操作的直接交互方式外,仍有自己的编程语言,为了充分发挥和表达 MA TLAB 的功能,必需把握 MATLAB 的程序设计;本章将从语言的角度介绍编写 MATLAB 基本程序的规章和方法;MATLAB 的工作环境如下列图,MATLAB 的命令窗是输入掌握命令的地方,如下列图;1.1 MA TLAB 的变量1变量命名规章在 MA TLAB 中,对变量(包括函数)命名时应遵循以下规章 MA TLAB 区分字母大小写; 变量名的第一个字符
2、必需是英文字母,最多可包括 31 个字符; 变量名可以由字母、数字和下划线混合组成;2. 固定变量在 MA TLAB中仍存在着一些系统默认的固定变量,如表2-1 所示;在MA TLAB语句中如显现固定变量名,就系统就将其给予默认值;表 2-1固定变量MATLAB会自动依据所输入变量名默认值ans预设的运算结果的变量名epsMA TLAB 定义的正的微小值=2.2204e-16 pi内建的 值inf值,无限大NaN无法定义一个数目i 或 j虚数单位 i=j= 留意: MATLAB使用变量时不需要预先对变量类型进行说明,的数据来打算变量的数据类型和分布空间;1.2 MA TLAB 基本表达式MAT
3、LAB 采纳命令行式的表达式语言,每一个命令行就是一条语句,其格式与书写的表达式特别相近,特别简洁把握;用户在命令窗口输入语句并按下回车键以后,该语句就由MATLAB系统说明运行,并准时给出运行结果;MATLAB的语句采纳以下两种形式之一:1表达式2变量 =表达式表达式由变量名、常数、函数和运算符构成;在上述MA TLAB 语句的第一种形式中,表达式执行运算后产生的矩阵,将自动赋给名为“ans” 的默认变量,并即时在屏幕上显示出来,变量“ans” 的值将在下一次运行第一种形式的语句时被刷新;在 MATLAB 语句的其次种形式中,语句执行的结果是将表达式运算产生的矩阵,赋值给等号左边表量,并存入
4、内存;【举例】4*2*pians = 25.1327 a=1 4*i a = 1.0000 4.0000i 留意: MATLAB 语句结尾如加上分号“ ; ” ,其作用是将运算结果存入内存,但不显示在屏幕上,反之,语句结尾如不加“仍将运算结果显示出来;1.3 矩阵;” ,就表示在语句执行后,在将运算结果存入内存的同时,细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 1 页,共 11 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -1.3.1 矩阵的创建在 MA TLAB 中
5、,矩阵可以通过以下方法创建 : 直接输入法 利用 MA TLAB 内部函数创建1直接输入法创建矩阵的正确方法就是从键盘直接输入矩阵,即按矩阵行对于简洁而且维数较少的矩阵,的次序输入矩阵各元素,在输入过程中必需遵循以下原就: 矩阵的全部元素必需放在方括号“ ” 内 矩阵元素之间必需用逗号“ ,” 或空格隔开 矩阵行与行之间用“ ; ” 或回车符隔开矩 阵 元 素 可 以 是 任 何 不 含 未 定 义 变 量 的 表 达 式 【 举 例 】 a=1,2,3,4,5,6,7,8,9 %一维矩阵a = 123456789 a=1,2,3;4,5,6;7,8,9 a = 123 456 789 x=2
6、;y=pi/3; A=2,5,cosy;x,2*x,3*x;x,x/2,x/4 A = 2.00005.00000.5000 2.00004.00006.0000 2.00001.00000.5000 2. 利用 MA TLAB 函数创建矩阵MATLAB供应了大量的函数用于创建一些特殊的矩阵及其派生矩阵,表2-2 列出了一些常用函数的含义;表 2-2 一些常用的矩阵生成函数函数名称 含义和功能zerosm,n 生成 m n 全部元素为 0 的矩阵onesm,n 生成 m n 全部元素为 1 的矩阵eyem,n 生成 m n 的单位阵下面以函数 zeros 为例介绍它的调用格式及其应用,其他函数
7、的调用格式与此大致相同,可参阅 MATLAB 的联机帮忙;【举例】B=zeros2,5 B = 00000 save 和 load 储备和读取;00000 3.在 MATLAB中,矩阵数据可以调用命令save 命令调用格式为save路径 文件名变量名MA T 自动将变量 第 2 页,共 11 页 如用户输入:save c:my a 就表示将矩阵a 以文件名my.mat 储存在 C 盘根目录下,如路径默认,就细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - -
8、 - - - - -储存到其默认的目录(work )中;以MA T 文件储存的矩阵,用户在使用MA TLAB 的任何时候均可用load 命令装载到MATLAB的工作区中,如要将矩阵a 重新装载到MATLAB的工作空间,只需键入命令: load c:my 1.3.2 向量的生成 在 MA TLAB 系统中,仅有一行或一列的矩阵成为向量;向量是矩阵的一种特例,前面所介绍的有关矩阵的创建及储存的全部方法完全适用于向量;生成向量常用方法 : 1利用冒号“ : ” 运算生成向量 冒号具有多种功能,在用于生成向量时,使用以下格式:x=i:j 假如 ij,生成匀称等向重量x=i,i 1,i 2, j 假如
9、ij,就生成 x 空向量x=i:j:k 假如 j0 且 ik 或 j0 且 ik,就生成向量x=i,i j,i 2j, ,k 假如 j0 且 ik 或 j0 且 i k,就生成向量x 为空向量;【举例】 a=1:6; b=2:2:10; c=8:-1:2; d=8:1:4; a = 123456 b b = 246810 c c = 8765432 d d = Empty matrix: 1-by-0 1.3.3 矩阵的标识 在 MA TLAB 系统中,矩阵的元素是通过其行、列的标号来标识的,矩阵元素所处的行号和列号称为该元素的下标,矩阵元素可以通过下标来引用,Ai,j 即表示矩阵A 第 i
10、行第 j 列的元素;【举例】 A=1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 A = 细心整理归纳 精选学习资料 1.10001.20001.3000 第 3 页,共 11 页 1.40001.50001.6000 1.70001.80001.9000 - - - - - - - - - - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - - X=A1,1 A2,2 A3,3 X = 4.5000 % X 即是矩阵 A 的对角线元素之和留意 :在 MATLAB中,矩阵下标的行
11、、列号都是从1 开头的 利用矩阵的下标来生成某个矩阵的子阵;命令格式为 B=Ax,y 该命令由已定义的矩阵 A,依据向量 x 指定的行和向量 y 指定的列生成新的向量 B;其中 x是由 A 的行号组成的任意排序的行向量,y 是由 A 的列号组成的任意排序的列向量,x 和 y的元素值不应超过 A 的最大行号和列号;【举例】A=1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 A = 1234 111512 16 5678 9131014 x=2,4; y=1,3; B=Ax,y B = 5 7 13 15 向量 x 和 y 中任一个可以是冒号“ :” ,表示全部的行和
12、列;对上述矩阵 A,A:,y表示取出矩阵 A 中所指定位置的全部列,Ax,: 表示取出矩阵 A 中所指定位置的全部行;【举例】A:,1,4 ans = 1314 12 58 916 A2,3,: ans = 5 6 7 8 9 10 11 12 MA TLAB 仍可以将如干个小矩阵,通过方括号连接算子,生成较大的矩阵,但各个小矩阵的维数要满意矩阵运算的要求【举例】a=ones2,2; b=a *2; c=a *3; d=a *4; a b;c d ans = 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 4 页,共 11 页 - - - - - -
13、 - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -1122 1122 3344 3344 a b c d ans = 11223344 11223344 1.3.4 矩阵的运算矩阵算术运算的书写格式一般算术相同,包括加、减、乘、除,也可用括号来规定运算的优先次序;运算符加名称A B指令示例说明A 与 B 对应元素相加;如其如 A 、B 为同维矩阵,就表示中一个矩阵为标量,就表示另一矩阵的全部元素加上该标量-减A-B如 A、B 为同维矩阵,就表示A 与 B 对应元素相减;如其中一个矩阵为标量,就表示另一矩阵的全部元素减上该标量*矩阵乘A*B矩阵
14、A 与 B 相乘, A 和 B 均可是向量或标量,但 A和 B 的维数必需符合矩阵乘法的定义 矩阵乘方 AB A 、B 均为标量时,表示 A 的 B 次方幂; A 为方阵, B 为正整数时,表示矩阵 A 的 B 次乘积; A 为方阵, B 为负整数时,表示矩阵 A 的逆矩阵的 B 次乘积;当 A 和 B 均为矩阵时,无定义矩阵左除 AB 方程 A*X=B 的解 X 共轭转置 A 矩阵 A 的共轭转置【举例】作矩阵 A 和 B 的加、减、乘、除和乘方运算; A=1 3 5;2 4 6;7 8 9; B=1,2,3;4,5,6;7,8,9; C1=A +B C1 = 258 12 18 69141
15、6 C2=A-B C2 = 012 -10 0-20 0 C3=A*B C3 = 485766 607284 102126150 C4=A/B Warning: Matrix is singular to working precision. Type warning off MATLAB:singularMatrix to suppress this warning. 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 5 页,共 11 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - -
16、- - -C4 = InfInfInf %此时 B 为奇特阵,得出结果为无穷大;InfInfInf InfInfInf C5=B/A Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = 8.223874e-018. Type warning off MATLAB:nearlySingularMatrix C5 = to suppress this warning. -0.500000.50000.4167 0 00.79171.0000 0 C6=A2 C6 = 42
17、55 68 52 70 88 86 125 164 1.3.5 矩阵常用函数(这里要区分矩阵运算与数组运算对应元素进行各种运算包括 加减 乘 除) ; 1. size函数 :用于运算矩阵的行数和列数;其调用格式为:d=sizea 将矩阵 a 的行数和列数赋值给变量 d+ m,n=sizea 将矩阵 a 和行数赋值给 m,列数赋值给 n 2. length 函数:用于运算矩阵的长度(maxm,n)a=lengthb 将矩阵 b 的列数赋值给变量 a 4.sum函数:用于实现矩阵元素的求和运算;其调用格式为:suma 如 a 为向量,就该调用格式将运算出矩阵 a 全部元素之和;如 a 为矩阵,就该
18、调用格式将产生一行向量,其元素分别为矩阵 a 的各列元素之和;suma,k 该调用格式将对矩阵 a 按 k 定义的方向进行求和运算,如 k=1 就按列的方向求和,如 k=2 就按行的方向求和5max 函数:用于求出矩阵元素的最大值,调用格式为maxa 如 a 为向量,就该调用格式将求出向量a 全部元素的最大值;如a 为矩阵,该调用格式将产生一行向量,其元素分别为矩阵a的各列元素的最大值maxa,k 该调用格式将对矩阵 a 按 k 定义的方向求最大值, 如 k=1 就按列的方向求最大值,如 k=2 就按行的方向求最大值;【举例】b=ones1,100; a=lengthb a = 100 【举例
19、】a=1 2 3 4 5; b=1 1 1 1 2 2 2 2 3 3 3 3; s1=suma s1 = 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 6 页,共 11 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -15 s2=sumb s2 = 6666 s3=sumb,2 s3 = 4 8 12 1.4 程序流程掌握1.4.1 循环掌握语句当程序中的某段指令需要执行肯定的条件多次重复执行时,就需要用到循环掌握;下面我们介绍 for 语句for 循环语句的格式为:f
20、or 变量 =表达式语句组end 在上述格式中,end 是必需的,不行默认的,表达式是一个矩阵,语句组就是一组合法的MATLAB 命令;for 语句的典型格式是表达式为冒号运算创建的行向量,即:for i=m:p:n 语句组end 其中 m 为循环起始值,n 为循环终止值,p 为步长【例】用 for 循环语句实现求和运算 s=1 3 5 7 99;在上述格式中,步长 p 可以默认,系统默认的步长为 1;for 循环也可以实现多重循环的嵌套,其格式为:for 变量 1=表达式for 变量 2=表达式语句组endend 留意:在用for 语句实现多重循环时,for 和 end 必需成对显现;1.4
21、.2 条件掌握语句和其他高级程序语言一样,MA TLAB 也为用户供应便利的条件掌握语句,用于实现程序的条件分支运行,下面我们介绍 if 语句;if 语句由两种格式;当分支条件只有两种情形时,可采纳 if 表达式 语句组 1 else 语句组 2 end 上述 if 语句的运行结果是,假如表达式成立,就运行语句组 句组 2;if 语句的第一种格式,即:1,如表达式不成立,就运行语细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 7 页,共 11 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - -
22、- - - - -当程序运行的分支条件多于两个时,就可采纳 if 表达式 1 语句组 1 else if 表达式 2 语句组 2 else 语句组 3 end if 语句的其次种格式,即:上述 if 语句的运行结果是,假如表达式 1 成立,就运行语句组 1;假如表达式 2 成立,就运 行语句组 2;否就,运行语句组 3;【例】定义一个 1 10 的行向量 a,当变量 p 大于 5 时,向量全部元素的值为 0;当变量 p 小于或等于 5 时,向量的全部元素值为 1; if p 5 a=ones1,10 else a=zeros1,10 end 1.5 基本绘图方法 MATLAB 可以依据给出的数
23、据,用绘图命令在屏幕上画出其图形,通过其图形对科学运算 进行描述,这是 MATLAB 独有的优于其他语言的特色;它可以挑选多种类型的绘图坐标,可以对图形加标号、加标题、或画上网状标线;1.5.1 线性坐标曲线 plot 函数命令 plot 是 MATLAB 两维曲线绘图中最简洁、最重要、使用最广泛的一个线性绘图函数,它可以生成线段、曲线和参数方程曲线的函数图形,对于不同的输入参数,该函数有不 同的形式以实现不同的功能;在这里我们分别予以具体介绍;1ploty 1 开头自动赋值为向量1 2 3 此命令格式只有一个参数,以该参数的值为纵坐标,横坐标从4 ,向量的方向和长度与参数y 相同;【例】用命
24、令ploty 绘曲线,其中y=5 3 4 9 0 2 3 ; y=5 3 4 9 0 2 3; ploty 2.plotx,y x 和 y 都是长度为n 的向量, x 为横坐标向量,y 为纵坐这是 plot 最常用的命令格式,参数标向量,这种调用可以用来产生参数方程的图形;【例】绘制函数 y=cosx 在 2 周期内的图形 t=0:0.01:2*pi; y=cost; plott,y 3.plotx,y1, option ,x,y2,option , 以公共的 x 向量作为 x 轴,分别以向量y1,y2 的数据绘制多条曲线,每条曲线的属性有相应的选项optopn来确定; Option 选项可以
25、是表示曲线颜色的字符、表示线型格式的符号和表示数据点的标记,各个选项有的可以连在一起使用;曲线颜色、 线型格式和标记如下表所示;表 1-3曲线颜色与线型格式 第 8 页,共 11 页 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -符号颜色符号颜色符号线型符号标记符号标记-实线vb蓝色c青色x叉号-虚线g绿色k黑色加号:点线;m洋红色r红色圆圈pentagram五角星-.点划线*w白色y黄色星号diamondhexagram六角星sq
26、uare【例】绘制函数y=sinx 和 y=sinx /2; t=0:0.01:2*pi; y=cost; plott,y x=0:pi/30:2*pi; y1=sinx; y2=sinx pi/2; plotx,y1,;r:;,x,y2,;m ; 1.5.2 二维图形的修饰MATLAB仍供应了一些图形函数,特地用于对由plot 命令画出的图形进行修饰;1 坐标轴的调整假如对 MA TLAB 自动产生的坐标轴不中意,可以利用axis 命令对坐标轴进行调整,axis 命令的调用格式为:axisxminxmaxyminymax xmin 和 xmax 之间, Y 轴的大小范畴限定在这个命令将所画图
27、形的X 轴的大小范畴限定在ymin 和 ymax 之间;【例】 x=0:1/100:2*pi; y=sinx; plotx,y; line0,2*pi,0,0; axis0 2*pi -2 2; 2.标识坐标轴名称及在图形中加入文本标注 xlablestring:给 X 轴加上标注 ylablestring:给 Y 轴加上标注 title (string ):给图形加上标题 grid on :给所画出的图形中加入网格线 grid off : 给所画出的图形中去掉网格线textx,y, string,option :在坐标为 x,y 的地方加注文字 第 9 页,共 11 页 细心整理归纳 精选学
28、习资料 - - - - - - - - - - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -【举例】 x=0:1/100:2*pi; y1=sinx; y2=cosx; plotx,y1,;r-;,x,y2,;b:; grid on xlabel; 弧度值 ; ylabel; 函数值 ; title; 正弦曲线和余弦曲线 ; text0.8,0.55,; 正弦曲线 ;,;sc; text0.8,0.8,; 余弦曲线 ;,;sc; 1.5.3 图形窗口的分割MATLAB创建的关于实现在同一个窗口中同
29、时显示多个图像的命令subplot ,其使用格式为:subplotm,n,i 其含义为:把图形窗口分割为 m 行和 n 列子窗口,然后选定第 i 个窗口为当前窗口;【举例】在同一图形窗口内显示函数 y=sinx 和 y=sqrtx ; subplot1,2,1 t=0:0.1:4*pi; y=sint; plott,y subplot1,2,2 x=1:0.1:10; y=sqrtx; plotx,y,;:rd; 1.6 M 文件 M 文件是由 MATLAB 语句 命令行 构成的 ASCII 文本文件,它的编程工作方式就是用户通 过在命令窗口调用 M 文件,从而实现一次执行多条 MATLAB
30、语句的方式, M 文件中的语 句应符合 MATLAB 的语法规章,且文件名必需以 .m 为扩展名,如 example.m;用户可以用 任何文本编辑器来对 M 文件进行编辑;1. 创建新 M 文件 利用 M 文件编辑器创建新的 M 文件有以下两种方法:选中命令窗口的菜单栏【File】菜单下的【 New】菜单项项的【 M-file 】命令,即 可打开 MA TLAB 的 M 文件编辑器;单击 MA TLAB命令窗口工具栏的”New M-File ” 图标按钮,也可开MATLAB的 M 文件编辑器;2. 储存 M 文件当用户的 M 文件已输入或编辑完成后,就可将M 文件储存到磁盘上,储存方法:单击
31、M 文件编辑器窗口工具栏中的”Save“ 图标按钮选中 M 文件编辑器窗口菜单栏【File】菜单的【 Save】留意:系统默认的文件储存目录为安装路径目录下的“work ” 文件夹;2打开 M 文件如需要对已储存过的 M 文件进行编辑和修改,就可单击 MA TLAB 命令窗口工具栏的”Open file ” 图标按钮或选中命令窗口菜单栏【3搜寻和执行M 文件File】菜单的【 Open】命令细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 10 页,共 11 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - -
32、 - - - - - - - -M 文件中的命令是通过在MATLAB命令窗口键入M 文件的文件名并按下回车键来执行的;当用户在命令窗口中键入 M 文件的文件名并按下回车键后,系统先搜寻该文件,如该文件存在,就以说明方式次序逐条执行 M 文件的语句;如用户的 M 文件储存在“work ” 目录以外的位置,就可通过如下两种方式在 MATLAB 命令窗口中直接调用该 M 文件启动 MATLAB 后,用“CD ” 命令将当前工作目录更换为 M 文件的储存目录,如: cd A:mydata 用“path” 命令将 M 文件的储存目录添加到MA TLAB 的默认搜寻路径中,设待执行的 M 文件的储存位置为
33、“pathpath,myfileD:myfile ” ,就添加搜寻路径的命令为运行该命令后,即可直接在MA TLAB 命令窗口中直接调用并执行D:myfile 目录下的全部M 文件1.7 函数文件函数文件是 M 文件的另一种类型,它也是由 MA TLAB 语句构成的 ASCII 码文本文件,扩展名 .m;用户可用前述的 M 文件创建、储存及编辑的方法来进行函数文件的创建、储存与编辑,但特殊要留意以下几点:1.函数文件必需以关键字“function ” 开头;2.函数文件的第一行为函数说明语句,其格式为function 返回参数 1,返回参数2, =函数名(传入参数1,传入参数2, )其中函数名
34、为用户自定义的函数名(与变量的命名规章相同);3.函数文件储存的文件名以应与用户定义的函数名一样;4.用户可通过函数说明语句中的返回参数和传入参数来实现函数参数传递;返回参数不是必需的;【举例】用函数文件定义一个 创建如下所示的文件并储存function m,s=meana l=lengtha; s=suma; m=s/l; mean 函数,其作用是对指定向量求和及均值在 MA TLAB 的命令窗口输入如下命令: a=1:9; s,m=meana 就结果为s = 5 m = 45 摸索题:1用 for 循环求 1. 2. 3. 10.的值2.画出函数的图像的图像3在同一个图形窗口画出sinx ,cosx,tanx,sinhx 的图像; x 的范畴 - , ,这四种曲线分别用不同的颜色和线型,并给图形加上标注;4写一个运算圆面积的函数文件; 第 11 页,共 11 页 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - - - - - - - - - -