数组向量和数组.ppt

上传人:小飞机 文档编号:6297453 上传时间:2023-10-14 格式:PPT 页数:50 大小:221.50KB
返回 下载 相关 举报
数组向量和数组.ppt_第1页
第1页 / 共50页
数组向量和数组.ppt_第2页
第2页 / 共50页
数组向量和数组.ppt_第3页
第3页 / 共50页
数组向量和数组.ppt_第4页
第4页 / 共50页
数组向量和数组.ppt_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《数组向量和数组.ppt》由会员分享,可在线阅读,更多相关《数组向量和数组.ppt(50页珍藏版)》请在三一办公上搜索。

1、第4章 数值向量和数组,4.1 向量及其运算4.1.1 向量的生成向量生成格式:向量名=元素列表说明:(1)元素列表中的元素用空格、逗号或分号相隔。(2)用空格或逗号生成行向量;(3)用分号生成列向量;,例4-1,生成行向量a3(15,21,27,93,101)、行向量a2(15,21,27,93,101)和列向量a1(15,21,27,93,101)。a3=15 21 27 93 101a3=15 21 27 93 101 a2=15,21,27,93,101a2=15 21 27 93 101 a1=15;21;27;93;101a1=15 21 27 93 101,2、生成向量的转置格式

2、:向量例4-1,由列向量a1(15,21,27,93,101)生成行向量b。a1=15;21;27;93;101a1=15 21 27 93 101 b=a1b=15 21 27 93 101,3.等差元素的行向量生成格式:向量名=初值:步长:终值说明:步长为1时,可省略.例4-2,生成行向量(10,15,20,25,80)。vec1=10:5:80vec1=Columns 1 through 8 10 15 20 25 30 35 40 45 Columns 9 through 15 50 55 60 65 70 75 80,4.用函数生成等差元素的向量格式:向量名=linspace(初值,

3、终值,个数)例2,生成向量(10,15,20,25,30)。a=linspace(10,30,5)a=10 15 20 25 30,4.1.2 向量的基本运算向量与数的四则运算四则运算符:+,-,*,/,格式:向量 运算符 数值设向量A=(ai)m,u是常量,则 A 运算符 u=(ai 运算符 u)例4-3 vec1=80:-9:10vec1=80 71 62 53 44 35 26 17 vec1+101ans=181 172 163 154 145 136 127 118,生成对数等分向量格式:logspace(a,b,n)功能:生成10a 和10b之间的 n个数。例4-4 vec2=lo

4、gspace(0,10,6)vec2=1.0e+010*Columns 1 through 5 0.0000 0.0000 0.0000 0.0001 0.0100 Column 6 1.0000 vec2/100,Generate logarithmically spaced vectors y=logspace(a,b)y=logspace(a,b,n)y=logspace(a,pi)DescriptionThe logspace function generates logarithmically spaced vectors.Especially useful for creating

5、 frequency vectors,it is a logarithmic equivalent of linspace and the:or colon operator.y=logspace(a,b)generates a row vector y of 50 logarithmically spaced points between decades 10a and 10b.y=logspace(a,b,n)generates n points between decades 10a and 10b.y=logspace(a,pi)generates the points between

6、 10a and pi,which is useful for digital signal processing where frequencies over this interval go around the unit circle.RemarksAll the arguments to logspace must be scalars,2.向量与向量之间的加减运算格式:向量1向量2设向量A=(ai)m,向量B=(bi)m。则 A B=C=(ci)m 其中,ci=ai bi例4-5,vec1=linspace(200,500,7)vec1=200 250 300 350 400 450

7、 500 vec2=linspace(900,600,7)vec2=900 850 800 750 700 650 600 vec3=vec1+vec2vec3=Columns 1 through 4 1100 1100 1100 1100 Columns 5 through 7 1100 1100 1100,3.向量与向量之间的乘运算格式:向量1*向量2说明:向量1与向量2具有相同长度,且一个是列向量,另一个是行向量.设行向量A=(ai)m,行向量B=(bi)m。则 A*B=C其中,例1,a=(1,2,3,4),b=(2,3,4,5),计算数学式子 ab操作步聚:a=1,2,3,4;b=2,

