




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、新MATLABMATLAB 语言及其应用 Application of Matlab Language 2021-10-12Application of Matlab Language2 1 MATLAB1 MATLAB的桌面环境及入门知识的桌面环境及入门知识n启动与退出启动与退出MATLAB MATLAB n命令窗口及使用命令窗口及使用n数值表示、变量、表达式数值表示、变量、表达式n命令历史窗口命令历史窗口n工作空间工作空间n获取在线帮助获取在线帮助 2021-10-12Application of Matlab Language3 1.1 1.1 启动与退出启动与退出MATLABMATLA
2、Bn启动启动MATLABMATLABn直接用鼠标双击桌面上直接用鼠标双击桌面上MATLAB7.1MATLAB7.1图标图标n或或WindowsWindows桌面的桌面的“开始开始”“所有程所有程序序”“MATLAB7.1” “MATLAB7.1” “MATLAB7.1”“MATLAB7.1”。n退出退出MATLABMATLABn关闭关闭MATLABMATLAB桌面桌面n在命令窗口执行在命令窗口执行quitquit或或exitexit命令命令 2021-10-12Application of Matlab Language4 菜单栏菜单栏工具栏工具栏文件编辑窗口文件编辑窗口工作空间工作空间历史命
3、令历史命令窗口窗口Start Start 菜单菜单命令窗口命令窗口命令提示符命令提示符1.1 1.1 启动与退出启动与退出MATLAB MATLAB (续)(续) 2021-10-12Application of Matlab Language5 1.2 1.2 命令窗口的使用命令窗口的使用激活命令窗口。激活命令窗口。“” ” 与闪烁的光标一起表明系统就绪,等待输入。与闪烁的光标一起表明系统就绪,等待输入。命令窗口脱离命令窗口脱离MATLABMATLAB桌面。桌面。 简单计算简单计算【例例1-11-1】计算计算(1 1)在)在MATLABMATLAB命令窗口输入命令窗口输入 以下内容:以下内容
4、:(12+2(12+2* *(7-4)/32(7-4)/32(2 2)按)按【EnterEnter】键,指令执行。键,指令执行。(3 3)返回的计算结果:)返回的计算结果:ans= 2 2122743 2021-10-12Application of Matlab Language6 1.2 1.2 命令窗口命令窗口 (续)(续)说明说明l在命令窗口在命令窗口【EnterEnter】键提交命令执行。键提交命令执行。lMatlabMatlab所用运算符(如所用运算符(如+ +、- -、 等)是各种计算程序中等)是各种计算程序中常见的。常见的。l计算结果中的计算结果中的“ans”ans”是英文是英
5、文“answer”answer”的一种缩写,的一种缩写,其含义就是其含义就是“运算答案运算答案”。ansans是是MatlabMatlab的一个预定义的一个预定义变量。变量。 2021-10-12Application of Matlab Language7 1.2 1.2 命令窗口命令窗口 (续)(续)n简单计算(续)【例例1-21-2】计算计算sin(45sin(45? ) )sin(45sin(45* *pi/180)pi/180)l Matalb中正弦函数中正弦函数sin就是常见的正弦函数。就是常见的正弦函数。l 它的参数值是以它的参数值是以“弧度弧度”为单位的。为单位的。l pi也是
6、也是Matalb的预定义变量。的预定义变量。l pi=3.14159l Matlab对字母大小写是敏感的。对字母大小写是敏感的。【例例1-31-3】计算计算 的值,其中的值,其中x=4.92x=4.92。 0.521xesqrt(2sqrt(2* *exp(4.92+0.5)+1)exp(4.92+0.5)+1)l Matalb中开平方中开平方sqrt(x),是英文是英文square root的缩写的缩写 。l Matalb中指数函数中指数函数exp(x),常见的表达方式常见的表达方式。ans= 0.7071ans= 21.2781 2021-10-12Application of Matla
7、b Language8 1.2 1.2 命令窗口命令窗口 (续)(续)7“clcclc”清除窗口显示内容的命令清除窗口显示内容的命令。【例例1-41-4】计算计算 的值。的值。 2sin 0.315yy=2y=2* *sin(0.3sin(0.3* *pi)/(1+sqrt(5)pi)/(1+sqrt(5)y= 0.5000【例例1-51-5】计算计算 的值。的值。 2cos 0.315yy=2*cos(0.3*pi)/(1+sqrt(5)y= 0.3633% 命令行编辑l “”键调回已输入过命令。l 修改。 2021-10-12Application of Matlab Language9
8、1.2 1.2 命令窗口命令窗口 (续)(续)【例例1-61-6】计算半径为计算半径为5.2m5.2m的圆的周长和面积。的圆的周长和面积。radius=5.2; %radius=5.2; %圆的半径圆的半径area=piarea=pi* *5.22,5.22, circle_len=2circle_len=2* *pi pi* *5.25.2area = 84.9487circle_len = 32.6726l 以上两例,命令行中用到了等号以上两例,命令行中用到了等号“=”。l 计算结果不再赋给计算结果不再赋给“ans”,而是赋给,而是赋给用户指定的变量用户指定的变量y、area、circle
9、_len。l 无论是预定义变量还是用户自定义变量无论是预定义变量还是用户自定义变量都被存储在系统的工作空间内,即系统都被存储在系统的工作空间内,即系统定义的一个存储窗口变量的内存空间。定义的一个存储窗口变量的内存空间。l Who、whos命令用来显示工作空间的命令用来显示工作空间的变量变量l clear命令用来清除工作空间的变量。命令用来清除工作空间的变量。 2021-10-12Application of Matlab Language10 1.2 1.2 命令窗口命令窗口 (续)(续)whowhosYour variables are:ans circle_len y area radiu
10、s Name Size Bytes Class ans 1x1 8 double array area 1x1 8 double array circle_len 1x1 8 double array radius 1x1 8 double array y 1x1 8 double arrayGrand total is 5 elements using 40 bytes 2021-10-12Application of Matlab Language11 1.2 1.2 命令窗口命令窗口 (续)(续)clear ywhoYour variables are:ans circle_len ar
11、ea radius clear ans areawhosYour variables are:Name Size Bytes Class circle_len 1x1 8 double array radius 1x1 8 double arrayGrand total is 2 elements using 16 bytes 2021-10-12Application of Matlab Language12 1.2 1.2 命令窗口命令窗口 (续)(续)n数值显示格式设置数值显示格式设置n缺省显示格式:简洁的短(缺省显示格式:简洁的短(short gshort g)格式)格式n窗口命令及语
12、法格式:窗口命令及语法格式:format format 显示格式关键字显示格式关键字 如:如:format long %15format long %15位数字显示位数字显示n常见通用命令常见通用命令命令命令含义含义clcclc清除命令窗口的显示内容清除命令窗口的显示内容clearclear 清除清除MatlabMatlab工作空间中保存的变量工作空间中保存的变量whowho或或whoswhos显示显示MatlabMatlab工作空间中的变量信息工作空间中的变量信息dirdir显示当前工作目录的文件和子目录清单显示当前工作目录的文件和子目录清单cdcd显示或设置当前工作目录显示或设置当前工作目
13、录typetype显示指定显示指定m m文件的内容文件的内容helphelp或或docdoc获取在线帮助获取在线帮助quitquit或或exitexit关闭关闭/ /推出推出MATALBMATALB 2021-10-12Application of Matlab Language13 1.3 1.3 工作空间工作空间n查看工作空间内存变量,可以由查看工作空间内存变量,可以由whowho、whos whos 。n命名新变量。命名新变量。n修改变量名修改变量名n删除变量删除变量n绘图绘图n保存变量数据保存变量数据n装入数据装入数据 2021-10-12Application of Matlab L
14、anguage14 1.4 1.4 历史窗口历史窗口n历史窗口:历史窗口:n首先首先记录每次启动时间记录每次启动时间n并并记录在命令窗口输入命令记录在命令窗口输入命令,此次运行期间,此次运行期间,输入的所有命令被记录为一组,并以此次启动时输入的所有命令被记录为一组,并以此次启动时间为标志。间为标志。n使用历史窗口:使用历史窗口:n可以查看命令窗口输入过的命令或语句可以查看命令窗口输入过的命令或语句n可以选择一条或多条命令执行拷贝、执行、创可以选择一条或多条命令执行拷贝、执行、创建建MM文件等。文件等。 要清除历史记录,可以选择要清除历史记录,可以选择Edit菜单中的菜单中的Clear Comm
15、and History 命令命令 2021-10-12Application of Matlab Language15 1.5 1.5 当前目录窗口和搜索路径当前目录窗口和搜索路径当前目录窗口:当前目录窗口:指指Matlab运行时的工作目录。运行时的工作目录。l只有在当前目录和搜索路径下的文件、函数才可以被只有在当前目录和搜索路径下的文件、函数才可以被运行和调用。运行和调用。l如果没有特殊指明,数据文件也将存放在当前目录下;如果没有特殊指明,数据文件也将存放在当前目录下;l用户可以将自己的工作目录设置成当前目录,从而使用户可以将自己的工作目录设置成当前目录,从而使得所有操作都在当前目录中进行。
16、得所有操作都在当前目录中进行。 2021-10-12Application of Matlab Language16 搜索路径:搜索路径:指指Matlab执行过程中对变量、函数和文件执行过程中对变量、函数和文件进行搜索的路径。进行搜索的路径。l在在File菜单中选择菜单中选择Set Path命令或在命令窗口输入命令或在命令窗口输入pathtool命令,出现搜索路径设置对话框:命令,出现搜索路径设置对话框:!修改完搜索路径后,!修改完搜索路径后,需要进行保存。需要进行保存。 2021-10-12Application of Matlab Language17 1.6 获取在线帮助获取在线帮助nM
17、ATLAB提供的帮助信息有两类提供的帮助信息有两类n简单纯文本帮助信息简单纯文本帮助信息 help lookfor(条件比较宽松)(条件比较宽松)例:例:inversen窗口式综合帮助信息(文字、公式、图形)窗口式综合帮助信息(文字、公式、图形) doc helpwin 2021-10-12Application of Matlab Language18 【功能演示功能演示-1 -1】求方程求方程xxxx53223719130 的全部根。的全部根。p = 2,0,-3,71,-9,13;建立多项式系数向量建立多项式系数向量x = roots(p);求根求根x = -3.4914 1.6863
18、+ 2.6947i 1.6863 - 2.6947i 0.0594 + 0.4251i 0.0594 - 0.4251i 2021-10-12Application of Matlab Language19 【功能演示功能演示-2 -2】求解线性方程组求解线性方程组xyzxyzxyz 2328234453923a = 2,3,-1;8,2,3;45,3,9;建立系数矩阵建立系数矩阵ab = 2;4;23;建立列向量建立列向量bx = inv(a)*bx = 0.5531 0.2051 -0.2784 2021-10-12Application of Matlab Language20 符号计算
19、符号计算syms x y z 建立符号变量建立符号变量x,y,z=solve(2*x+3*y-z-2,8*x+2*y+3*z-4,45*x+3*y+9*z-23)x = 151/273 y = 8/39 z = -76/273 2021-10-12Application of Matlab Language21 【功能演示功能演示-3 -3】求解定积分求解定积分 求解求解 I=quad(x.*log(1+x),0,1)ans = 0.250或或syms xint(x*log(1+x),0,1)ans = 1/4ln()xx dx 1012 Matlab数据及其运算数据及其运算 MatlabMa
20、tlab数据类型非常丰富,除数据类型非常丰富,除数值型数值型、字符型字符型等基本数等基本数据类型外,还有据类型外,还有结构体结构体、单元单元等更为复杂的数据类型。等更为复杂的数据类型。各种数据类型都以矩阵形式存在,各种数据类型都以矩阵形式存在,矩阵矩阵是是MatlabMatlab最基本的最基本的数据对象,并且矩阵的运算是定义在数据对象,并且矩阵的运算是定义在复数域复数域上的。上的。 2021-10-12Application of Matlab Language23 2.1 2.1 数值表示、变量及表达式数值表示、变量及表达式n 数值的记述数值的记述 MatlabMatlab的数只采用习惯的十
21、进制表示,可以的数只采用习惯的十进制表示,可以带小数点和负号带小数点和负号; ;其缺省的数据类型为其缺省的数据类型为双精度双精度浮点型浮点型(doubledouble)。)。 例如:例如:3 -10 0.001 1.3e10 1.256e-63 -10 0.001 1.3e10 1.256e-6n 变量命令规则变量命令规则l变量名、函数名对字母的大小写是敏感的。变量名、函数名对字母的大小写是敏感的。如如myVarmyVar与与myvarmyvar表示两个不同的变量。表示两个不同的变量。l变量名变量名第一个字母必须是第一个字母必须是英文字母英文字母。l变量名可以包含变量名可以包含英文字母、下划线
22、和数字英文字母、下划线和数字。l变量名变量名不能包含空格、标点不能包含空格、标点。l变量名最多可包含变量名最多可包含6363个个字符(字符(6.56.5及以后的及以后的版本)。版本)。 2021-10-12Application of Matlab Language24 2.1 2.1 数值表示、变量及表达式数值表示、变量及表达式 (续)(续)nMatlabMatlab预定义的变量预定义的变量说明说明l每当每当MATLABMATLAB启动完成,这些变量就被产生。启动完成,这些变量就被产生。lMATLABMATLAB中,被中,被0 0除不会引起程序中断,给出报警的同时用除不会引起程序中断,给出报
23、警的同时用infinf或或NaNNaN给出结果。给出结果。l用户只能临时覆盖这些预定义变量的值,用户只能临时覆盖这些预定义变量的值,ClearClear或重启或重启MATLABMATLAB可恢可恢复其值。复其值。 2021-10-12Application of Matlab Language25 2.12.1数值表示、变量及表达式数值表示、变量及表达式 (续)(续)n运算符和表达式运算符和表达式ba说明说明lMatlabMatlab用用“ ”和和”/ /”分别表示分别表示“左除左除”和和“右除右除”。对标量而言,。对标量而言,两者没有区别。对矩阵产生不同影响。两者没有区别。对矩阵产生不同影响
24、。lMATLABMATLAB表达式的书写规则与表达式的书写规则与“手写方式手写方式”几乎完全相同。几乎完全相同。l表达式按与常规相同的优先级自左至右执行运算。表达式按与常规相同的优先级自左至右执行运算。l优先级:指数运算级别最高,乘除次之,加减最低。优先级:指数运算级别最高,乘除次之,加减最低。l括号改变运算的次序。括号改变运算的次序。 2021-10-12Application of Matlab Language26 2.1 2.1 数值表示、变量及表达式数值表示、变量及表达式 (续)(续)n复数及其运算复数及其运算nMATLABMATLAB中复数的表达:中复数的表达:z=a+bi,其中,
25、其中a a、b b为为实数。实数。nMATLABMATLAB把复数作为一个整体,象计算实数一把复数作为一个整体,象计算实数一样计算复数。样计算复数。【例例2-1】复数复数z1=3+4i,z2=1+2i, z3= 计算计算62ie123z zzzz1=3+4*i, z2=1+2*i, z3=exp(i*pi/6), z=z1*z2/z3z_real=real(z), z_image=imag(z),z_angle=angle(z), z_length=abs(z), 2021-10-12Application of Matlab Language27 2.2 Matlab矩阵矩阵(数组数组)的表
26、示的表示n 数组的概念数组的概念n 一维数组变量的创建一维数组变量的创建n 二维数组变量的创建二维数组变量的创建n 数组元素的标识与寻访数组元素的标识与寻访n 数组运算数组运算n 多维数组多维数组 2021-10-12Application of Matlab Language28 2.2.1. 数组数组(array)的概念的概念n 数组定义:数组定义: 按按行行(row)和和列列(column)顺序排列的实数或顺序排列的实数或复数的有序集,被称为复数的有序集,被称为数组数组。 数组中的任何一个数都被称为这个数组的数组中的任何一个数都被称为这个数组的元素元素,由其所在的行和列标识,这个标识,由
27、其所在的行和列标识,这个标识也称为数组元素的也称为数组元素的下标或索引下标或索引。Matlab将将标量标量视为视为11的数组。的数组。 对对m行、行、n列的列的2维数组维数组a:计为计为mn的数组的数组a;*行标识、列标识均从行标识、列标识均从1开始;开始;行标识从上到下递增;行标识从上到下递增;列标识从左到右递增。列标识从左到右递增。a(3, 4)=34 row is firsta= 2021-10-12Application of Matlab Language29 n 数组的分类数组的分类n 一维数组一维数组,也称为向量,也称为向量(vector) 。 行向量行向量(row vector
28、)、列向量、列向量(column vector)。n 二维数组二维数组(矩阵矩阵matrix)。n 多维数组多维数组。有效矩阵有效矩阵:每行元素的个数必须相同,每:每行元素的个数必须相同,每列元素的个数也必须相同。列元素的个数也必须相同。2.2.1. 数组数组(array)的概念的概念 2021-10-12Application of Matlab Language30 2.2.1、数组、数组(array)的概念的概念 (续)(续)行向量行向量列向量列向量a(2,1)=3a(1,2)=2b(3)=3c(2)=2 2021-10-12Application of Matlab Language3
29、1 2.2.2、创建一维数组变量、创建一维数组变量n 第一种方法:使用方括号第一种方法:使用方括号“ ”操作符操作符【例例2-2】创建数组创建数组(行向量行向量)a=1 3 pi 3+5i a=1 3 pi 3+5*i %or a=1, 3, pi, 3+5*i a= 1.0000 3.0000 3.1416 3.0000 + 5.0000i所有的向量元素必须在操作符所有的向量元素必须在操作符“ ”之内;之内;向量元素间用向量元素间用空格空格或英文的或英文的逗点逗点“,”分开。分开。n 第二种方法:使用冒号第二种方法:使用冒号“:”操作符操作符【例例2-3】创建以创建以110顺序排列整数为元素
30、的顺序排列整数为元素的行向量行向量b。b=1:10b=1 2 3 4 5 6 7 8 9 10 2021-10-12Application of Matlab Language32 2.2.2、创建一维数组变量、创建一维数组变量(续)(续)【例例2-4】键入并执行键入并执行c=1:2:10和和d=1:2:9 c=1:2:10c=1 3 5 7 9d=1:2:9d= 1 3 5 7 9利用冒号利用冒号“:”操作符创建行向量的基本语法格操作符创建行向量的基本语法格式:式:x=Start:Increment:EndnStart表示新向量表示新向量x的第一个元素;的第一个元素;n新向量新向量x的最后一
31、个元素不能大于的最后一个元素不能大于End ;nIncrement可正可负,若负,则必须可正可负,若负,则必须StartEnd;若正,则必须若正,则必须Starta=1 2 3; b=2 3 4; c=a;b;c1=a b;n第二种方法:函数方法第二种方法:函数方法函数函数ones(生成全生成全1矩阵矩阵)、zeros (生成全生成全0矩阵矩阵) 、reshapeF“help elmat”获得基本的矩阵生成和操作函数列表获得基本的矩阵生成和操作函数列表【例例2-11】创建全创建全1的的3x3数组。数组。ones(3)【例例2-12】创建全创建全1的的3x4数组。数组。ones(3,4) 202
32、1-10-12Application of Matlab Language39 2.2.3、创建二维数组变量、创建二维数组变量(续)(续)【例例2-11】 reshape的使用演示的使用演示a=-4:4a= -4 -3 -2 -1 0 1 2 3 4b=reshape(a, 3, 3)b=-4 -1 2-3 0 3-2 1 4F数组元素的排列顺序,数组元素的排列顺序,从上到下按列排列从上到下按列排列,先排第一列,然后第二列,先排第一列,然后第二列,F要求数组的要求数组的元素总数不变元素总数不变。 2021-10-12Application of Matlab Language40 2.2.42
33、.2.4、数组元素的标识与寻访、数组元素的标识与寻访n 数组元素的标识数组元素的标识n “全下标(全下标(index)”标识标识经典数学教科书采用经典数学教科书采用“全下标全下标”标识法:标识法:每一维每一维对应一个下标。对应一个下标。 如对于二维数组,用如对于二维数组,用“行下标和列下标行下标和列下标”标识数组标识数组的元素,的元素,a(2,3)就表示二维数组就表示二维数组a的的“第第2行第行第3列列”的的元素。元素。 对于一维数组,用一个下标即可,对于一维数组,用一个下标即可,b(2)表示一维数组表示一维数组b的第的第2个元素,无论个元素,无论b是行向量还是列向量。是行向量还是列向量。n
34、“单下标单下标”(linear index)标识)标识所谓所谓“单下标单下标”标识就是用一个下标来表明元素标识就是用一个下标来表明元素在数组的位置。在数组的位置。 对于二维数组,对于二维数组, “单下标单下标”编号:设想把二维数组编号:设想把二维数组的所有的所有列列,按先后顺序首尾相接排成,按先后顺序首尾相接排成“一维长列一维长列”,然后自上往下对元素位置执行编号。然后自上往下对元素位置执行编号。n 两种两种“下标下标”标识的变换标识的变换:sub2ind、ind2sub 2021-10-12Application of Matlab Language41 2.2.4、数组元素的标识与寻访、数
35、组元素的标识与寻访 (续)(续)【例例2-12】单下标的使用单下标的使用a=zeros(2, 5);a(:)=-4:5a = -4 -2 0 2 4 -3 -1 1 3 5% 注意数组的排列顺序。注意数组的排列顺序。 2021-10-12Application of Matlab Language42 2.2.42.2.4、数组元素的标识与寻访、数组元素的标识与寻访 (续)(续)n 元素与子数组的寻访与赋值元素与子数组的寻访与赋值【例例2-13】一维数组元素与子数组的寻访与赋一维数组元素与子数组的寻访与赋值值a=linspace(1,10,5)a = 1.0000 3.2500 5.5000
36、7.7500 10.0000a(3) %寻访寻访a的第的第3个元素个元素ans = 5.5000a(1 2 5) %寻访寻访a的第的第1、2、5个元素组成的子个元素组成的子数组数组ans = 1.0000 3.2500 10.0000 2021-10-12Application of Matlab Language43 2.2.4、数组元素的标识与寻访、数组元素的标识与寻访 (续)(续)a(1:3) %寻访前寻访前3个元素组成的子数组个元素组成的子数组ans = 1.0000 3.2500 5.5000a(3:-1:1) %由前由前3个元素倒序构成的子数组个元素倒序构成的子数组ans = 5.
37、5000 3.2500 1.0000a(3:end)ans = 5.5000 7.7500 10.0000a(3:end-1)ans = 5.5000 7.7500% %第第3个及其后所有元素构成的子数组个及其后所有元素构成的子数组% 函数函数end作为参数使用,返回最后一个元素的下标作为参数使用,返回最后一个元素的下标 2021-10-12Application of Matlab Language44 a(1 2 3 5 5 3 2 1) ans = 1.0000 3.2500 5.5000 10.0000 10.0000 5.5000 3.2500 1.0000% 数组元素可以被任意重复
38、访问,构成长度大于数组元素可以被任意重复访问,构成长度大于原数组的新数组。原数组的新数组。a(6)? Index exceeds matrix dimensions.M 下标值超出了数组的维数,导致错误下标值超出了数组的维数,导致错误a(2.1)? Subscript indices must either be real positive integers or logicals.M 下标值只能取正整数或逻辑值下标值只能取正整数或逻辑值2.2.4、数组元素的标识与寻访、数组元素的标识与寻访 (续)(续) 2021-10-12Application of Matlab Language45 2
39、.2.42.2.4、数组元素的标识与寻访、数组元素的标识与寻访 (续)(续)a(3)=0 %修改数组修改数组a的第的第3元素值为元素值为0a = 1.0000 3.2500 0 7.7500 10.0000a(2 5)=1 1a = 1.0000 1.0000 0 7.7500 1.0000 可以修改指定数组元素的值可以修改指定数组元素的值 一次可以修改多个数组元素的值一次可以修改多个数组元素的值 要修改的数组元素的个数应与送入数组的要修改的数组元素的个数应与送入数组的元素个数相同元素个数相同 2021-10-12Application of Matlab Language46 2.2.4、数
40、组元素的标识与寻访、数组元素的标识与寻访 (续)(续)【例例2-14】二维数组元素与子数组的寻访与赋二维数组元素与子数组的寻访与赋值值a_2=zeros(2, 4) %创建创建2x4的全的全0数组数组a_2 = 0 0 0 0 0 0 0 0a_2(:)=1:8a_2 = 1 3 5 7 2 4 6 8 a_2(2 5 8) %单下标方式寻访多个元素单下标方式寻访多个元素ans = 2 5 8%注意元素的排列顺序注意元素的排列顺序 2021-10-12Application of Matlab Language47 2.2.4、数组元素的标识与寻访、数组元素的标识与寻访 (续)(续) a_2(
41、2 5 8) =10 20 30a_2 = 1 3 20 7 10 4 6 30a_2(:,2 3)=ones(2) %双下标方式寻访并修改双下标方式寻访并修改a_2 = 1 1 1 7 10 1 1 30% 二维数组可以二维数组可以“单下标单下标”方式或方式或“全下标全下标”方式方式访问、赋值;访问、赋值;% “单下标单下标”方式赋值时,方式赋值时,等号两边涉及的元素个等号两边涉及的元素个数必须相等;数必须相等;% “全下标全下标”方式赋值时,方式赋值时,等号右边数组的大小必等号右边数组的大小必须等于原数组中涉及元素构成的子数组的大小。须等于原数组中涉及元素构成的子数组的大小。 2021-1
42、0-12Application of Matlab Language48 2.2.4、数组元素的标识与寻访、数组元素的标识与寻访 (续)(续)a_2(:,end)ans = 7 30a_2(:,end-1)ans = 1 1a_2(:, end:-1:3)ans = 7 1 30 1a_2(end,:)ans = 10 1 1 30a_2(end,2:4)ans = 1 1 30a_2 (4 6)=6:7a_2 = 1 1 1 7 10 6 7 30a_2(end,2:end-1) What is the result? 2021-10-12Application of Matlab Lang
43、uage49 2.2.4、数组元素的标识与寻访、数组元素的标识与寻访 (续)(续)【例例2-15】 size、length函数函数a=ones(4,6)*6m=size(a)len=length(a)b=1:5;length(b)c=blength(c) size函数返回变量的大小,即函数返回变量的大小,即变量数组的行列数变量数组的行列数 length函数返回变量数组的最函数返回变量数组的最大维数大维数 2021-10-12Application of Matlab Language50 2.2.4、数组元素的标识与寻访、数组元素的标识与寻访 (续)(续)n 双下标到单下标的转换双下标到单下标
44、的转换【例例2-16】 sub2ind函数函数-双下标转换为单下标双下标转换为单下标A = 17 24 1 8; 2 22 7 14; 4 6 13 20;A(:,:,2) = A - 10A(2,1,2)sub2ind(size(A),2,1,2)A(14) 2021-10-12Application of Matlab Language51 2.2.4、数组元素的标识与寻访、数组元素的标识与寻访 (续)(续)n 单下标到双下标的转换单下标到双下标的转换【例例2-17】 ind2sub函数函数-双下标转换为单下标双下标转换为单下标b = zeros(3);b(:) = 1:9IND = 3
45、4 5 6I,J = ind2sub(size(b),IND) 2021-10-12Application of Matlab Language52 2.2.5、多多维数组维数组n 多维数组的定义多维数组的定义 在在 MATLAB 的的数据类型数据类型中,向量中,向量可视为一可视为一维数组,维数组, 矩阵可视为矩阵可视为二二维数组维数组,对于维数对于维数(Dimensions)超过超过2 的的数组均可视为数组均可视为多维数组多维数组(Multidimesional Arrays,简称简称N-D Arrays)。 2021-10-12Application of Matlab Language5
46、3 2.2.5、多多维数组维数组 (续)(续)n 将两个二维(平面)数组叠将两个二维(平面)数组叠在一起,在一起,就就构成三维数组构成三维数组,第三第三维称为维称为页页(Page),如下,如下图所示图所示: (3,4) (3,1) (3,2) (3,3)(2,4)(2,3)(2,2)(2,1)(1,4)(1,3)(1,2)(1,1)页列页行 2021-10-12Application of Matlab Language54 2.2.5、多多维数组维数组 (续)(续)n 三维数组三维数组,可,可对应对应至一至一个个 X - Y - Z 三三维立体坐标维立体坐标,如下,如下图所示图所示: Z(Z
47、(页页) )Y(Y(列列) )X(X(行行) ) 2021-10-12Application of Matlab Language55 2.2.52.2.5、多多维数组维数组 (续)(续)n三维数组元素的寻址:三维数组元素的寻址:可以可以(行、列、页行、列、页)来来确定确定。n以以维数为维数为 342 的的三维数组为例三维数组为例,其,其寻址寻址方式如下方式如下图所示图所示: n数组数组 A 是是三维数组三维数组,其中,其中 A(:,:,1)代表第一代表第一页页的的二维数组二维数组,A(:,:,2)代表第代表第二页二页的的二维二维数组数组。 2021-10-12Application of M
48、atlab Language56 2.2.5、多多维数组维数组 (续)(续)n多维数组多维数组的建立的建立n建立一建立一个简单个简单的的多维数组多维数组,可,可直直接由接由 MATLAB 命令视窗内输入(使用命令视窗内输入(使用“ ”操作操作符)符)n例例:由两个相同大小二维数组创建三维数组由两个相同大小二维数组创建三维数组A(:, :, 1) = 1 0 2 5; 4 1 8 7; 3 2 6 3;A(:, :, 2) = 3 5 4 1; 2 6 2 1; 4 2 3 0 A(:,:,1) = 1 0 2 5 4 1 8 7 3 2 6 3A(:,:,2) = 3 5 4 1 2 6 2
49、1 4 2 3 0 2021-10-12Application of Matlab Language57 2.2.5、多多维数组维数组 (续)(续)执行命令:执行命令:whos A,得到如下结果:,得到如下结果: Name Size Bytes Class A 3x4x2 192 double arrayGrand total is 24 elements using 192 bytes 2021-10-12Application of Matlab Language58 2.2.6、数组的算术运算、数组的算术运算n MATLAB数组支持线性代数中所有的矩阵数组支持线性代数中所有的矩阵运算。运
50、算。n 建立特有的数组运算符,如:建立特有的数组运算符,如:“.*”、“./”等。等。 MATLAB数组运算符列表数组运算符列表运算运算 运算符运算符含义说含义说明明加加 + 相应元素相加相应元素相加 减减 -相应元素相减相应元素相减 乘乘 *矩阵乘法矩阵乘法点乘点乘 .* 相应元素相乘相应元素相乘幂幂 矩阵幂运算矩阵幂运算点幂点幂 .相应元素进行相应元素进行幂运算幂运算左除或右除左除或右除或或/矩阵左除或右矩阵左除或右除除 左点除或右点除左点除或右点除 .或或./A的元素被的元素被B的的对应元素除对应元素除 2021-10-12Application of Matlab Language59
51、 2.2.6、算术运算、算术运算 (续)(续) 【例例2-18】数组加减法数组加减法a=zeros(2, 3);a(:)=1:6;b=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 2021-10-12Application of Matlab Language60 2.2.6、算术运算、算术运算 (续)(续)【例例2-19】画出画出y=1/(x+1)的函数曲线,的函数曲线,x0, 100。x=0:100;y=1./(x+1);plot(x,
52、 y);legend(y=1/(x+1); 2021-10-12Application of Matlab Language61 2.2.6、算术运算、算术运算 (续)(续)【例例2-20】生成一个信号:生成一个信号:x=sin(2*pi*t)+sin(4*pi*t)t = 0:199./100; %采样时间点采样时间点% 生成信号生成信号x = sin(2*pi*t) + sin(4*pi*t);plot(t,x);legend(x = sin(2*pi*t) + sin(4*pi*t); 2021-10-12Application of Matlab Language62 2.2.6、算术
53、运算、算术运算 (续)(续) 2021-10-12Application of Matlab Language63 2.2.6、算术运算、算术运算 (续)(续)【例例2-21】点幂点幂“.”举例举例a=1:6a = 1 2 3 4 5 6b=reshape(a,2,3)b = 1 3 5 2 4 6a=a.2a = 1 4 9 16 25 36b=b.2b = 1 9 25 4 16 36 2021-10-12Application of Matlab Language64 2.2.7、关系运算、关系运算 Matlab提供了提供了6种关系运算符:种关系运算符:、=、=、=(不等于)(不等于)关
54、系运算符的运算法则:关系运算符的运算法则:1、当两个标量进行比较时,直接比较两数大小。若关系成立,、当两个标量进行比较时,直接比较两数大小。若关系成立, 结果为结果为1,否则为,否则为0。2、当两个维数相等的矩阵进行比较时,其相应位置的元素按、当两个维数相等的矩阵进行比较时,其相应位置的元素按 标量关系进行比较,并给出结果,形成一个维数与原来相同标量关系进行比较,并给出结果,形成一个维数与原来相同 的的0、1矩阵。矩阵。3、当一个标量与一个矩阵比较时,该标量与矩阵的各元素进行、当一个标量与一个矩阵比较时,该标量与矩阵的各元素进行 比较,结果形成一个与矩阵维数相等的比较,结果形成一个与矩阵维数相
55、等的0、1矩阵。矩阵。 2021-10-12Application of Matlab Language65 2.2.7、关系运算、关系运算 (续)(续)【例例2-22】建立建立5阶方阵阶方阵A,判断其元素能否被,判断其元素能否被3整整除。除。A = 24, 35, 13, 22, 63; 23, 39, 47, 80, 80; . 90, 41, 80, 29, 10; 45, 57, 85, 62, 21; 37, 19, 31, 88, 76A =24 35 13 22 6323 39 47 80 8090 41 80 29 10n 57 85 62 21n 19 31 88 76P =
56、 rem(A,3)=0 %被被3除,求余除,求余P = 1 0 0 0 1 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 0 2021-10-12Application of Matlab Language66 2.2.8、逻辑运算、逻辑运算 Matlab提供了提供了3种逻辑运算符:种逻辑运算符:&(与)、(与)、|(或)、(或)、(非)(非)逻辑运算符的运算法则:逻辑运算符的运算法则:1、在逻辑运算中,确认非零元素为真(、在逻辑运算中,确认非零元素为真(1),零元素为假(),零元素为假(0)。)。 2、当两个维数相等的矩阵进行比较时,其相应位置的元素按、当两个维
57、数相等的矩阵进行比较时,其相应位置的元素按 标量关系进行比较,并给出结果,形成一个维数与原来相同标量关系进行比较,并给出结果,形成一个维数与原来相同 的的0、1矩阵;矩阵;3、当一个标量与一个矩阵比较时,该标量与矩阵的各元素进行、当一个标量与一个矩阵比较时,该标量与矩阵的各元素进行 比较,结果形成一个与矩阵维数相等的比较,结果形成一个与矩阵维数相等的0、1矩阵;矩阵;4、算术运算优先级最高,逻辑运算优先级最低。、算术运算优先级最高,逻辑运算优先级最低。 2021-10-12Application of Matlab Language67 【例例2-23】在在0,3 区间,求区间,求 的值。要求
58、的值。要求 消去负半波,即消去负半波,即(,2)区间内的函数值置零。区间内的函数值置零。sinyx x = 0:pi/100:3*pi;y = sin(x);y1 = (y=0).*y; %消去负半波消去负半波 2021-10-12Application of Matlab Language68 【例例2-24】建立矩阵建立矩阵A,找出在,找出在10,20区间的元素的位置。区间的元素的位置。 A = 4,15,-45,10,6;56,0,17,-45,0;find(A=10 & Ax=-43,72,9,16,23,47;y=max(x) %求向量求向量x中的最大值中的最大值y = 72y,l=
59、max(x) %求向量求向量x中的最大值及其该元素的位置中的最大值及其该元素的位置y = 72l = 2 2021-10-12Application of Matlab Language71 2.2.9. 数据分析与统计数据分析与统计2. 求矩阵的最大值和最小值求矩阵的最大值和最小值求矩阵求矩阵A的最大值的函数有的最大值的函数有3种调用格式,分别是:种调用格式,分别是:(1) max(A):返回一个行向量,向量的第返回一个行向量,向量的第i个元素个元素是矩阵是矩阵A的第的第i列上的最大值;列上的最大值;(2) Y,U=max(A):返回行向量返回行向量Y和和U,Y向量记向量记录录A的每列的最大
60、值,的每列的最大值,U向量记录每列最大值向量记录每列最大值的行号;的行号;(3) max(A,dim):dim取取1或或2。dim取取1时,该函时,该函数和数和max(A)完全相同;完全相同;dim取取2时,该函数返时,该函数返回一个列向量,其第回一个列向量,其第i个元素是个元素是A矩阵的第矩阵的第i行行上的最大值。上的最大值。求最小值的函数是求最小值的函数是min,其用法和,其用法和max完全相同。完全相同。 2021-10-12Application of Matlab Language72 【例例2-26】求矩阵的最大值求矩阵的最大值x=-43,72,9; 16,23,47;y=max(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/ZJSEE 0013.2-2023燃气机组能耗实测导则第2部分:变动能耗
- 生物医学工程师考试题及答案2025年
- 2025年幼儿教育技能考核试题及答案
- 2025年社会安全与防范知识考试试卷及答案
- 2025年人道主义危机管理考试试题及答案
- 2025年公务员入职考试试卷及答案
- 2025年电子竞技管理相关知识考试卷及答案
- 2025年海洋科学与与海洋资源开发考试题及答案
- 2025年健康管理师职业资格考试试题及答案
- T/TMAC 086-2024火力发电厂二氧化碳捕集、运输与封存技术要求
- 急诊急救考试题及答案3
- 学科融合背景下校本综合实践活动课程开发研究
- 2025闽教版英语三年级下册单词表
- 贵州企业招聘2024贵州金融控股集团有限责任公司招聘笔试参考题库附带答案详解
- 2025年湖北省保险行业协会招聘4人历年高频重点模拟试卷提升(共500题附带答案详解)
- 物业管理部组织架构与职责划分
- (2025春新版本)部编版七年级语文下册全册教案
- 高级病理学与病理学实验技术知到智慧树章节测试课后答案2024年秋浙江中医药大学
- 设备维护中的难题和重点:分析与应对计划
- 货运物流提前报备通知函
- 2025年度山西建设投资集团限公司高校毕业生招聘885人高频重点提升(共500题)附带答案详解
评论
0/150
提交评论