版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第2章 数据类型 计算机语言用不同类型的变量来描述不同类型的对象。作为一门科学计算语言,MATLAB既有一般高级语言所应具备的基本数据类型,又提供了适合矩阵计算的特殊数据类型。2.1 常数和变量跟很多其他计算机语言一样,常数和变量是基本的语言元素。在MATLAB中使用变量比在其他语言中要方便一些,不必声明变量的数据类型,只要用表达式给变量赋值就可以创建该变量。2.1.1 常数MATLAB提供了一些内部常数,如表21所示。这些常数定义了MATLAB应用和编程中常常用到的数据。表21 MATLAB提供的常数常数返 回 值ans默认变量名,保存最近的结果。如果不给表达式指定一个输出变量,MATLAB
2、会自动将结果保存到ans变量中。eps浮点相对精度realmax计算机可以表示的最大正浮点数realmin计算机可以表示的最小正浮点数pi圆周率i,j虚数单位inf正无限值。类似n/0的表达式 生成的结果为inf。NaN表示不合法的数值值,非数值。Computer计算机类型versionMATLAB版本字符串表21中的常数可以不必声明,直接应用于MATLAB编程,例如:Rho=(sqrt(5)-1)/2Rho = 0.6180a=abs(3+4i)a = 5huge=exp(log(realmax)huge = 1.7977e+308toobig=pi* hugetoobig = Inf2.1
3、.2 变量 变量名MATLAB变量名的第1个字符必须是字母,后面可以跟字母、数字和下划线的任何组合。注意:MATLAB中变量名有大小写区分,所以A和a是不同的变量。尽管变量名的长度没有限制,但是MATLAB只使用名称的前N个字符,后面的字符被忽略。这里,N是namelengthmax函数的返回值。所以,使变量名的前N个字符惟一是很重要的。演示:N=namelengthmaxN = 63可以用isvarname函数确认变量名的合法性。如果变量名合法,该函数返回1,否则返回0。演示:isvarname aans = 1isvarname 2aans = 0注意:MATLAB用字符i和j表示虚数单位
4、。如果涉及到复数计算,应避免把i和j用作变量名。MATLAB预留了一些关键字并且不允许重载它们,如果调用过程中使用了它们,可能会导致出错信息。使用不带输入变量的iskeyword函数可以列出所有预留的关键字。演示:iskeywordans = break case catch continue else elseif end for function global if otherwise persistent return switch try while 创建变量在MATLAB中创建变量很简单,不必声明变量的数据类型。如果变量已经存在,给它赋值会替换它的当前值。演示:x=9x=pi2.1.
5、3 变量数据类型MATLAB提供的数据类型有十余种之多。但所有的MATLAB变量,不管它是什么类型,都以数组或矩阵的形式保存。数组逻辑型 字符型 数值型 单元数组 结构数组 函数句柄 定制类 Java类 int8,uint8 single double int16,uint16 int32,uint32图21MATLAB数据类型 表22综述了MATLAB的各种数据类型。表22 MATLAB数据类型数据类型描 述逻辑型数组数组的每个元素只能是1(true)或0(false)字符型数组数组的每个元素为字符串int8,uint8 int16,uint16 int32,uint32 int64,uin
6、t64长度为8位、16位、32位和64位的有符号和无符号整型数组。single单精度数值型数组。单精度类型的数据需要的存储量比双精度类型的少,但精度要差一些。double双精度数值型数组。是MATLAB中最常用的变量类型。单元数组单元数组的元素包含其他数组。它可以将不同大小的有关系的数据和信息集中到一起。结构数组结构数组具有字段名。这些字段包含其他数组。与单元数组类似,结构也将有关系的数据和信息集中起来。函数句柄MATLAB函数的句柄可以在变量列表中进行传递,并用feval函数进行计算。类MATLAB类,该定制类用MATLAB函数创建。Java类Java类,可以使用JavaAPI或第3方定义的
7、已经存在的类,或者用Java语言创建自己的类。MATLAB中进行数值计算,默认时所有变量都为double型。使用format命令,可以设置变量的输出格式。format:以5位定点格式输出变量值。format short e:以5位浮点格式输出变量值。format short g:在5位定点与5位浮点中选择最好的格式表示。format long:以15位定点格式输出变量值。format long e:以15位浮点格式输出变量值。format hex:以16进制输出变量值。format +:在矩阵中,用符号+、和空格分别表示正号、负号和零。format compact:变量之间没有空行。forma
8、t loose:变量之间有空行。演示:a=.2.2 数组MATLAB中,所有数据都用数组形式进行保存。本节主要介绍构造一维数组和二维数组的方法。2.2.1 一维数组在MATLAB中,用空格或逗号间隔一维数组元素,然后用方括号括起来即可构造一维数组(行向量)。演示:x=1 2 3 4 5 6x = 1 2 3 4 5 6 除了上述直接构造方法外,还有一些常用的构造方法,下面介绍两种,即增量法和linspace函数法。 用增量法构造一维数组利用MATLAB提供的冒号运算符(first:step:last)格式可以生成一维数组(行向量)。Step=1时可以省略,即为(first:last)格式。演示
9、:A=(1:0.2:3)B=(1:0.2:3.1)C=(1:3.1) 用linspace函数构造一维数组用linspace函数构造数组,需要指定首尾值和元素总个数。基本形式是:x=linspace(first,last,num)其中,first,last和num分别为x数组的首、尾和元素个数。演示:x=linspace(0,10,5)2.2.2 二维数组MATLAB中,创建二维数组(也称矩阵)有以下几种方法: 简单的创建方法MATLAB中创建矩阵最简单的方法是使用矩阵创建符号。在方括号内输入多个元素可以创建矩阵的一个行,并用逗号或空格把每个元素隔开;如果想开始一个新行,则用分号终止当前行。演示
10、:a=1 2 3 4;2 3 4 5;3 4 5 6a = 1 2 3 4 2 3 4 5 3 4 5 6 构造特殊矩阵MATLAB提供了多个创建不同矩阵的函数,常用的函数见表23。表23常用的特殊矩阵构造函数函 数功 能ones创建一个所有元素都为1的矩阵zeros创建一个所有元素都为0的矩阵eye创建对角线元素为1,其他元素为0的矩阵。diag根据矢量创建对角矩阵rand创建一个矩阵,其中的元素为服从均匀分布的随机数。randn创建一个矩阵,其中的元素为服从正态分布的随机数。 注:上面的常用函数也可以创建特殊的一维数组。上面大部分函数返回double型的矩阵。但是,可以用ones,zero
11、s和eye函数很容易地生成任何数值类型的基本数组。演示:执行下面命令,看执行结果!A=ones(4,6)B=zeros(4,1)C=zeros(4,6, uint32)help onesdoc zerosA1=eye(4)B1=eye(4,5)C1=eye(6,4)a=1 2 3 4 5 6A2=diag(a)B2=diag(a,-1)C2=diag(a,1)A3=rand(4) %此条命令执行多次看结果!B3=randn(4)*20 %此条命令执行多次看结果! 聚合矩阵通过连接一个或多个矩阵来形成新的矩阵,称为聚合矩阵。符号不仅是矩阵构造符,它还是MATLAB聚合矩阵运算符。若矩阵A和B的行
12、数相同,则可用C=A B在水平方向上聚合矩阵A和B;若矩阵A和B的列数相同,则可用C=A;B在垂向上聚合矩阵A和B。演示:A=ones(3,4)*6A = 6 6 6 6 6 6 6 6 6 6 6 6B=eye(3,4)B= 1 0 0 0 0 1 0 0 0 0 1 0C1=A B%在水平方向上聚合A和BC1= 6 6 6 6 1 0 0 0 6 6 6 6 0 1 0 0 6 6 6 6 0 0 1 0C2=A;B%在垂向上聚合A和BC2= 6 6 6 6 6 6 6 6 6 6 6 6 1 0 0 0 0 1 0 0 0 0 1 0除了利用符号聚合矩阵构造新矩阵的方法外,还可以利用表2
13、4中的函数将多个矩阵组合成一个新的矩阵。表24矩阵聚合函数函 数描 述cat沿指定的维聚合矩阵horzcat水平聚合矩阵vertcat垂直聚合矩阵repmat通过复制和叠置矩阵来创建新矩阵blkdiag用已有矩阵创建块对角矩阵演示:A=1 2 3;4 5 6A = 1 2 3 4 5 6B=ones(2,3)B = 1 1 1 1 1 1C1=cat(1,A,B) %在垂向上聚合A和BC1 = 1 2 3 4 5 6 1 1 1 1 1 1C2=cat(2,A,B) %在水平方向上聚合A和BC2 = 1 2 3 1 1 1 4 5 6 1 1 1C3=cat(3,A,B)%构造3维数组C3(:
14、,:,1) = 1 2 3 4 5 6C3(:,:,2) = 1 1 1 1 1 1C4=vertcat(A,B)C4 = 1 2 3 4 5 6 1 1 1 1 1 1C5=horzcat(A,B)C5 = 1 2 3 1 1 1 4 5 6 1 1 1D=repmat(A,2,3) %将矩阵a垂向上复制2次,在水平方向上复制3次。D = 1 2 3 1 2 3 1 2 3 4 5 6 4 5 6 4 5 6 1 2 3 1 2 3 1 2 3 4 5 6 4 5 6 4 5 6C=eye(3)*8C = 8 0 0 0 8 0 0 0 8E=blkdiag(A,B,C)%创建块对角矩阵E
15、= 1 2 3 0 0 0 0 0 0 4 5 6 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 8注:构造矩阵时,如果矩阵的数据类型不同,则MATLAB会自动对某些元素进行类型转换,然后生成的矩阵具有相同的类型。用一个高精度的矩阵和一个低精度的矩阵构造新矩阵时,新矩阵是低精度型的。 获取矩阵的元素利用编号和索引,可以获取MATLAB矩阵的元素。要引用矩阵中的特殊元素,用下面的语法指定它的行号和列号(简称行列索引),其中A是矩阵变量。按先行后
16、列的顺序指定。 A(row,column)使用MATLAB,还可以用单个编号引用矩阵中的元素(简称线性索引)。MATLAB保存矩阵中的数据时不是按照它们显示在MATLAB命令窗口中的形状保存的,而是作为单一元素列保存。这个元素列又是由矩阵中的所有列组成的,后一列元素按先后顺序添加到前一列元素的最后。即,若,则行列索引与线性索引均表示矩阵A的第行第列元素。如果知道行列索引,可以用sub2ind函数获得线性索引值;同样,如果知道线性索引,可以用ind2sub函数获得行列索引值。利用冒号运算符可以构造新矩阵。演示:A=magic(4)%生成一个4阶幻方阵A = 16 2 3 13 5 11 10 8
17、 9 7 6 12 4 14 15 1b1=A(4,3)b1 = 15b2=A(12)b2 = 15b3=A(1,end)b3 = 13b4=A(end)b4 = 1b5=A(end,3)b5 = 15Linearindex=sub2ind(size(A),4,2) %获取线性索引值Linearindex = 8row,col=ind2sub(size(A),12) %获取行列索引值row = 4col = 3B1=A(2,:)B1 = 5 11 10 8B2=A(:,3)B2 = 3 10 6 15B3=A(:)B3 = 16 5 9 4 2 11 7 14 3 10 6 15 13 8 1
18、2 1C1=A(2:4,:)C1 = 5 11 10 8 9 7 6 12 4 14 15 1C2=A(2:4,1 2 4)C2 = 5 11 8 9 7 12 4 14 12.2.3 获取与数组有关的信息表25中的函数可以返回关于数组形状和大小的信息。表25数组信息函数函 数功 能length返回数组最长维的长度ndims返回数组维数numel返回数组元素个数size返回数组每一维的长度演示:A=1 2;3 4;5 6;B=2 2;2 2;1 1;C=cat(3,A,B)C(:,:,1) = 1 2 3 4 5 6C(:,:,2) = 2 2 2 2 1 1length(C)ans = 3n
19、dims(C)ans = 3numel(C)ans = 12size(C)ans = 3 2 2表26中的函数检查数组中的元素是否属于指定的数据类型。表26数据类型检查函数函 数功 能isa确定输入数据是否属于给定类型iscell确定输入数据是否属于单元数组iscellstr确定输入数据是否属于字符串单元数组ischar确定输入数据是否属于字符串isfloat确定输入数据是否属于浮点数组isinteger确定输入数据是否属于整型数组islogical确定输入数据是否属于逻辑数组isnumeric确定输入数据是否属于数值数组isreal确定输入数据是否属于实型值数组isstruct确定输入数据是
20、否属于结构数组表27中的函数检查数组中的元素是否为指定的数据结构。表27数据结构检查函数函 数功 能isempty确定输入数据是否为空isscalar确定输入数据是否为标量issparse确定输入数据是否为稀疏数组isvector确定输入数据是否为矢量2.3 字符串 字符串又称为字符数组,由多个字符连接而成。MATLAB中,字符串一般用单引号()括起来。2.3.1 创建字符串通过把字符放到单引号中来指定字符数据。演示:A=China;whos A Name Size Bytes Class A 1x5 10 char array 可见,A是一个1行5列的字符数组。class(A)%测试A的数据
21、类型ans =charischar(A)%测试A是否为字符串数据类型ans = 12.3.2 创建二维字符串 创建一个二维字符串时,要求每行具有相同的长度。例如,下面两个字符串都有5个字符,用它们组合起来的二维字符串是合法的。演示:name=Li Yi;Hu Xuname =Li YiHu Xu根据不同长度的字符串创建二维字符串时,要将短的那些字符串后面用空格补齐,使所有字符串的长度相同。演示:name=Liu Ying;Hu Xu name =Liu YingHu Xu用char函数创建字符串数组更简单,char函数自动以最长的输入字符串的长度为标准,进行空格补齐工作。演示:name=cha
22、r(Liu Ying,Hu Xu)name =Liu YingHu Xu 从数组中提取字符串时,用deblank函数删除后面的空格。演示:trimname=deblank(name(2,:)trimname =Hu Xu2.3.3 类型转换用char函数把字符串单元数组转换为标准字符串数组。演示:A=Sunjunfang,NewStudent,Beijing%字符串单元数组A = Sunjunfang NewStudent Beijingwhos A Name Size Bytes Class A 1x3 234 cell arrayGrand total is 30 elements usi
23、ng 234 bytesB=char(A) %字符串单元数组转换为标准字符串数组B =SunjunfangNewStudentBeijing whos B Name Size Bytes Class B 3x10 60 char arrayGrand total is 30 elements using 60 bytes用str2double函数把一个字符串单元数组转换为字符串表示的双精度值。演示:A=3.7294e-3;-583.75;13.796%字符串单元数组A = 3.7294e-3 -583.75 13.796B=str2double(A)B = 0.0037 -583.7500 1
24、3.7960whos A B Name Size Bytes Class A 3x1 224 cell array B 3x1 24 double array 用int2str函数将整型数据类型转换为字符串型数据。如:演示:x=2010;y=int2str(x)y =2010whos x y Name Size Bytes Class x 1x1 8 double array y 1x4 8 char array用num2str函数对输出字符串的格式提供了更多控制,该函数的第2个变量是可选的,它设置输出字符串的位数,或指定一个实际格式。演示:p=num2str(pi,6)p =3.14159p
25、=num2str(pi,16)p =3.9793whos p Name Size Bytes Class p 1x17 34 char arrayp=num2str(0.9,6)p =1.23457e-005whos p Name Size Bytes Class p 1x12 24 char array用mat2str函数将数组转换为字符串。演示:A=11 22 33;44 55 66;B=mat2str(A)B =11 22 33;44 55 66class(B)ans =char2.3.4 比较字符串用strcmp函数比较字符串。演示:str1=hello;str2=help;strcm
26、p(str1,str2)ans = 0因为str1 和str2不相等,所以调用strcmp函数时返回0(false)。用strncmp函数,可以比较字符串的前n个字符。演示:strncmp(str1,str2,3)ans = 1strncmp(str1,str2,4)ans = 0对于由字符串构成的单元数组,这些函数一个单元一个单元地进行比较。演示:A=hello;pen;rule;B=help;pen;pencilbox;strcmp(A,B)ans = 0 1 0strncmp(A,B,3)ans = 1 1 0对于字符串,可以使用MATLAB的关系运算符(,=,=Bans = 1 1 0
27、 1ABans = 1 0 0 02.3.5 聚合字符串字符串通常可以由更小的元素聚合而成。两个通用的聚合方法是使用MATLAB聚合运算符()或sprintf函数。演示1:for n=1:6 An=a,int2str(n);endAA = a1 a2 a3 a4 a5 a6演示2:for m=1:8 Bm= sprintf (B%d,m);endBB = B1 B2 B3 B4 B5 B6 B7 B8演示3:i=2;j=5;k=8;A=sprintf (i=%d,j=%d,k=%d.,i,j,k)A =i=2,j=5,k=8.用strcat函数也可以把两个或更多字符串合在一起。演示:m=201
28、0;A1=China;A2=XuZhou;C=strcat(A1,A2,int2str(m)C =China,XuZhou,20102.3.6 字符分类有两个函数可以对字符串中的字符进行分类:isletter函数确定字符是否为字母;isspace函数确定字符是否为空区(空格、空表间隔或空行)。演示:m=2010;A=China;C=strcat(A,int2str(m)C =China,2010D=isletter(C)D = 1 1 1 1 1 0 0 0 0 02.3.7 搜索和替换MATLAB提供了几个函数用于字符串的搜索和替换。演示:A=Sample,2010/03/06;B=strr
29、ep(A,06,08) %把字符串中的06替换为08B =Sample,2010/03/08k=findstr(amp,A) %搜索amp的开始位置。k = 2另外,strtok函数在输入字符串中第一次发现间隔符时返回间隔符前面的字符,可用该函数把句子分离成单词。strmatch函数在字符串或字符串单元数组的整个行中进行查找,看有没有以给定字符序列打头的字符串,它返回以该字符串打头的行的行号。2.4 多维数组 可以使用与创建二维数组相同的技巧创建多维数组。另外,MATLAB还提供了一个特别的聚合函数来生成多维数组。2.4.1 用索引生成多维数组创建多维数组的方法之一是先创建一个二维数组,然后扩
30、展它。演示:A=1 2 3;4 5 6;7 8 9;A(:,:,2)=1 0 4;3 5 6;9 8 7;A(:,:,3)=8;AA(:,:,1) = 1 2 3 4 5 6 7 8 9A(:,:,2) = 1 0 4 3 5 6 9 8 7A(:,:,3) = 8 8 8 8 8 8 8 8 8这就得到了一个3维数组A,再把A扩展成一个的4维数组:A(:,:,1,2)=1 2 3;1 2 3;1 2 3;A(:,:,2,2)=9 8 7;6 5 4;3 2 1;A(:,:,3,2)=1 0 1;0 1 0;0 1 1;2.4.2 用MATLAB函数生成多维数组用randn,ones和zero
31、s函数等生成多维数组。演示:A=randn(4,3,2)%创建一个标准正态分布随机数的3维数组。用repmat函数生成一个元素均为同一常数的数组。演示:B=repmat(8,3 4 2)2.4.3 用cat函数生成多维数组cat函数是创建多维数组的一种简单方式,它按指定的维数将多个数组聚合在一起,其调用格式为: B=cat(dim,A1,A2,)其中A1,A2等是进行聚合的数组,dim是维数。演示:A=cat(3,1 2;3 4,1 3;5 7)A(:,:,1) = 1 2 3 4A(:,:,2) = 1 3 5 7B=cat(3,5 6;7 8,2 4;6 8);D=cat(4,A,B,ca
32、t(3,1 9;9 1,1 8;8 1)2.5 结构数组结构数组的字段可以包含任何类型的数据。例如,某个结构数组的第一个字段为包含一个表示名称的文本字符串,第二个字段为包含一个表示类别的标量,第三个字段则为测量结果矩阵,等等。2.5.1 创建结构数组有两种方式可生成结构数组:一种是赋值语句,另一种使用struct函数。 使用赋值语句可以通过将数据赋给单独的字段来生成一个简单的结构数组。演示:=Wang Meng;student.ID=08;student.test=79 75 73 80;88 89 80 95student = name: Wang Meng ID:
33、8 test: 2x4 doublestudent是一个包含有3个字段的结构数组。要扩展该结构数组,在结构名后面添加索引号即可。演示:student(2).name=Zhang Lei;student(2).ID=10;student(2).test=68 77 68;69 65 71;82 61 98student = 1x2 struct array with fields: name ID test注1:一旦结构数组包含一个以上的元素,键入数组名时MATLAB就不显示单独的字段内容,而是显示结构包含的信息类别的一个综述列表。注2:不要求数组中每个元素的字段大小相同。在student结构中
34、,test字段可以是大小任意的数组。 使用struct函数可以用struct函数预分配一个结构数组。其基本形式为:str_array=struct(field1,val1,field2,val2,)演示:A=struct(type,big,little,color,red,x,3 4)A = 1x2 struct array with fields: type color x2.5.2 在结构数组中获取数据使用结构数组索引,能获取结构数组中的任何字段值或字段元素。相似地,可以给任何字段或字段单元赋值。在结构数组名后面添加索引范围,可以获取子数组。演示:A1=79 75 73 80;88 89
35、80 95;A2=68 77 68;69 65 71;82 61 98;student=struct(name,Wang Meng,Zhang Lei,ID,8,10,test,A1,A2)student = 1x2 struct array with fields: name ID testB=student(1).nameB =Wang Mengc=student(2).IDc = 10D=student(2).testD = 68 77 68 69 65 71 82 61 98E1=E1 = Wang Meng Zhang LeiE2=student.IDE2 =
36、 8 10E3=student(1:2).testE3 = 2x4 double 3x3 doublef=student(2).test(:,2,3)f = 77 68 65 71 61 982.5.3 结构数组的大小使用size函数可以获取结构数组或任何结构字段的大小。2.5.4 操作字段 通过给单一结构添加字段来给数组中的每个结构添加一个字段。如:student(1).gender=男student =1x2 struct array with fields: name ID test gender 现在student(1).gender具有指定的值,数组中的其他结构也有gender字段,
37、但这些字段在给它们赋值以前包含空矩阵。可以用rmfield函数从结构数据中的每个结构中删除给定的字段。如:students=rmfield(student,gender)students = 1x2 struct array with fields: name ID test2.5.5 结构嵌套一个结构字段能包含另一个结构,甚至一个结构数组,一旦创建了结构,就可以使用struct函数或赋值语句在已经存在的结构中嵌套结构。 用struct函数创建嵌套结构演示:A=struct(data,1 2;3 4,nest,struct(num,Test1,xdata,1 2 8,ydata,7 1 8)A
38、 = data: 2x2 double nest: 1x1 struct 通过赋值语句生成嵌套的结构演示:A(2).data=2 5 8;3 6 9;A(2). nest. num=Test2;A(2). nest. xdata=1 2 6;A(2). nest. ydata=9 1 8A = 1x2 struct array with fields: data nest 索引嵌套的结构演示:A(1).nest%获取A(1)的嵌套结构nestA(2).nest.xdata%获取A(2)嵌套结构的xdata字段A(1).nest.ydata(2)%获取A(1)嵌套结构的ydata字段的第二个元素。2.6 单元数组单元数组是一种特殊的数组,这种数组的元素是单元,能包含其它MATLAB数组。例如,某个单元数组的第一个单元为一个实型矩阵,第二个单元为字符串数组,第三个单元为由复数构成
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年房屋建筑分包合同
- 2024年建筑砂浆紧急采购合同
- 2024年技术服务抵偿合同
- 2024年技术咨询合同样式
- 2024年式鸡场养殖合同
- 2024年式电动摩托车租赁合同
- 2024年技术人才租赁合同
- 2024年美容、护肤、护发产品项目综合评估报告
- 2024年度三人合作协议(电商领域)
- 2024年轮胎动平衡试验机项目评估分析报告
- 【工商企业管理专业实操实训报告2600字(论文)】
- HJ 636-2012 水质 总氮的测定 碱性过硫酸钾消解紫外分光光度法
- 主播薪资核算方案
- 机电仪运维中心巡检工作提升方案
- 10以内口算题每页50道
- 大学生职业生涯规划与就业指导(高校学生学习职业生涯规划与就业指导课程)全套教学课件
- 《道德与法治》三年级学情分析
- 校园禁烟承诺书(12篇)
- 国家开放大学《计算机网络》课程实验报告实验六-计算机网络综合性实-
- 学校教育统计工作计划方案
- 售后服务方案及运维方案
评论
0/150
提交评论