8、4,6,8;a*b%1*2+2*4+3*6+4*8=60ans=60,4.点积、叉积和混合积(1)点积 格式:dot(向量1,向量2)格式:sum(向量1.*向量2).*表示两个向量对应位置的元素相乘。sum(A)表示求A中各元素的和。例4-6 计算向量x1=(11,22,33,44)与向量x2=(,2,3,4)的点积。x1=11 22 33 44;x2=1,2,3,4;a=dot(x1,x2)a=330 sum(x1.*x2)ans=330,(2)叉积 cross(向量1,向量2)说明:向量的维数只能为3(3)混合积由点积与叉积组成。例1,已知向量a=(1,2,3),b=(12 4 3),c

9、=(5 2 1),求a.(bxc)。a=1 2 3;b=2 4 3;c=5 2 1;v=dot(a,cross(b,c)v=-24,4.2 数组及其运算4.2.1 数组寻址和排序1、数组的生成数组定义格式1:数组=元素表 说明:元素表中的数据用空格或逗号分隔.数组定义格式2:数组=初值:步长:终值例,a=2 3 4 5a=2 3 4 5 b=1:5:20b=1 6 11 16,数组的生成与向量的生成基本相同。,2、存取数组元素的方式格式1:数组(n)功能:表示数组的第n个元素。格式2:数组(m:n)功能:表示数组中第m个元素到第n个元素。格式3:数组(m1 m2 mn)功能:表示数组中第m1个

10、元素、第m2个元素、第mn个元素。格式4:数组(m,end)功能:表示数组中第m个元素到数组的最后一个元素。格式5:数组(初值m:步长k:终值n)功能:表示数组中第m个元素到第n个元素,它们相隔k个元素。,例4-9 a=rand(1,10)%用随机函数rand生成数组aa=Columns 1 through 5 0.9501 0.2311 0.6068 0.4860 0.8913 Columns 6 through 10 0.7621 0.4565 0.0185 0.8214 0.4447 a(4)ans=0.4860 a(2:6)ans=0.2311 0.6068 0.4860 0.8913

11、 0.7621 a(6:-2:1)ans=0.7621 0.4860 0.2311,如:a=Columns 1 through 5 0.9501 0.2311 0.6068 0.4860 0.8913 Columns 6 through 10 0.7621 0.4565 0.0185 0.8214 0.4447 a(1 3 4 5)ans=0.9501 0.6068 0.4860 0.8913 a(4:end)ans=Columns 1 through 5 0.4860 0.8913 0.7621 0.4565 0.0185 Columns 6 through 7 0.8214 0.4447,

12、3.数组排序格式:sort(数组X)功能:将数组X中的元素按列进行升序排列。格式:sort(数组X,n)功能:将数组X中的元素按维数进行升序排列。n表示排列的维数,n=2,表示排列按行排。n=1,表示排列按列排。格式:sort(数组,排列的维,排列的方式)功能:将数组中的元素按给定维数进行给定的排列的方式进行排列。排列的方式为”ascend”表示按升序排列,默认值。“descend”表示按降序排列。,例4-10 x=3 7 5 0 4 2x=3 7 5 0 4 2 sort(x)%按列排列ans=0 4 2 3 7 5,sort(x,1)%按列排列ans=0 4 2 3 7 5 sort(x,

13、2)%按行排列ans=3 5 7 0 2 4,4.计算数组的维数d=size(X)m,n=size(X)m=size(X,dim)例:a=3 1 8 8;size(a)ans=1 4%表示a的维数是1行4列,4.2.2 数组的基本数值运算数组的加法(减法)格式:数组1数组2设数组A=(aij)mxn,数组B=(bij)mxn 则 A B=(aij bij)即数组对应的元素相加或减。例4-11 计算数组X=1,4,7和Y=2,5,8的和与差。X=1 4 7;Y=2 5 8;Z=X-YZ=-1-1-1 V=X+YV=3 9 15,2.数组的乘法-点乘.*数组1.*数组2功能:两个数组对应的元素相乘

14、。注意:数组1*数组2是错误的。例4-12 x=10 52 96 12 56;y=2 26 3 4 8;z1=x.*yz1=Columns 1 through 4 20 1352 288 48 Column 5 448,3.数组的除法-点除(1)点左除格式:数组1./数组2功能:数组1的除以数组2的对应元素。(2)点右除格式:数组1.数组2功能:数组2的除以数组1的对应元素。例,x=10 52 96 12 56;y=2 26 3 4 8;z=x./yz=5 2 32 3 7 w=y.xw=5 2 32 3 7,4.数组的乘方格式1:数组1.数组2功能:计算数组1对应元素进行乘方运算,乘方的值是

15、数组2的对应元素。格式2:数组1.数值功能:计算数组1对应元素进行乘方运算,乘方的值是给出的数值。格式3:数值.数组功能:计算数值的乘方,乘方的值是数组的对应元素。例4-13,4.2.3 数组的关系运算 1表示比较的两个对象关系为真;0表示比较的两个对象关系为假。格式1:数组名 关系运算符 数值功能:数组的元素与数值比较,结果是数组.格式2:数组名1 关系运算符 数组名2功能:数组名1与数组名2的对应元素比较,结果是数组.例4-6.(P49页)magic(n)表示生成n阶魔术方阵。rem(x,n)表示求x除以n的余数。,例4-16 M=magic(7)M=30 39 48 1 10 19 28

16、 38 47 7 9 18 27 29 46 6 8 17 26 35 37 5 14 16 25 34 36 45 13 15 24 33 42 44 4 21 23 32 41 43 3 12 22 31 40 49 2 11 20,N=(rem(M,3)N=0 0 0 1 1 1 1 2 2 1 0 0 0 2 1 0 2 2 2 2 1 2 2 1 1 1 0 0 1 0 0 0 0 2 1 0 2 2 2 1 0 0 1 1 1 1 2 2 2,N=(rem(M,3)=1)N=1 1 1 1 1 1 1 0 0 1 1 1 1 0 1 1 0 0 0 0 1 0 0 1 1 1 1

17、1 1 1 1 1 1 0 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0,N=(rem(M,3)=1)N=0 0 0 1 1 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 1 1 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 1 1 1 1 0 0 0,N=(rem(M,3)=1)N=0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 0 0 1 1 0 1 1 1 1 0 0 1 1 1 1 1 1 1,4.2.4 数组的逻辑运算 逻辑表达式和逻辑函数的值是一

18、个逻辑量(1或0)。格式:数组名1 逻辑运算 数组名2格式:逻辑运算 数组名1功能:数组名1与数组名2的对应元素进行逻辑运算,结果是数组.例4-27(P50页),4.4 关系和逻辑运算4.4.1 关系操作符4.4.2 逻辑操作符,4.4.3 关系与逻辑函数xor(s,t)求s与t的异或运算。any(x)判断矩阵x的每一列是否有非零,若有,返回1。all(x)判断矩阵x的每一列是否全为非零,若是,返回1。例4-28 s=2 1 0 4 0;t=1 0-1 3 0;x=1 2 3 4;y=0 1-1 0;xor(s,t)ans=0 1 1 0 0 any(x)ans=1 any(y)ans=1 a

19、ll(y)ans=0,4.4.4 NaNs和空矩阵1.不定数NaNs的处理 对NaN的所有结果得出NaNs.例4-29 x=10 2 nan infx=10 2 NaN Inf,2.空矩阵 的处理空矩阵是大小为0的变量。例4-30 a=a=size(a)%求a的维数ans=0 0 b=ones(4,0)%生成4行0列的全1矩阵b=Empty matrix:4-by-0,4.4.5 各种运算符的优先级,见第55页,表4-5例4-31 x=5;y=3;z=2;X=ones(3)%生成3阶全1的矩阵XX=1 1 1 1 1 1 1 1 1 Y=magic(3)%生成3阶魔术方阵YY=8 1 6 3

20、5 7 4 9 2 Z=zeros(3)%生成3阶全0的矩阵ZZ=0 0 0 0 0 0 0 0 0,a=x2*(X+Y)+za=227 52 177 102 152 202 127 252 77 b=Y&Z+xb=1 1 1 1 1 1 1 1 1 b=Y=Z+X=Y*xb=0 0 0 0 0 0 0 0 0,4.3 多项式4.3.1 多项式的创建1.直接输入系数向量创建多项式 多项式系数向量定义格式:P=每一项的系数值说明:多项式系数向量按次数降序排序.2、显示多项式poly2sym(P)表示显示多项式,其中,P是多项式系数向量disp(向量)表示显示多项式的各项系数。disp(多项式)表

21、示显示多项式。,例4-17 p=3 5 0 1 0 12p=3 5 0 1 0 12 y=poly2sym(p)y=3*x5+5*x4+x2+12 disp(y)3*x5+5*x4+x2+12 disp(p)3 5 0 1 0 12,3.特征多项式输入法生成方阵A的特征多项式对应的系数v:v=poly(A)例4-18 A=3 1 4 1;5 9 2 6;5 3 5 8;9 7 9 3A=3 1 4 1 5 9 2 6 5 3 5 8 9 7 9 3 p=poly(A)p=1.0000-20.0000-16.0000 480.0000 98.0000 disp(poly2sym(p),4.由多项

22、式的根逆推多项式 多项式的系数=poly(根的向量)例4-19 roots=-4-2+2i-2-2i 5roots=Columns 1 through 3-4.0000-2.0000+2.0000i-2.0000-2.0000i Column 4 5.0000 p=poly(roots)p=1 3-16-88-160 poly2sym(p)ans=x4+3*x3-16*x2-88*x-160 disp(poly2sym(p)x4+3*x3-16*x2-88*x-160,4.3.2 多项式的运算1.多项式在给定点的值 polyval(多项式系数向量,x)例4-20 p=1-20-16 480 9

23、8p=1-20-16 480 98 x=4;polyval(p,x)ans=738,2.求多项式的根 roots(多项式系数向量)例4-21 p=1 0 3 12-7p=1 0 3 12-7 roots(p)ans=0.7876+2.4351i 0.7876-2.4351i-2.0872 0.5121,3.多项式的四则运算(1)加法和减法多项式系数向量1多项式系数向量2例4-22 a=8 2 2 8;b=6 1 6 1;c=a+bc=14 3 8 9 y1=poly2sym(a)y1=8*x3+2*x2+2*x+8 y2=poly2sym(b)y2=6*x3+x2+6*x+1 y3=poly2

24、sym(c)y3=14*x3+3*x2+8*x+9,(2)乘法多项式系数向量3=conv(多项式系数向量1,多项式系数向量2)例4-23 a=1 2 3 4;b=5 6 7 8;y1=poly2sym(a)y1=x3+2*x2+3*x+4 y2=poly2sym(b)y2=5*x3+6*x2+7*x+8 c=conv(a,b)c=5 16 34 60 61 52 32 y=poly2sym(c)y=5*x6+16*x5+34*x4+60*x3+61*x2+52*x+32,(3)除法多项式系数向量3=deconv(多项式系数向量1,多项式系数向量2)例4-24 a=1 2 3 4;b=5 6 7

25、 8;c=a+bc=6 8 10 12 d=deconv(c,a)d=5 6 7 8 x=poly2sym(d)x=5*x3+6*x2+7*x+8,求多项式的导数导数多项式系数向量2=polyder(多项式系数向量1)例4-25 p=3 1 8 8p=3 1 8 8 q=polyder(p)q=9 2 8 disp(poly2sym(p)3*x3+x2+8*x+8 disp(poly2sym(q)9*x2+2*x+8,格式:Q,D=polyder(B,A)功能:计算多项式B/A的导数值,并以Q/D的形式表示。注意:polyder(B,A)相当于polyder(conv(B,A).conv(B,

26、A)表示B*A。例4-25 a=9 4 9 4,b=8 4 6 7a=9 4 9 4b=8 4 6 7 w=polyder(a,b)w=432 340 568 465 196 87,(5)求多项式的积分格式:polyint(多项式系数向量P)功能:返回多项式P的积分。格式:polyint(多项式系数向量1,k)功能:返回多项式P的k步积分,其实k是积分多项式中常数。例4-25 p=3 1 8 8;q=polyder(p)q=9 2 8 disp(poly2sym(p)3*x3+x2+8*x+8 p1=polyint(q)p1=3 1 8 0 p1=polyint(q,1)p1=3 1 8 1,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号