版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、MMATLABATLAB 语言及其应用 Application of Matlab Language 2021-12-13Application of Matlab Language2 第一讲第一讲 Matlab概述n 前言前言n MatlabMatlab软件概述软件概述n MatlabMatlab的桌面环境及入门知识的桌面环境及入门知识 2021-12-13Application of Matlab Language3 n功能强大功能强大n数值运算优势数值运算优势n符号运算优势符号运算优势(Maple)(Maple)n强大的强大的2D2D、3D3D数据可视化功能数据可视化功能n许多具有算法自
2、适应能力的功能函数许多具有算法自适应能力的功能函数 2021-12-13Application of Matlab Language4 n语言简单、内涵丰富语言简单、内涵丰富n语言及其书写形式非常接近于常规数学书写形式;语言及其书写形式非常接近于常规数学书写形式;n其操作和功能函数指令就是常用的计算机和数学书上的一些简单其操作和功能函数指令就是常用的计算机和数学书上的一些简单英文单词表达的,如:英文单词表达的,如:helphelp、clearclear等;等;n完备的帮助系统,易学易用。完备的帮助系统,易学易用。n扩充能力、可开发能力较强扩充能力、可开发能力较强nMATLABMATLAB完全成
3、了一个开放的系统完全成了一个开放的系统n用户可以开发自己的工具箱用户可以开发自己的工具箱n可以方便地与可以方便地与FortranFortran、C C等语言接口等语言接口 n编程易、效率高编程易、效率高 nMatlabMatlab以数组为基本计算单元以数组为基本计算单元n具有大量的算法优化的功能函数具有大量的算法优化的功能函数 2021-12-13Application of Matlab Language5 2 MATLAB2 MATLAB的桌面环境及入门知识的桌面环境及入门知识n启动与退出启动与退出MATLAB MATLAB n命令窗口及使用命令窗口及使用n数值表示、变量、表达式数值表示、
4、变量、表达式n命令历史窗口命令历史窗口n工作空间工作空间n获取在线帮助获取在线帮助 2021-12-13Application of Matlab Language6 2.2 2.2 命令窗口的使用命令窗口的使用激活命令窗口。激活命令窗口。“” ” 与闪烁的光标一起表明系统就绪,等待输入。与闪烁的光标一起表明系统就绪,等待输入。命令窗口脱离命令窗口脱离MATLABMATLAB桌面。桌面。 n简单计算简单计算【例例2.2-12.2-1】计算计算(1 1)在)在MATLABMATLAB命令窗口输入命令窗口输入 以下内容:以下内容:(12+2(12+2* *(7-4)/32(7-4)/32(2 2)
5、按)按【EnterEnter】键,指令执行。键,指令执行。(3 3)返回的计算结果:)返回的计算结果:ans= 2 2122743 2021-12-13Application of Matlab Language7 2.2 2.2 命令窗口命令窗口 (续)(续)说明说明l在命令窗口在命令窗口【EnterEnter】键提交命令执行。键提交命令执行。lMatlabMatlab所用运算符(如所用运算符(如+ +、- -、 等)是各种计算程序中等)是各种计算程序中常见的。常见的。l计算结果中的计算结果中的“ans”ans”是英文是英文“answer”answer”的一种缩写,的一种缩写,其含义就是其含
6、义就是“运算答案运算答案”。ansans是是MatlabMatlab的一个预定义的一个预定义变量。变量。 2021-12-13Application of Matlab Language8 2.2 2.2 命令窗口命令窗口 (续)(续)n简单计算(续)【例例2.2-22.2-2】计算计算sin(45sin(45? ) )sin(45sin(45* *pi/180)pi/180)l Matalb中正弦函数中正弦函数sin就是常见的正弦函数。就是常见的正弦函数。l 它的参数值是以它的参数值是以“弧度弧度”为单位的。为单位的。l pi也是也是Matalb的预定义变量。的预定义变量。l pi=3.14
7、159l Matlab对字母大小写是敏感的。对字母大小写是敏感的。【例例2.2-32.2-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-12-13Application of Matlab Language9 2.2 2.2 命令窗口命令窗
8、口 (续)(续)7 “clcclc”清除窗口显示内容的命令清除窗口显示内容的命令。【例例2.2-42.2-4】计算计算 的值。的值。 2sin 0.315yy=2y=2* *sin(0.3sin(0.3* *pi)/(1+sqrt(5)pi)/(1+sqrt(5)y= 0.5000【例例2.2-52.2-5】计算计算 的值。的值。 2cos 0.315yy=2*cos(0.3*pi)/(1+sqrt(5)y= 0.3633% 命令行编辑l “”键调回已输入过命令。l 修改。 2021-12-13Application of Matlab Language10 2.2 2.2 命令窗口命令窗口
9、(续)(续)【例例2.2-52.2-5】计算半径为计算半径为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_len。l 无论是预定义
10、变量还是用户自定义变量无论是预定义变量还是用户自定义变量都被存储在系统的工作空间内,即系统都被存储在系统的工作空间内,即系统定义的一个存储窗口变量的内存空间。定义的一个存储窗口变量的内存空间。l Who、whos命令用来显示工作空间的命令用来显示工作空间的变量变量l clear命令用来清除工作空间的变量。命令用来清除工作空间的变量。 2021-12-13Application of Matlab Language11 2.2 2.2 命令窗口命令窗口 (续)(续)n数值显示格式设置数值显示格式设置n缺省显示格式:简洁的短(缺省显示格式:简洁的短(short gshort g)格式)格式n窗口命
11、令及语法格式:窗口命令及语法格式:format format 显示格式关键字显示格式关键字 如:如:format long %15format long %15位数字显示位数字显示n常见通用命令常见通用命令命令命令含义含义clcclc清除命令窗口的显示内容清除命令窗口的显示内容clearclear 清除清除MatlabMatlab工作空间中保存的变量工作空间中保存的变量whowho或或whoswhos显示显示MatlabMatlab工作空间中的变量信息工作空间中的变量信息dirdir显示当前工作目录的文件和子目录清单显示当前工作目录的文件和子目录清单cdcd显示或设置当前工作目录显示或设置当前
12、工作目录typetype显示指定显示指定m m文件的内容文件的内容helphelp或或docdoc获取在线帮助获取在线帮助quitquit或或exitexit关闭关闭/ /推出推出MATALBMATALB 2021-12-13Application of Matlab Language12 2.3 2.3 工作空间工作空间n查看工作空间内存变量,可以由查看工作空间内存变量,可以由whowho、whos whos 。n命名新变量。命名新变量。n修改变量名修改变量名n删除变量删除变量n绘图绘图n保存变量数据保存变量数据n装入数据装入数据 2021-12-13Application of Matla
13、b Language13 2.4 2.4 历史窗口历史窗口n历史窗口:历史窗口:n首先首先记录每次启动时间记录每次启动时间n并并记录在命令窗口输入命令记录在命令窗口输入命令,此次运行期间,此次运行期间,输入的所有命令被记录为一组,并以此次启动时输入的所有命令被记录为一组,并以此次启动时间为标志。间为标志。n使用历史窗口:使用历史窗口:n可以查看命令窗口输入过的命令或语句可以查看命令窗口输入过的命令或语句n可以选择一条或多条命令执行拷贝、执行、创可以选择一条或多条命令执行拷贝、执行、创建建MM文件等。文件等。 要清除历史记录,可以选择要清除历史记录,可以选择Edit菜单中的菜单中的Clear C
14、ommand History 命令命令 2021-12-13Application of Matlab Language14 2.5 2.5 当前目录窗口和搜索路径当前目录窗口和搜索路径当前目录窗口:当前目录窗口:指指Matlab运行时的工作目录。运行时的工作目录。l只有在当前目录和搜索路径下的文件、函数才可以被只有在当前目录和搜索路径下的文件、函数才可以被运行和调用。运行和调用。l如果没有特殊指明,数据文件也将存放在当前目录下;如果没有特殊指明,数据文件也将存放在当前目录下;l用户可以将自己的工作目录设置成当前目录,从而使用户可以将自己的工作目录设置成当前目录,从而使得所有操作都在当前目录中
15、进行。得所有操作都在当前目录中进行。 2021-12-13Application of Matlab Language15 【功能演示功能演示-1 -1】求方程求方程xxxx53223719130的全部根。的全部根。p = 2,0,-3,71,-9,13;建立多项式系数向量建立多项式系数向量x = roots(p);求根求根x = -3.4914 1.6863 + 2.6947i 1.6863 - 2.6947i 0.0594 + 0.4251i 0.0594 - 0.4251i 2021-12-13Application of Matlab Language16 【功能演示功能演示-2 -2
16、】求解线性方程组求解线性方程组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-12-13Application of Matlab Language17 符号计算符号计算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
17、-12-13Application of Matlab Language18 【功能演示功能演示-3 -3】求解定积分求解定积分 求解求解 I=quad(x.*log(1+x),0,1)ans = 0.250或或syms xnt(x*log(1+x),0,1)ans = 1/4ln()xx dx 101 2021-12-13Application of Matlab Language19 【功能演示功能演示-4 -4】多项式曲线拟合多项式曲线拟合考虑如下考虑如下 x-y x-y 一组实验数据:一组实验数据:x=1, 2, 3, 4, 5, 6, 7, 8, 9, 10y=1.2, 3, 4,
18、4, 5, 4.7, 5, 5.2, 6, 7.2注:注:n一次多项式拟合:一次多项式拟合:p1 = polyfit(x,y,1)n三次多项式拟合:三次多项式拟合:p3 = polyfit(x,y,3)nplot plot 原始数据、一次拟合曲线和三次拟合曲线原始数据、一次拟合曲线和三次拟合曲线x2=1:0.1:10;y1=polyval(p1,x2)y3=polyval(p3,x2)plot( x, y, *, x2, y1, :, x2, y3)321205(25)y xxxIn MAByTLA 2021-12-13Application of Matlab Language20 拟合曲线
19、图拟合曲线图由图可见,三次拟合结果较好。由图可见,三次拟合结果较好。 2021-12-13Application of Matlab Language21 2.3 数值表示、变量及表达式n数值的记述数值的记述 MatlabMatlab的数只采用习惯的十进制表示,可以带小数点的数只采用习惯的十进制表示,可以带小数点和负号和负号; ;其缺省的数据类型为双精度浮点型其缺省的数据类型为双精度浮点型(doubledouble)。)。 例如:例如:3 -10 0.001 1.3e10 1.256e-63 -10 0.001 1.3e10 1.256e-6n变量命令规则变量命令规则l变量名、函数名对字母的大
20、小写是敏感的。如变量名、函数名对字母的大小写是敏感的。如myVarmyVar与与myvarmyvar表示两个不同的变量。表示两个不同的变量。l变量名第一个字母必须是英文字母。变量名第一个字母必须是英文字母。l变量名可以包含英文字母、下划线和数字。变量名可以包含英文字母、下划线和数字。l变量名不能包含空格、标点。变量名不能包含空格、标点。l变量名最多可包含变量名最多可包含6363个字符(个字符(6.56.5及以后的版本)。及以后的版本)。 2021-12-13Application of Matlab Language22 2.3 2.3 数值表示、变量及表达式数值表示、变量及表达式 (续)(续
21、)nMatlabMatlab预定义的变量预定义的变量变量名变量名意义意义ans最近的计算结果的变量名最近的计算结果的变量名epsMATLAB定义的正的极小值定义的正的极小值=2.2204e-16pi圆周率圆周率inf值,无限大值,无限大i或或j虚数单元,虚数单元,sqrt(-1)NaN非数,非数,0/0、/ 说明说明l每当每当MATLABMATLAB启动完成,这些变量就被产生。启动完成,这些变量就被产生。lMATLABMATLAB中,被中,被0 0除不会引起程序中断,给出报警的同时用除不会引起程序中断,给出报警的同时用infinf或或NaNNaN给出结给出结果。果。l用户只能临时覆盖这些预定义
22、变量的值,用户只能临时覆盖这些预定义变量的值,ClearClear或重启或重启MATLABMATLAB可恢复其值。可恢复其值。 2021-12-13Application of Matlab Language23 2.3 2.3 数值表示、变量及表达式数值表示、变量及表达式 (续)(续)n运算符和表达式运算符和表达式运算运算数学表达式数学表达式MATLAB运算符运算符MATLAB表达式表达式加加a+b+a+b减减a-b-a-b乘乘axb*a*b除除a/b或或ab/或或a/b或或ab幂幂abba说明说明lMatlabMatlab用用“ ”和和”/ /”分别表示分别表示“左除左除”和和“右除右除”
23、。对标量而言,两者没。对标量而言,两者没有区别。对矩阵产生不同影响。有区别。对矩阵产生不同影响。lMATLABMATLAB表达式的书写规则与表达式的书写规则与“手写方式手写方式”几乎完全相同。几乎完全相同。l表达式按与常规相同的优先级自左至右执行运算。表达式按与常规相同的优先级自左至右执行运算。l优先级:指数运算级别最高,乘除次之,加减最低。优先级:指数运算级别最高,乘除次之,加减最低。l括号改变运算的次序。括号改变运算的次序。 2021-12-13Application of Matlab Language24 课堂总结n对对MATALBMATALB整个软件产品进行了概述整个软件产品进行了概
24、述n历史发展历史发展n软件产品家族体系构成软件产品家族体系构成nMM语言的特点语言的特点nMATLABMATLAB的入门知识的入门知识nMATLABMATLAB桌面桌面nMATLABMATLAB数值的记述和数据显示格式数值的记述和数据显示格式n变量及其命名规则变量及其命名规则n运算符及表达式运算符及表达式n常用的常用的MATLABMATLAB命令命令n在线帮助的使用在线帮助的使用第第2章章 Matlab数据及其数据及其运算运算 MatlabMatlab数据类型非常丰富,除数据类型非常丰富,除数值型数值型、字符型字符型等基本数等基本数据类型外,还有据类型外,还有结构体结构体、单元单元等更为复杂的
25、数据类型。等更为复杂的数据类型。各种数据类型都以矩阵形式存在,各种数据类型都以矩阵形式存在,矩阵矩阵是是MatlabMatlab最基本的最基本的数据对象,并且矩阵的运算是定义在数据对象,并且矩阵的运算是定义在复数域复数域上的。上的。 2021-12-13Application of Matlab Language26 2.1 2.1 数值表示、变量及表达式数值表示、变量及表达式n 数值的记述数值的记述 MatlabMatlab的数只采用习惯的十进制表示,可以的数只采用习惯的十进制表示,可以带小数点和负号带小数点和负号; ;其缺省的数据类型为其缺省的数据类型为双精度双精度浮点型浮点型(doubl
26、edouble)。)。 例如:例如:3 -10 0.001 1.3e10 1.256e-63 -10 0.001 1.3e10 1.256e-6n 变量命令规则变量命令规则l 变量名、函数名对字母的大小写是敏感的。变量名、函数名对字母的大小写是敏感的。如如myVarmyVar与与myvarmyvar表示两个不同的变量。表示两个不同的变量。l 变量名变量名第一个字母必须是第一个字母必须是英文字母英文字母。l 变量名可以包含变量名可以包含英文字母、下划线和数字英文字母、下划线和数字。l 变量名变量名不能包含空格、标点不能包含空格、标点。l 变量名最多可包含变量名最多可包含6363个个字符(字符(6
27、.56.5及以后的及以后的版本)。版本)。 2021-12-13Application of Matlab Language27 2.1 2.1 数值表示、变量及表达式数值表示、变量及表达式 (续)(续)nMatlabMatlab预定义的变量预定义的变量变量名变量名意义意义ans最近的计算结果的变量名最近的计算结果的变量名epsMATLAB定义的正的极小值定义的正的极小值=2.2204e-16pi圆周率圆周率inf值,无限大值,无限大i或或j虚数单元,虚数单元,sqrt(-1)NaN非数,非数,0/0、/ 说明说明l每当每当MATLABMATLAB启动完成,这些变量就被产生。启动完成,这些变量
28、就被产生。lMATLABMATLAB中,被中,被0 0除不会引起程序中断,给出报警的同时用除不会引起程序中断,给出报警的同时用infinf或或NaNNaN给出结果。给出结果。l用户只能临时覆盖这些预定义变量的值,用户只能临时覆盖这些预定义变量的值,ClearClear或重启或重启MATLABMATLAB可恢可恢复其值。复其值。 2021-12-13Application of Matlab Language28 2.12.1数值表示、变量及表达式数值表示、变量及表达式 (续)(续)n运算符和表达式运算符和表达式运算运算数学表达式数学表达式MATLAB运算符运算符MATLAB表达式表达式加加a+
29、b+a+b减减a-b-a-b乘乘axb*a*b除除a/b或或ab/或或a/b或或ab幂幂abba说明说明lMatlabMatlab用用“ ”和和”/ /”分别表示分别表示“左除左除”和和“右除右除”。对标量而言,。对标量而言,两者没有区别。对矩阵产生不同影响。两者没有区别。对矩阵产生不同影响。lMATLABMATLAB表达式的书写规则与表达式的书写规则与“手写方式手写方式”几乎完全相同。几乎完全相同。l表达式按与常规相同的优先级自左至右执行运算。表达式按与常规相同的优先级自左至右执行运算。l优先级:指数运算级别最高,乘除次之,加减最低。优先级:指数运算级别最高,乘除次之,加减最低。l括号改变运
30、算的次序。括号改变运算的次序。 2021-12-13Application of Matlab Language29 2.2 Matlab矩阵矩阵(数组数组)的表示的表示n 数组的概念数组的概念n 一维数组变量的创建一维数组变量的创建n 二维数组变量的创建二维数组变量的创建n 数组元素的标识与寻访数组元素的标识与寻访n 数组运算数组运算n 多维数组多维数组 2021-12-13Application of Matlab Language30 2.2.1. 数组数组(array)的概念的概念n 数组定义:数组定义: 按按行行(row)和和列列(column)顺序排列的实数或顺序排列的实数或复数的
31、有序集,被称为复数的有序集,被称为数组数组。 数组中的任何一个数都被称为这个数组的数组中的任何一个数都被称为这个数组的元素元素,由其所在的行和列标识,这个标识,由其所在的行和列标识,这个标识也称为数组元素的也称为数组元素的下标或索引下标或索引。Matlab将将标量标量视为视为11的数组。的数组。 对对m行、行、n列的列的2维数组维数组a:计为计为mn的数组的数组a;*行标识、列标识均从行标识、列标识均从1开始;开始;行标识从上到下递增;行标识从上到下递增;列标识从左到右递增。列标识从左到右递增。12345222232425332333435442434445a(3, 4)=34 row is
32、firsta= 2021-12-13Application of Matlab Language31 n 数组的分类数组的分类n 一维数组一维数组,也称为向量,也称为向量(vector) 。 行向量行向量(row vector)、列向量、列向量(column vector)。n 二维数组二维数组(矩阵矩阵matrix)。n 多维数组多维数组。有效矩阵有效矩阵:每行元素的个数必须相同,每:每行元素的个数必须相同,每列元素的个数也必须相同。列元素的个数也必须相同。2.2.1. 数组数组(array)的概念的概念 2021-12-13Application of Matlab Language32
33、2.2.1、数组、数组(array)的概念的概念 (续)(续)行向量行向量列向量列向量a(2,1)=3a(1,2)=2b(3)=3c(2)=2 2021-12-13Application of Matlab Language33 2.2.2、创建一维数组变量、创建一维数组变量n 第一种方法:使用方括号第一种方法:使用方括号“ ”操作符操作符【例例2-1】创建数组创建数组(行向量行向量)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所有的向量元素必须在操作符所有
34、的向量元素必须在操作符“ ”之内;之内;向量元素间用向量元素间用空格空格或英文的或英文的逗点逗点“,”分开。分开。n 第二种方法:使用冒号第二种方法:使用冒号“:”操作符操作符【例例2-2】创建以创建以110顺序排列整数为元素的顺序排列整数为元素的行向量行向量b。b=1:10b=1 2 3 4 5 6 7 8 9 10 2021-12-13Application of Matlab Language34 2.2.2、创建一维数组变量、创建一维数组变量(续)(续)【例例2-3】键入并执行键入并执行c=1:2:10和和d=1:2:9 c=1:2:10c=1 3 5 7 9d=1:2:9d= 1 3
35、 5 7 9利用冒号利用冒号“:”操作符创建行向量的基本语法格操作符创建行向量的基本语法格式:式:x=Start:Increment:EndnStart表示新向量表示新向量x的第一个元素;的第一个元素;n新向量新向量x的最后一个元素不能大于的最后一个元素不能大于End ;nIncrement可正可负,若负,则必须可正可负,若负,则必须StartEnd;若正,则必须若正,则必须Starta=1 2 3; b=2 3 4; c=a;b;c1=a b;n第二种方法:函数方法第二种方法:函数方法函数函数ones(生成全生成全1矩阵矩阵)、zeros (生成全生成全0矩阵矩阵) 、reshapeF“he
36、lp elmat”获得基本的矩阵生成和操作函数列表获得基本的矩阵生成和操作函数列表【例例3-4】创建全创建全1的的3x3数组。数组。ones(3)【例例3-5】创建全创建全1的的3x4数组。数组。ones(3,4) 2021-12-13Application of Matlab Language40 2.2.3、创建二维数组变量、创建二维数组变量(续)(续)【例例3-5】 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 数组元素的排列顺序,数组元素的排列顺序,从上到下
37、按列排列从上到下按列排列,先排第一列,然后第二列,先排第一列,然后第二列,F 要求数组的要求数组的元素总数不变元素总数不变。 2021-12-13Application of Matlab Language41 4 4、数组元素的标识与寻访、数组元素的标识与寻访n 数组元素的标识数组元素的标识n “全下标(全下标(index)”标识标识经典数学教科书采用经典数学教科书采用“全下标全下标”标识法:标识法:每一维每一维对应一个下标。对应一个下标。 如对于二维数组,用如对于二维数组,用“行下标和列下标行下标和列下标”标识数组标识数组的元素,的元素,a(2,3)就表示二维数组就表示二维数组a的的“第第
38、2行第行第3列列”的的元素。元素。 对于一维数组,用一个下标即可,对于一维数组,用一个下标即可,b(2)表示一维数组表示一维数组b的第的第2个元素,无论个元素,无论b是行向量还是列向量。是行向量还是列向量。n “单下标单下标”(linear index)标识)标识所谓所谓“单下标单下标”标识就是用一个下标来表明元素标识就是用一个下标来表明元素在数组的位置。在数组的位置。 对于二维数组,对于二维数组, “单下标单下标”编号:设想把二维数组编号:设想把二维数组的所有的所有列列,按先后顺序首尾相接排成,按先后顺序首尾相接排成“一维长列一维长列”,然后自上往下对元素位置执行编号。然后自上往下对元素位置
39、执行编号。n 两种两种“下标下标”标识的变换标识的变换:sub2ind、ind2sub 2021-12-13Application of Matlab Language42 4、数组元素的标识与寻访、数组元素的标识与寻访 (续)(续)【例例4-1】单下标的使用单下标的使用a=zeros(2, 5);a(:)=-4:5a = -4 -2 0 2 4 -3 -1 1 3 5% 注意数组的排列顺序。注意数组的排列顺序。 2021-12-13Application of Matlab Language43 4 4、数组元素的标识与寻访、数组元素的标识与寻访 (续)(续)n 元素与子数组的寻访与赋值元素
40、与子数组的寻访与赋值【例例4-3】一维数组元素与子数组的寻访与赋一维数组元素与子数组的寻访与赋值值a=linspace(1,10,5)a = 1.0000 3.2500 5.5000 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-12-13Application of Matlab Language44 4 4、数组元素的标识与寻访、数组元素的标识与寻访 (续)(续)a(3)=0 %修改数组修改数
41、组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-12-13Application of Matlab Language45 4、数组元素的标识与寻访、数组元素的标识与寻访 (续)(续)【例例4-3】二维数组元素与子数组的寻访与赋二维数组元素与子
42、数组的寻访与赋值值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-12-13Application of Matlab Language46 4、数组元素的标识与寻访、数组元素的标识与寻访 (续)(续) a_2(2 5 8) =10 20 30a_2 = 1 3 20 7 10 4 6 30a_2(:,2 3)=ones(2) %双下
43、标方式寻访并修改双下标方式寻访并修改a_2 = 1 1 1 7 10 1 1 30%二维数组可以二维数组可以“单下标单下标”方式或方式或“全下标全下标”方式方式访问、赋值;访问、赋值;%“单下标单下标”方式赋值时,方式赋值时,等号两边涉及的元素个等号两边涉及的元素个数必须相等;数必须相等;%“全下标全下标”方式赋值时,方式赋值时,等号右边数组的大小必等号右边数组的大小必须等于原数组中涉及元素构成的子数组的大小。须等于原数组中涉及元素构成的子数组的大小。 2021-12-13Application of Matlab Language47 4、数组元素的标识与寻访、数组元素的标识与寻访 (续)(
44、续)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-12-13Application of Matlab Language48 4、数组元素的标识与寻访、数组元素的标识与寻访 (续)(续)【例例4-4】 size、length函数函数a=ones(4,
45、6)*6m=size(a)len=length(a)b=1:5;length(b)c=blength(c) size函数返回变量的大小,即函数返回变量的大小,即变量数组的行列数变量数组的行列数 length函数返回变量数组的最函数返回变量数组的最大维数大维数Matlab语言及其应用语言及其应用第第3讲讲 2021-12-13Application of Matlab Language50 5、多多维数组维数组n 多维数组的定义多维数组的定义 在在 MATLAB 的的数据类型数据类型中,向量中,向量可视为一可视为一维数组,维数组, 矩阵可视为矩阵可视为二二维数组维数组,对于维数对于维数(Dime
46、nsions)超过超过2 的的数组均可视为数组均可视为多维数组多维数组(Multidimesional Arrays,简称简称N-D Arrays)。 2021-12-13Application of Matlab Language51 5、多多维数组维数组 (续)(续)n 三维数组三维数组,可,可对应对应至一至一个个 X - Y - Z 三三维立体坐标维立体坐标,如下,如下图所示图所示: Z(Z(页页) )Y(Y(列列) )X(X(行行) ) 2021-12-13Application of Matlab Language52 5 5、多多维数组维数组 (续)(续)n三维数组元素的寻址:三维
47、数组元素的寻址:可以可以(行、列、页行、列、页)来来确定确定。n以以维数为维数为 342 的的三维数组为例三维数组为例,其,其寻址寻址方式如下方式如下图所示图所示: n数组数组 A 是是三维数组三维数组,其中,其中 A(:,:,1)代表第一代表第一页页的的二维数组二维数组,A(:,:,2)代表第代表第二页二页的的二维二维数组数组。 2021-12-13Application of Matlab Language53 6、数组的算术运算、数组的算术运算n MATLAB数组支持线性代数中所有的矩阵数组支持线性代数中所有的矩阵运算。运算。n 建立特有的数组运算符,如:建立特有的数组运算符,如:“.*
48、”、“./”等。等。 MATLAB数组运算符列表数组运算符列表运算运算 运算符运算符含义说含义说明明加加 + 相应元素相加相应元素相加 减减 -相应元素相减相应元素相减 乘乘 *矩阵乘法矩阵乘法点乘点乘 .* 相应元素相乘相应元素相乘幂幂 矩阵幂运算矩阵幂运算点幂点幂 .相应元素进行相应元素进行幂运算幂运算左除或右除左除或右除或或/矩阵左除或右矩阵左除或右除除 左点除或右点除左点除或右点除 .或或./A的元素被的元素被B的的对应元素除对应元素除 2021-12-13Application of Matlab Language54 6、算术运算、算术运算 (续)(续) 【例例5-1】数组加减法数
49、组加减法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-12-13Application of Matlab Language55 6、算术运算、算术运算 (续)(续)【例例5-2】点幂点幂“.”举例举例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
50、 16 36 2021-12-13Application of Matlab Language56 7、关系运算、关系运算 Matlab提供了提供了6种关系运算符:种关系运算符:、=、=、=(不等于)(不等于)关系运算符的运算法则:关系运算符的运算法则:1、当两个标量进行比较时,直接比较两数大小。若关系成立,、当两个标量进行比较时,直接比较两数大小。若关系成立, 结果为结果为1,否则为,否则为0。2、当两个维数相等的矩阵进行比较时,其相应位置的元素按、当两个维数相等的矩阵进行比较时,其相应位置的元素按 标量关系进行比较,并给出结果,形成一个维数与原来相同标量关系进行比较,并给出结果,形成一个维
51、数与原来相同 的的0、1矩阵。矩阵。3、当一个标量与一个矩阵比较时,该标量与矩阵的各元素进行、当一个标量与一个矩阵比较时,该标量与矩阵的各元素进行 比较,结果形成一个与矩阵维数相等的比较,结果形成一个与矩阵维数相等的0、1矩阵。矩阵。 2021-12-13Application of Matlab Language57 7、关系运算、关系运算 (续)(续)【例例】建立建立5阶方阵阶方阵A,判断其元素能否被,判断其元素能否被3整除。整除。A = 24, 35, 13, 22, 63; 23, 39, 47, 80, 80; . 90, 41, 80, 29, 10; 45, 57, 85, 62
52、, 21; 37, 19, 31, 88, 76A =24 35 13 22 6323 39 47 80 8090 41 80 29 1045 57 85 62 2137 19 31 88 76P = 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-12-13Application of Matlab Language58 8、逻辑运算、逻辑运算 Matlab提供了提供了3种逻辑运算符:种逻辑运算符:&(与)、(与)、|(或)、(或)、(非)(非)逻辑运算符的运算法则:逻
53、辑运算符的运算法则:1、在逻辑运算中,确认非零元素为真(、在逻辑运算中,确认非零元素为真(1),零元素为假(),零元素为假(0)。)。 2、当两个维数相等的矩阵进行比较时,其相应位置的元素按、当两个维数相等的矩阵进行比较时,其相应位置的元素按 标量关系进行比较,并给出结果,形成一个维数与原来相同标量关系进行比较,并给出结果,形成一个维数与原来相同 的的0、1矩阵;矩阵;3、当一个标量与一个矩阵比较时,该标量与矩阵的各元素进行、当一个标量与一个矩阵比较时,该标量与矩阵的各元素进行 比较,结果形成一个与矩阵维数相等的比较,结果形成一个与矩阵维数相等的0、1矩阵;矩阵;4、算术运算优先级最高,逻辑运
54、算优先级最低。、算术运算优先级最高,逻辑运算优先级最低。 2021-12-13Application of Matlab Language59 【例例】在在0,3 区间,求区间,求 的值。要求的值。要求 消去负半波,即消去负半波,即(,2)区间内的函数值置零。区间内的函数值置零。sinyx x = 0:pi/100:3*pi;y = sin(x);y1 = (y=0).*y; %消去负半波消去负半波 2021-12-13Application of Matlab Language60 【例例】建立矩阵建立矩阵A,找出在,找出在10,20区间的元素的位置。区间的元素的位置。 A = 4,15,-
55、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=max(x) %求向量求向量x中的最大值及其该元素的位置中的最大值及其该元素的位置y = 72l = 2 2021-12-13Application of Matlab Language63 9. 数据分析与统计数据分析与统计2. 求矩阵的最大值和最小值求矩阵的最大值和最小值求矩阵求矩阵A的最大值的函数有的最大值的函数有3种调用格式,分别是:种调用格式,分别是:(1) max(A):返回一个行向量,向量的
56、第返回一个行向量,向量的第i个元素个元素是矩阵是矩阵A的第的第i列上的最大值;列上的最大值;(2) Y,U=max(A):返回行向量返回行向量Y和和U,Y向量记向量记录录A的每列的最大值,的每列的最大值,U向量记录每列最大值向量记录每列最大值的行号;的行号;(3) max(A,dim):dim取取1或或2。dim取取1时,该函时,该函数和数和max(A)完全相同;完全相同;dim取取2时,该函数返时,该函数返回一个列向量,其第回一个列向量,其第i个元素是个元素是A矩阵的第矩阵的第i行行上的最大值。上的最大值。求最小值的函数是求最小值的函数是min,其用法和,其用法和max完全相同。完全相同。
57、2021-12-13Application of Matlab Language64 【例例7-2】求矩阵的最大值求矩阵的最大值x=-43,72,9; 16,23,47;y=max(x) %求矩阵求矩阵x中每列的最大值中每列的最大值y = 16 72 47y,l=max(x) %求矩阵求矩阵x中每列的最大值及其该元素的位置中每列的最大值及其该元素的位置y = 16 72 47l = 2 1 2max(x, ,1), max(x, ,2) %求矩阵中每行的最大值求矩阵中每行的最大值 2021-12-13Application of Matlab Language65 9. 数据分析与统计数据分析
58、与统计n求和与求积求和与求积sum(X):返回向量返回向量X各元素的和。各元素的和。prod(X):返回向量返回向量X各元素的乘积。各元素的乘积。sum(A):返回一个行向量,其第返回一个行向量,其第i个元素是个元素是A的第的第i列的元列的元素和。素和。prod(A):返回一个行向量,其第返回一个行向量,其第i个元素是个元素是A的第的第i列的元列的元素乘积。素乘积。sum(A,dim):当当dim为为1时,该函数等同于时,该函数等同于sum(A);当;当dim为为2时,返回一个列向量,其第时,返回一个列向量,其第i个元素是个元素是A的第的第i行的各元素之和。行的各元素之和。prod(A,dim
59、):当当dim为为1时,该函数等同于时,该函数等同于prod(A);当;当dim为为2时,返回一个列向量,其第时,返回一个列向量,其第i个元素是个元素是A的第的第i行的各元素乘积。行的各元素乘积。 2021-12-13Application of Matlab Language66 9. 数据分析与统计数据分析与统计n平均值与中值平均值与中值 求数据序列平均值的函数是求数据序列平均值的函数是mean,求数据序列中值的函数是,求数据序列中值的函数是median。两个函数的调用格式为:。两个函数的调用格式为:mean(X):返回向量:返回向量X的算术平均值。的算术平均值。median(X):返回向
60、量:返回向量X的中值。的中值。mean(A):返回一个行向量,其第:返回一个行向量,其第i个元素是个元素是A的第的第i列的列的算术平均值。算术平均值。median(A):返回一个行向量,其第:返回一个行向量,其第i个元素是个元素是A的第的第i列的列的中值。中值。mean(A,dim):当:当dim为为1时,该函数等同于时,该函数等同于mean(A);当;当dim为为2时,返回一个列向量,其第时,返回一个列向量,其第i个元素是个元素是A的第的第i行的算术平均值。行的算术平均值。median(A,dim):当:当dim为为1时,该函数等同于时,该函数等同于median(A);当当dim为为2时,返回一个列向量,其
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安徽亳州刘桥中学2026届初三下学期中考适应性月考(八)数学试题含解析
- 袋鼠式护理:不仅仅是保暖
- 医院门诊部绩效考核制度
- 中小学校审计制度
- 审计局走访制度
- 审计人员管理制度
- 大众绩效考核制度
- 审计局控烟监督管理制度
- 保安部绩效考核制度
- 健全医院内部审计制度
- 江苏省交通设施代建合同范本
- 2026年及未来5年中国耐火粘土行业发展运行现状及投资战略规划报告
- T∕CIECCPA 125-2026 温室气体 产品碳足迹量化方法与要求 燃气-蒸汽联合循环发电产品
- 2024版2026春新教科版科学三年级下册教学课件:第一单元 辨别方向 单元小结复习
- 物业管理公司员工招聘条件及流程
- 2025年上海大专自主招生免笔试及答案
- 汽车制造焊接工艺技术规范
- 2025年黑龙江生态工程职业学院单招职业倾向性测试模拟测试卷附答案解析
- 融媒体应聘考试题及答案
- (新版)上海安全员C3考试(重点)题库300题(含答案)
- 老年2型糖尿病合并认知障碍照护方案
评论
0/150
提交评论