《数组向量和数组》PPT课件.ppt

上传人:tia****nde 文档编号:14167244 上传时间:2020-07-08 格式:PPT 页数:50 大小:248.50KB
收藏 版权申诉 举报 下载
《数组向量和数组》PPT课件.ppt_第1页
第1页 / 共50页
《数组向量和数组》PPT课件.ppt_第2页
第2页 / 共50页
《数组向量和数组》PPT课件.ppt_第3页
第3页 / 共50页
资源描述:

《《数组向量和数组》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《数组向量和数组》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 101 a3 = 15 21 27 93 101 a2=15,21,27,93,101 a2 = 15 21 27 93 101 a1=15;21;27; 93; 101 a1 = 15 21 2

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

3、 75 80,4.用函数生成等差元素的向量 格式: 向量名=linspace(初值,终值,个数) 例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:10 vec1 = 80 71 62 53 44 35 26 17 vec1+101 ans = 181 172 163 154 145 136

4、 127 118,生成对数等分向量 格式:logspace(a,b,n) 功能:生成10a 和10b之间的 n个数。 例4-4 vec2=logspace(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 logsp

5、ace function generates logarithmically spaced vectors. Especially useful for creating 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,

6、b,n) generates n points between decades 10a and 10b. y = logspace(a,pi) generates the points between 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向量

7、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 500 vec2=linspace(900,600,7) vec2 = 900 850 800 750 700 650 600 vec3=vec1+vec2 vec3 = Columns 1 through 4 1100 1100 1100 1100 Columns 5 through 7 1100 1100 1100,3. 向量与向量之间的乘运算 格式:向量1*向

8、量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,4,6,8; a*b % 1*2+2*4+3*6+4*8= 60 ans = 60,4. 点积、叉积和混合积 (1)点积 格式:dot(向量1,向量2) 格式: sum(向量1.*向量2) .* 表示两个向量对应位置的元素相乘。 sum(A)表示求A中各元素的和。 例4-6 计算向量x1=(11,22,33,44)与向量x2=(

9、,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=(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: 数组=元素表 说明: 元素表中的数据用空格

10、或逗号分隔. 数组定义格式2: 数组=初值:步长:终值 例, a=2 3 4 5 a = 2 3 4 5 b=1:5:20 b = 1 6 11 16,数组的生成与向量的生成基本相同。,2、存取数组元素的方式 格式1: 数组(n) 功能:表示数组的第n个元素。 格式2: 数组(m:n) 功能:表示数组中第m个元素到第n个元素。 格式3: 数组(m1 m2 mn) 功能:表示数组中第m1个元素、第m2个元素、第mn个元素。 格式4: 数组(m,end) 功能:表示数组中第m个元素到数组的最后一个元素。 格式5: 数组(初值m:步长k:终值n) 功能:表示数组中第m个元素到第n个元素,它们相隔k个

11、元素。,例4-9 a=rand(1,10) %用随机函数rand生成数组a 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(4) ans = 0.4860 a(2:6) ans = 0.2311 0.6068 0.4860 0.8913 0.7621 a(6:-2:1) ans = 0.7621 0.4860 0.2311,如: a = Columns 1 through 5 0.9501 0.2311 0.6

12、068 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,3. 数组排序 格式: sort(数组X) 功能:将数组X中的元素按列进行升序排列。 格式: sort(数组X,n) 功能:将数组X中的元素按维数进行升序

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

14、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-Y Z = -1 -1 -1 V=X+Y V = 3 9 15,2. 数组的乘法-点乘.* 数组1.*数组2 功能:两个数组对应的元素相乘。 注意:数组1*数组2

15、是错误的。 例4-12 x=10 52 96 12 56; y=2 26 3 4 8; z1=x.*y z1 = 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./y z = 5 2 32 3 7 w=y.x w = 5 2 32 3 7,4. 数组的乘方 格式1: 数组1.数组2 功能:计算数组1

16、对应元素进行乘方运算,乘方的值是数组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的余数。,例

17、4-16 M=magic(7) M = 30 39 48 1 10 19 28 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

18、 1 1 1 0 0 1 1 1 1 0 1 1 0 0 0 0 1 0 0 1 1 1 1 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

19、 1 1 1 1 0 0 1 1 1 1 1 1 1,4.2.4 数组的逻辑运算 逻辑表达式和逻辑函数的值是一个逻辑量(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 -

20、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 all(y) ans = 0,4.4.4 NaNs和空矩阵 1. 不定数NaNs的处理 对NaN的所有结果得出NaNs. 例4-29 x=10 2 nan inf x = 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

21、 各种运算符的优先级, 见第55页,表4-5 例4-31 x=5;y=3;z=2; X=ones(3) % 生成3阶全1的矩阵X X = 1 1 1 1 1 1 1 1 1 Y=magic(3) % 生成3阶魔术方阵Y Y = 8 1 6 3 5 7 4 9 2 Z=zeros(3) % 生成3阶全0的矩阵Z Z = 0 0 0 0 0 0 0 0 0, a=x2*(X+Y)+z a = 227 52 177 102 152 202 127 252 77 b=Y5 9 2 6;5 3 5 8;9 7 9 3 A = 3 1 4 1 5 9 2 6 5 3 5 8 9 7 9 3 p=poly(

22、A) p = 1.0000 -20.0000 -16.0000 480.0000 98.0000 disp(poly2sym(p) x4-20*x3-16*x2+480*x+1724034232352773/17592186044416,4. 由多项式的根逆推多项式 多项式的系数=poly(根的向量) 例4-19 roots=-4 -2+2i -2-2i 5 roots = 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 -

23、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 98 p = 1 -20 -16 480 98 x=4; polyval(p,x) ans = 738,2. 求多项式的根 roots(多项式系数向量) 例4-21 p=1 0 3 12 -7 p = 1 0 3 12 -7 roots(p) ans = 0.7876 + 2.4351i 0.

24、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+b c = 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=poly2sym(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(

25、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 8; c=a+b c = 6 8 10 12 d=deconv(c,a) d = 5 6 7 8 x=poly2sym(d) x = 5*x3+6*x2+7*x+8,求多

26、项式的导数 导数多项式系数向量2=polyder(多项式系数向量1) 例4-25 p=3 1 8 8 p = 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,A)表示B*A。 例4-25 a=9 4 9 4,b=8 4 6 7 a = 9 4 9 4 b = 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,

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!