MATLAB矩阵及矩阵操作_第1页
MATLAB矩阵及矩阵操作_第2页
MATLAB矩阵及矩阵操作_第3页
MATLAB矩阵及矩阵操作_第4页
MATLAB矩阵及矩阵操作_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MATLAB矩阵及矩阵操作数值数组(Numeric Array)和数组运算(Array Operations)始终是MATLAB的核心内容。自MATLAB5.x版起,由于其“面向对象”的特征,这种数值数组(以下简称为数组)成为了MATALB最重要的一种内建数据类型(Built-in Data Type),而数组运算就是定义在这种数据结构上的方法(Method)。本节系统阐述:一、二维数值数组的创建、寻访;数组运算和矩阵运算的区别;实现数组运算的基本函数;多项式的表达、创建和操作;常用标准数组生成函数和数组构作技法;高维数组的创建、寻访和操作;非数NaN、“空”数组概念和应用;关系和逻辑操作。顺便指出:(1)本章所涉内容和方法,不仅使用于数值数组,而且也将部分地延伸使用于在其他数据结构中。一、 变量和数据1 数据类型MATLAB7.3定义了15种基本的数据类型 1.1 建立double类型数据:例:(注:double为系统默认数据类型)a=3.3 a = 3.3000 小结查看数据类型方法方法一:whos 要查看的变量名 注:查看多个变量时各变量之间用空格分开,不能用逗号分开例:查看上面定义的变量awhos a Name Size Bytes Class a 1x1 8 double arrayGrand total is 1 element using 8 bytes 方法二:使用class函数,函数调用常用格式: str = class(object) 函数返回object的类型例:class(a) ans =double 方法三:使用isa函数,函数调用常用格式: n = is(object,类型)函数返回值为1,说明object为第二个参数指定的类型,0表示不是。例:isa(a,double) ans = 1 isa(a,char) ans = 0 1.2建立其他数值类型数据的方法l 使用single、int_、uint_分别建立单精度、有符号整型、无符号整型的数据例:b=single(a)%建立单精度变量b b = 3.3000 whos a b %查看变量a b的详细信息 Name Size Bytes Class a 1x1 8 double array b 1x1 4 single arrayGrand total is 2 elements using 12 bytes class(b) %获取变量b的数据类型 ans =single isa(b,single) ans = 1 c=int8(a) %尝试把变量a的值改为3.8,看结果有何变化,得出什么结论? c = 3 class(c)%获取变量c的数据类型 ans =int8 isa(c,int8) ans = 1 结论:a的值改为3.8后变量c的值变为4,说明在MATLAB中将一个浮点型数据转换为整型数据是遵循“四舍五入”的法则2、数值l 需了解MATLAB表达方式的组成、类型l 了解数组(array)、矩阵(matrix)、向量(vector)、标量(数字)(scalar)的概念和它们之间的关系。l 标量和向量是矩阵的特例,而矩阵是数组的特例。l 复数(complex)和复数矩阵实数矩阵是复数矩阵的特例,虚部为0MATLAB把复数作为一个整体处理,虚数单位用自定义变量i或j表示。 (1)复数标量z=3.4+34i z = 3.4000 +34.0000i z=3.4+34j z = 3.4000 +34.0000i z=3.4+i34 ? Undefined function or variable i34. z=3.4+j34 ? Undefined function or variable j34. z=3.4+i*34 z = 3.4000 +34.0000i z=3.4+j*34 z = 3.4000 +34.0000i 结论:在创建复数(complex)和复数矩阵时,若虚部为常数,放在系统自定义变量i或j之前可省略星号(*),但若放在其后则不能省略a=3.4;b=9; r=a+bi ? Undefined function or variable bi. r=a+bj Usage: M = bj(Data,Orders); M = bj(Data,Orders,Prop/Value pairs).r = r=a+jb ? Undefined function or variable jb. r=a+i*b r = 3.4000 + 9.0000i r=complex(a,b) r = 3.4000 + 9.0000i 结论:在创建复数(complex)和复数矩阵时,若虚部为变量,则与系统自定义变量i或j之间必须加星号(*),无论其在前还是在后。另:complex(a,b)可将实数矩阵a,b构成复数矩阵a+b*i.(2)复数矩阵矩阵元素是复数方法:1)直接输入法例:在MATLAB环境下,用下面三条指令创建复数矩阵C。a=2.7358; b=33/79; C=1,2*a+i*b,b*sqrt(a);sin(pi/4),a+5*b,3.5+i C = 1.0000 5.4716 + 0.4177i 0.6909 0.7071 4.8244 3.5000 + 1.0000i whos C Name Size Bytes Class C 2x3 96 double array (complex)Grand total is 6 elements using 96 bytes !注意:复数矩阵单个元素所占的字节数为16,而实数矩阵单个元素所占的字节数为82)由实部和虚部间接创建例:复数数组的另一种输入方式。M_r=1,2,3;4,5,6 M_r = 1 2 3 4 5 6 M_i=11,12,13;14,15,16 M_i = 11 12 13 14 15 16 则复数矩阵可由下面两种方式创建,必须保证上面两个矩阵大小是相同的CN1=M_r+i*M_i CN1 = 1.0000 +11.0000i 2.0000 +12.0000i 3.0000 +13.0000i 4.0000 +14.0000i 5.0000 +15.0000i 6.0000 +16.0000i CN2=complex(M_r,M_i) CN2 = 1.0000 +11.0000i 2.0000 +12.0000i 3.0000 +13.0000i 4.0000 +14.0000i 5.0000 +15.0000i 6.0000 +16.0000i (3)MATLAB提供的复数和复数矩阵操作函数复数直角坐标表示和极坐标表示之间转换的MATLAB指令如下:real(z) z的实部a=rcosimag(z) z的虚部b=rsinabs(z) z的模r=(a2+b2)angle(z) z的相角=arctg(b/a)求其共轭的函数为:conj(z) z的共轭a-bi如果z是复数矩阵,则上述函数是对矩阵里的每个元素做同样的操作。二、MATLAB矩阵(二维数组)的创建共6种方法1、直接输入矩阵元素法 对于一般较小的简单的矩阵,用户可以从键盘上直接输入一系列的元素生成矩阵。规则:n 矩阵元素必须用 括住n 矩阵元素必须用逗号或空格分隔 n 在 内矩阵的行与行之间必须 用分号(;)或Enter键分隔例:在MATLAB中创建矩阵矩阵元素可以是任何matlab表达式 ,可以是实数 ,也可以是复数实现方法如下:A=1 2 3;4 5 6A=1,2,3;4,5,6A=1 2 34 5 6练习:在MATLAB中创建矩阵 总结:如何获取一个已建立矩阵的信息?调用MATLAB提供的函数class(),size(),length(),ndims()class(A)%类型 ans =double size(A)%大小 ans = 2 3 length(A)%长度 ans = 3 ndims(A)%维数 ans = 2 2、利用冒号表达式建立一个向量冒号表达式可以产生一个行向量,一般格式是:其中e1为初始值,e2为步长缺省为1,e3为终止值。注意:该方法产生的行向量的最后一个元素的值小于等于e3,并不一定是e3例如:1:6:5 ans = 1 在MATLAB中,还可以用linspace函数产生行向量。其调用格式为:linspace(a,b,n)其中a和b是生成向量的第一个和最后一个元素,n是元素总数。显然,linspace(a,b,n)与a:(b-a)/(n-1):b等价。例:要求在闭区间0,2 上产生50个等距采样的一维数组。试用两种不同的指令实现。法一:linspace函数 linspace(0,2*pi,50); 法二:冒号表达式: 0 : 2*pi/(50-1) : 2*pi; 3、用matlab函数创建矩阵系统中提供了多个命令用于输入特殊的矩阵: 函数 功 能 函数 功 能 compan 伴随阵toeplitz Toeplitz矩阵diag 对角阵vander Vandermonde矩阵hadamard Hadamard矩阵zeros 元素全为0的矩阵hankel Hankel矩阵ones 元素全为1的矩阵invhilb Hilbert矩阵的逆阵rand 元素服从均匀分布的随机矩阵kron Kronercker张量积randn 元素服从正态分布的随机矩阵magic 魔方矩阵eye 对角线上元素为1的矩阵pascal Pascal矩阵meshgrid 由两个向量生成的矩阵上面函数的具体用法,可以用帮助命令help得到。如:eye、zeros、ones、rand这几个函数的调用格式相似,下面以产生零矩阵的zeros函数为例进行说明。其调用格式是:l zeros(m) 产生mm零矩阵l zeros(m,n) 产生mn零矩阵。 l zeros(size(A) 产生与矩阵A同样大小的零矩阵例如:zeros(2) %产生22零矩阵 ans = 0 0 0 0 zeros(2,3) %产生23零矩阵 ans = 0 0 0 0 0 0 A = 2:5 A = 2 3 4 5 zeros(size(A) %产生与矩阵A同样大小的零矩阵 ans = 0 0 0 0 4、利用M文件建立矩阵例:创建和保存数组 AM的 MyMatrix.m 文件。% MyMatrix.mCreation and preservation of matrix AMAM=101,102,103,104,105,106,107,108,109;. 201,202,203,204,205,206,207,208,209;. 301,302,303,304,305,306,307,308,309; 以后创建矩阵AM只需要运行:MyMatrix 指令即可。5、把外部数据调入矩阵法(1)选择FileImport Data 菜单操作,可打开任意类型的数据文件(2)用户能够通过load命令,将MATLAB外部数据文件中的内容调入到工作空间中创建矩阵,外部数据文件的扩展名为“.mat “6、建立大矩阵大矩阵可由方括号中的小矩阵建立起来。例如 A=1 2 3;4 5 6;7 8 9 A = 1 2 3 4 5 6 7 8 9 C=A,eye(size(A); ones(size(A),A C = 1 2 3 1 0 0 4 5 6 0 1 0 7 8 9 0 0 1 1 1 1 1 2 3 1 1 1 4 5 6 1 1 1 7 8 9 即矩阵的元素可以是矩阵,但必须保证同行的矩阵行数相同,同列的矩阵列数相同。三、 矩阵(二维数组)元素的标识1、“全下标”标识(row-column subscripts)“全下标”标识法:即指出是“第几行,第几列”的元素。对于二维数组(矩阵)来说, “全下标”标识由两个下标组成:行下标,列下标。 格式:矩阵名(m,n)2、“单下标”标识(linear indexing)“单下标(Linear Index)”标识:就是“只用一个下标来指明元素在数组中的位置”。“一维编号”:先设想把二维数组的所有列,按先左后右的次序、首尾相接排成“一维长列”;然后,自上往下对元素位置进行编号。 “单下标”与“全下标”的转换关系:函数调用格式:I,J = ind2sub(siz,IND)IND = sub2ind(siz,I,J)l 以(mn)的二维数组A为例,若“全下标”元素位置是“第i行,第j列”,那么相应的“单下标”为l=(j-1) m+i。 MATLAB有两个指令可实现以上表示方法间的转换:l sub2ind 据全下标换算出单下标。l ind2sub 据单下标换算出全下标例:在MATLAB中创建下列矩阵,并取出方框内的数组元素A = 2.3 -4 1;5 9 2;6 2.5 3%直接输入法创建矩阵 A = 2.3000 -4.0000 1.0000 5.0000 9.0000 2.0000 6.0000 2.5000 3.0000 A(1,1) %全下标访问2.3 ans = 2.3000 A(1) %单下标访问2.3 ans =2.3000 A(3,1) %全下标访问6 ans = 6 A(3) %单下标访问6 ans = 6 A(2,2) %全下标访问9 ans = 9 A(5) %单下标访问9 ans = 9 A(1,3) %全下标访问1 ans = 1 A(7) %单下标访问1 ans = 1 例:将全下标(3,1)转换为单下标sub2ind(size(A),3,1) ans = 3 例:将单下标7转换为全下标m,n=ind2sub(size(A),7) m = 1n = 3 3、“逻辑1”标识(logical Indexing)所谓“逻辑1”标识 法是:通过与A同样大小的逻辑数组L中“逻辑值1”所在的位置,指出A中元素的位置。例1:找出数组中所有绝对值大于3的元素。A=zeros(2,5);%预生成一个(2*5)全零数组 A(:)=-4:5%运用“全元素”赋值法获得A A = -4 -2 0 2 4 -3 -1 1 3 5 L=abs(A)3%产生与A同维的“0-1”逻辑值数组 L = 1 0 0 0 1 0 0 0 0 1 islogical(L)%判断L是否逻辑值数组。输出若为1,则是。 ans = 1 X=A(L)%把L中逻辑值1对应的A元素取出 X = -4 4 5 例:演示逻辑数组与一般双精度数值数组的关系和区别。(本例在上例基础上进行)。(1)逻辑数组与双精度数组的相同之处Num=1,0,0,0,1;0,0,0,0,1;%产生与L数组外表完全相同的“双精度数组” N_L=Num=L%假如Num与L数值相等,则应得 1 。 N_L = 1 1 1 1 1 1 1 1 1 1 c_N=class(Num)%用class指令检查Num的类属 c_N =double c_L=class(L)%用class指令检查L的类属 c_L =logical whos Num L Name Size Bytes Class L 2x5 10 logical array Num 2x5 80 double arrayGrand total is 20 elements using 90 bytes (2)逻辑数组与一般双精度数组的差别islogical(Num)%检查Num是否属于逻辑数组类 ans = 0 Y=A(Num)%试探Num能否象L一样具有标识作用 ? Subscript indices must either be real positive integers or logicals. (2)逻辑数组的另外一种创建方法logical()函数LN = logical(Num) %将双精度数值数组转换为逻辑数组 LN = 1 0 0 0 1 0 0 0 0 1 islogical(LN)%检查LN是否属于逻辑数组类 ans = 1 Z=A(LN)%试探LN能否象L一样具有标识作用 Z = -4 4 5 总结1、逻辑数组的元素或是0或是1,但是元素或是0或是1的矩阵并不一定是逻辑矩阵。是一种特殊的数据类型。2、逻辑数组具有标识作用,但是元素或是0或是1的数值矩阵不具有标识作用3、逻辑数组只能通过logical()函数或逻辑、关系运算这两种方式获得。4、可用class、islogical两个函数来判断一个数组是否逻辑数组。l=find(A=60) %返回的是A中元素值大于等于60的元素的单下标号A(l) %单下标访问单下标和全下标之间的相互转换m n=ind2sub(size(A),l) S=m nsub2ind(size(A),m,n)四、子矩阵的寻访和赋值子矩阵寻访1)“全下标”标识 m,n为标量 (Accessing Single Elements) A(m,n) m,n有一为冒号(:)(Accessing Multiple Elements) m,n为行向量2)“单下标”标识 s为标量 A(s) s为冒号(:) s为向量、矩阵3)“逻辑1”标识子矩阵的赋值实现对矩阵的修改方法一:全下标要修改已经定义矩阵语法:A(m,n)=B注:l m,n可以是向量或标量l A(:,:)=B 全元素赋值l 要求A(m,n)、B两矩阵的大小必须是相同的,即B大小必须是length(m)行,length(n)列方法二:单下标要修改已定义矩阵语法:A(l)=B注:n l可以是一个矩阵、向量或标量n A(:)=B 全元素赋值n 要求A(s)、B两矩阵的元素个数必须是相同的,B可以是一个矩阵、向量或标量n子数组寻访和赋值格式汇总表子数组寻访和赋值使 用 说 明A(r,c)它由A的“r指定行”和“c指定列”上的元素组成A(r,:)它由A的“r指定行”和“全部列”上的元素组成A(:,c)它由A的“全部行”和“c指定列”上的元素组成A(:)“全元素”寻访。它由A的各列按自左到右的次序,首尾相接而生成“一维长列”数组A(s)“单下标”寻访。生成“s指定的”一维数组。S若是“行数组”(或“列数组”),则A(s)就是长度相同的“行数组”(或“列数组”)A(L)“逻辑1”寻访。生成“一维”列数组:由与A同样大小的“逻辑数组”L中的“1”元素选出A的对应元素;按“单下标”次序排成长列组成。A(r,c)=Sa以“双下标”方式,对子数组A(r,c)进行赋值;Sa的“行宽、列长”必须与A(r,c)的“行宽、列长”相同A(:)=D(:)全元素赋值方式。结果:保持A的“行宽、列长”不变。条件:A、D两个数组的总元素相等,但“行宽、列长”不一定相同A(s)=Sa按“单下标”方式,对A的部分元素重新赋值。结果:保持A的“行宽、列长”不变。条件:s单下标数组的长度必须与“一维数组” Sa的长度相等,但是s、Sa不一定同是“行数组”或“列数组”例:不同寻访和赋值方式示例。在MATLAB中创建下面的矩阵clear a= 1:8 a = 1 2 3 4 5 6 7 8 A=a;a;a;a;a;a;a;a A = 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1) 如何获取矩阵的第3行;A(3,:) ans = 1 2 3 4 5 6 7 8 2) 如何获取矩阵的第4列;A(:,4) ans = 4 4 4 4 4 4 4 4 3) 如何获取矩阵的第2到6行,3到7列;A(2:6,3:7) ans = 3 4 5 6 7 3 4 5 6 7 3 4 5 6 7 3 4 5 6 7 3 4 5 6 7 4) 如何获取矩阵的第1、2、7、8行,2、5、7列;A(1 2 7 8,2 5 7) ans = 2 5 7 2 5 7 2 5 7 2 5 7 5) 如何实现矩阵第1列和第4列数据的交换;A(:,4 2 3 1 5:8) ans = 4 2 3 1 5 6 7 8 4 2 3 1 5 6 7 8 4 2 3 1 5 6 7 8 4 2 3 1 5 6 7 8 4 2 3 1 5 6 7 8 4 2 3 1 5 6 7 8 4 2 3 1 5 6 7 8 4 2 3 1 5 6 7 8 6) 如何获取矩阵按列的倒序排列矩阵A(:,end:-1:1) ans = 8 7 6 5 4 3 2 1 8 7 6 5 4 3 2 1 8 7 6 5 4 3 2 1 8 7 6 5 4 3 2 1 8 7 6 5 4 3 2 1 8 7 6 5 4 3 2 1 8 7 6 5 4 3 2 1 8 7 6 5 4 3 2 1 7) 如何获取矩阵单下标号为奇数的元素A(1:2:64) ans = Columns 1 through 23 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 5 5 5 5 6 6 6 Columns 24 through 32 6 7 7 7 7 8 8 8 8 8) 如何将矩阵的第3行的元素全修改为;A(3,:)=zeros(1,8) A = 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 9) 如何将矩阵的第4列的元素全修改为4 6 8 10 12 14 16;A(:,4)=2:2:16 A = 1 2 3 2 5 6 7 8 1 2 3 4 5 6 7 8 0 0 0 6 0 0 0 0 1 2 3 8 5 6 7 8 1 2 3 10 5 6 7 8 1 2 3 12 5 6 7 8 1 2 3 14 5 6 7 8 1 2 3 16 5 6 7 8 10) 如何获取矩阵的第2到6行,3到7列的元素改为1:25;A(2:6,3:7)= 1:25 出错原因是全下标寻访赋值必须保证赋值号两边矩阵大小相同? Subscripted assignment dimension mismatch. A(2:6,3:7)= reshape(1:25,5,5) A = 1 2 3 2 5 6 7 8 1 2 1 6 11 16 21 8 0 0 2 7 12 17 22 0 1 2 3 8 13 18 23 8 1 2 4 9 14 19 24 8 1 2 5 10 15 20 25 8 1 2 3 14 5 6 7 8 1 2 3 16 5 6 7 8 11) 如何删除矩阵的第2、5、7列;A(:,2 5 7) = A = 1 3 2 6 8 1 1 6 16 8 0 2 7 17 0 1 3 8 18 8 1 4 9 19 8 1 5 10 20 8 1 3 14 6 8 1 3 16 6 8 12) 如何删除矩阵的第2、5、7行;A(2 5 7,:) = A = 1 3 2 6 8 0 2 7 17 0 1 3 8 18 8 1 5 10 20 8 1 3 16 6 8 例:不同赋值方式示例。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)%由“单下标行数组”寻访产生A元素组成的行数组 ans = 2 3 5 Sa=10 20 30%Sa是长度为3的“列数组” Sa = 10 20 30 A(s)=Sa%单下标方式赋值 A = 1 20 30 7 10 4 6 8 A(:,2 3)=ones(2)%双下标赋值方式:把A的第2、3列元素全赋为1 A = 1 1 1 710 1 1 8 五、数组运算和矩阵运算概述算术运算(Arithmetic Operators)关系运算(Relational Operators)逻辑运算(Logical Operators)表 数组运算和矩阵运算指令对照汇总数 组 运 算矩 阵 运 算指令含 义指 令含 义A.非共轭转置。相当于conj(A)A共轭转置A=s把标量s赋给A的每个元素(X) A(:)=ss+B 标量s分别与B元素之和s-B,B-s标量s分别与B的元素之差s.*A标量s分别与A的元素之积s*A标量s分别与A每个元素之积s./B,B.ss分别去除B的每个元素s*inv(B)B阵的逆乘sA.nA的每个元素自乘n次AnA为方阵时,自乘n次A.p对A的各元素分别求非整数幂Ap方阵A的非整数乘方p.A以p为底,分别以A的元素为指数求幂值pAA阵为方阵时,标量的矩阵乘方AB对应元素相加减AB矩阵相加减A.*B对应元素相乘A*B内维相同矩阵的乘积A./BA的元素被B的对应元素除A/BA右除BB.A(一定与上相同)BAA左除B(一般与右除不同)exp(A)以自然数e为底,分别以A的元素为指数,求幂expm(A)A的矩阵指数函数log(A)对A的各元素求对数logm(A)A的矩阵对数函数sqrt(A)对A的各元素求平方根sqrtm(A)A的矩阵平方根函数f(A)求A各个元素的函数值。f(.)表示为上节所列各函数funm(A,FN)一般函数矩阵A#BA、B阵对应元素间的关系运算。#代表关系运算符ABA、B阵对应元素间的逻辑运算。#代表逻辑运算符算术运算1两种不同转置的比较共轭转置()矩阵运算,除了行列互换外,还要对矩阵求共轭非共轭转置(.)数组运算,只进行行列互换外clear;B=zeros(2,3); B(:)=1:6;%全元素赋值法 1) 对实数矩阵的操作x=B. %非共轭转置 x = 1 2 3 4 5 6 y=B %共轭转置 y = 1 2 3 4 5 6 ??问题:如何判断两个矩阵是否相同调用isequal()函数isequal(x,y) %判断是否x=y,结果为1表示相等,为0表示不等 ans = 1 法二:调用any()函数any(x-y) ans = 0 0 结论:对于实数矩阵来说,共轭转置()与非共轭转置(.)无区别2) 对复数矩阵的操作A=B*(1+i)%运用标量与数组乘产生复数矩阵 A = 1.0000 + 1.0000i 3.0000 + 3.0000i 5.0000 + 5.0000i 2.0000 + 2.0000i 4.0000 + 4.0000i 6.0000 + 6.0000i A_A=A.%数组转置,即非共轭转置 A_A = 1.0000 + 1.0000i 2.0000 + 2.0000i 3.0000 + 3.0000i 4.0000 + 4.0000i 5.0000 + 5.0000i 6.0000 + 6.0000i A_M=A%矩阵转置,即共轭转置 A_M = 1.0000 - 1.0000i 2.0000 - 2.0000i 3.0000 - 3.0000i 4.0000

温馨提示

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

评论

0/150

提交评论