数值数组及其运算.ppt
《数值数组及其运算.ppt》由会员分享,可在线阅读,更多相关《数值数组及其运算.ppt(58页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、关于数值数组及其运算1现在学习的是第1页,共58页2 本章集中叙述了一维、二维、任意高维双精度数值数组的生成和操作。这是MATLAB最常用、最基本、最传统的数据类型,定义在此类“对象”上的“方法”就是最具魅力的数组运算。现在学习的是第2页,共58页32.1 引导 数组是指由一组实数或复数排成的长方阵列。它可以是一维的“行”或“列”,可以是二维的“矩形”,也可以是三维的“若干同维矩阵的堆叠”,甚至更高的任意维。数组运算是指:无论在数组上实施什么运算(加减乘除或函数),总认定那种运算对被运算数组中的每个元素平等的操作。现在学习的是第3页,共58页4数组和数组运算的目的在于:使计算程序简单、易读,使
2、程序指令更接近于教科书上的数学计算公式 提高程序的向量化程度,提高计算效率,节省计算机开销。现在学习的是第4页,共58页52.2 一维数组的创建和寻访 2.2.1 一维数组的创建(1)逐个元素输入法 x=2 pi/2 sqrt(3)3+5ix=2.0000 1.5708 1.7321 3.0000+5.0000i现在学习的是第5页,共58页6(2)冒号成长法 这是通过“步长”设定,生成一维“行”数组的方法。x=a:inc:b a是数组的第一个元素;inc是采样点之间的间隔,即步长。若(b-a)是inc的整数倍,则所生成的最后一个元素等于b,否则小于b。现在学习的是第6页,共58页7(3)定数线
3、形采样法 该法在设定的“总点数”下,均匀采样生成一维“行”数组。格式:x=linspace(a,b,n)其中,a,b分别是生成数组的第一个和最后一个元素。n是采样总点数。x=linspace(10,20,11)x=10 11 12 13 14 15 16 17 18 19 20 现在学习的是第7页,共58页82.2.2 一维数组的子数组寻访和赋值(1)子数组的寻访 x(index)寻找什么样的子数组,取决于下标index,其取值范围是(1,数组长度)之间的正整数或正整数数组。eg:x=rand(1,5)x=0.9501 0.2311 0.6068 0.4860 0.8913 x(3)ans=0
4、.6068 x(1 2 5)ans=0.9501 0.2311 0.8913现在学习的是第8页,共58页9(2)子数组的赋值eg:x(3)=0 x=0.9501 0.2311 0 0.4860 0.8913 x(1 4)=1 1x=1.0000 0.2311 0 1.0000 0.8913现在学习的是第9页,共58页102.3 二维数组的创建2.3.1 直接输入法 规则:整个输入数组必须用 括住 数组元素必须用逗号或空格分隔 在 内数组的行与行之间必须用分号分隔或按Enter键分割现在学习的是第10页,共58页11 数组元素可以是数字或任何matlab表达式,表达式不可包含未知的变量;可以是实
5、数,也可以是复数,复数可用特殊函数i输入。例:1.a=1 2 3;4 5 6 2.b=2 pi/2;sqrt(3)3+5i 3.x=9;y=pi/6;%定义x,y变量 A=3 5 sin(y)cos(y)x2 7 x/2 5 1%产生数组A说明:%为Matlab注释的开始标志,后面的文字不进行计算现在学习的是第11页,共58页122.3.2 利用M文件创建和保存数组 针对比较大而复杂的数组步骤:(1)打开文件编辑调试器,并在空白填写框中输入数组;(2)保存文件,命名为*.m;(3)在MATLAB指令窗口中,运行*.m文件,数组自动保存在MATLAB内存中。现在学习的是第12页,共58页132.
6、4 二维数组元素的标识2.4.1“全下标”标识 即指出“第几行,第几列”的元素eg:a=rand(2,3)a=0.7621 0.0185 0.4447 0.4565 0.8214 0.6154 a(2,3)ans=0.6154现在学习的是第13页,共58页142.4.2“单下标”标识 即用一个下标来指明元素在数组中的位置。首先进行“一维编号”,把二维数组按先左后右的次序、首尾相接排成一维长列;然后,自上而下对元素位置进行编号。MATLAB在实现两种标识方法间的转换命令有:sub2ind 全下标单下标 ind2sub 单下标全下标现在学习的是第14页,共58页152.4.3“逻辑1”标识eg:A
7、=zeros(2,5)A=0 0 0 0 0 0 0 0 0 0 A(:)=-4:5A=-4 -2 0 2 4 -3 -1 1 3 5 L=abs(A)3L=1 0 0 0 1 0 0 0 0 1 islogical(L)%判断L是否是逻辑值数组ans=1 x=A(L)%把L中逻辑值为1对应的A元素取出 x=-4 4 5现在学习的是第15页,共58页162.5 二维数组的子数组寻访和赋值A=zeros(2,4)A=0 0 0 0 0 0 0 0 A(:)=1:8%全元素赋值法全元素赋值法 A=1 3 5 7 2 4 6 8 s=2 3 5;A(s)Sa=10 20 30A(s)=Sa ans=
8、2 3 5Sa=10 20 30A=1 20 30 7 10 4 6 8 A(:,2 3)=ones(2)A=1 1 1 7 10 1 1 8 例:不同赋值方式示例。同一维数组的子数组寻访和赋值的方法现在学习的是第16页,共58页172.6 执行数组运算的常用函数MATLAB典典型函数型函数含义含义MATLAB典型函数典型函数含义含义abs(x)求绝对值求绝对值tan(x)正切值正切值sqrt(x)求平方根值求平方根值cot(x)余切值余切值exp(x)指数运算指数运算atan(x)反正切值反正切值sin(x)正弦值正弦值acot(x)反余切值反余切值cos(x)余弦值余弦值log(x)自然对
9、数自然对数asin(x)反正弦值反正弦值Log2(x)以以2为底的对数为底的对数acos(x)反余弦值反余弦值Log10(x)常用对数常用对数现在学习的是第17页,共58页182.7 数组运算和矩阵运算 从外观形状和数据结构上看,二维数组和(数学中的)矩阵没有区别。但是,矩阵作为一种变换或映射算子的体现,矩阵运算有着明确的数学规则;数组运算是MATLAB软件所定义的规则,其目的是为了数据管理方便、操作简单、指令形式自然和执行计算的有效。虽然数组运算尚缺乏严谨的数学推理,数组运算本身仍在完善和成熟中。现在学习的是第18页,共58页19现在学习的是第19页,共58页201.直接输入矩阵的创建 规则
10、:矩阵元素必须用 括住 矩阵元素必须用逗号或空格分隔 在 内矩阵的行与行之间必须用分号分隔或按Enter键分割现在学习的是第20页,共58页21 矩阵的修改 直接修改 可用键找到所要修改的矩阵,用键移动到要修改的矩阵元素上即可修改。指令修改 可以用A(,)=来修改。现在学习的是第21页,共58页22例如 a=1 2 0;3 0 5;7 8 9a=1 2 0 3 0 5 7 8 9 a(3,3)=0a=1 2 0 3 0 5 7 8 0现在学习的是第22页,共58页232.用matlab函数创建和修改矩阵 Matlab提供了大量的函数来创建一些常用的特殊矩阵,例如对角阵、单位阵和零矩阵 例1:0
11、-1分布的随机矩阵,利用rand函数产生任意行列的随机矩阵 a=rand(5,5)现在学习的是第23页,共58页24例2 利用diag产生对角阵 diag(M)M为矩阵或向量,对于矩阵,取对角元产生一个列向量;对于向量则产生一个对角阵 a=rand(5,5)a=0.7027 0.7948 0.9797 0.1365 0.6614 0.5466 0.9568 0.2714 0.0118 0.2844 0.4449 0.5226 0.2523 0.8939 0.4692 0.6946 0.8801 0.8757 0.1991 0.0648 0.6213 0.1730 0.7373 0.2987 0
12、.9883 D=diag(d)%向量产生矩阵D=0.7027 0 0 0 0 0 0.9568 0 0 0 0 0 0.2523 0 0 0 0 0 0.1991 0 0 0 0 0 0.9883 d=diag(a)%矩阵产生列向量d=0.7027 0.9568 0.2523 0.1991 0.9883现在学习的是第24页,共58页25Matlab中用于产生特殊矩阵的函数zeros(m,n)mn的零矩阵,全部元素都为0ones(m,n)全部元素都为1的mn的矩阵rand(m,n)随机矩阵eye(m,n)单位矩阵magic(n)n维magic方阵空阵 matlab允许输入空阵,当一项操作无结果时
13、,返回空阵。现在学习的是第25页,共58页26 还有伴随矩阵、稀疏矩阵、范德蒙等矩阵的创建等等注意:matlab严格区分大小写字母,因此a与A是两个不同的变量。matlab函数名必须小写。现在学习的是第26页,共58页273 矩阵的基本数值运算(1)矩阵加、减法运算规则:相加、减的两矩阵必须有相同的行和列两矩阵对应元素相加减。允许参与运算的两矩阵之一是标量。标量与矩阵的所有元素分别进行加减操作。MATLAB表达式加a+b减a-b乘a*b除a/b 或 ab幂ab现在学习的是第27页,共58页28(2)矩阵乘()运算规则:A矩阵的列数必须等于B矩阵的行数例a=1 2 3;4 5 6;7 8 0;b
14、=1;2;3;c=a*bc=14 32 23标量可与任何矩阵相乘 例 d=-1;0;2;f=pi*d f=-3.1416 0 6.2832现在学习的是第28页,共58页29在matlab中矩阵除的运算有两种矩阵除运算MATLAB用“/”代表右除(常用除法)和“”左除运算。这两种运算的差别如下:例如:2/5 表示0.4,25 表示2.5;对于矩阵,A/B 表示AB-1,即A*inv(B);BA 表示B-1A,即inv(B)*A。矩阵除法可以看作矩阵乘法的逆运算(3)矩阵除运算现在学习的是第29页,共58页30例例左除解方程组左除解方程组ax=b的解的解 :x=ab a=rand(5);%产生(5
15、*5)的均匀分布随机矩阵 b=ones(5,1);%产生全为1的5元列向量 x1=inv(a)*bx1=-0.1734 0.5573 0.0309 0.7208 0.8147 x2=abx2=-0.1734 0.5573 0.0309 0.7208 0.8147现在学习的是第30页,共58页31 a p a 自乘p次幂 方阵方阵1的整数的整数(4)矩阵乘方 an,ap,pa 对于p的其它值,计算将涉及特征值和特征向量,如果p是矩阵,a是标量ap使用特征值和特征向量自乘到p次幂;如a,p都是矩阵,ap则无意义。现在学习的是第31页,共58页32 a=1,2,3;4,5,6;7,8,9;a2 an
16、s=30 36 42 66 81 96 102 126 150当一个方阵有复数特征值或负实特征值时,非整数幂是复数阵。现在学习的是第32页,共58页33 a0.5 ans=0.4498+0.7623i 0.5526+0.2068i 0.6555-0.3487i 1.0185+0.0842i 1.2515+0.0228i 1.4844-0.0385i 1.5873-0.5940i 1.9503-0.1611i 2.3134+0.2717i现在学习的是第33页,共58页34inv 矩阵求逆size 矩阵的大小(行列数)det 行列式的值eig 矩阵的特征值rank 矩阵的秩 矩阵转置sqrt 矩阵
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数值 数组 及其 运算
限制150内