1、(1)用空格或逗号间隔一维数组元素,然后用方括号括起来即可构建一维数组(行向量)。(2)利用MATLAB提供的冒号运算符(first:step:last)格式可以生成一维数组(行向量)。Step1时可以省略,即为(first:step)格式5.练习在MATLAB中构造二维数组(矩阵)的方法。6.练习在MATLAB中如何获取矩阵的元素。演示:A=magic(4)%生成一个4阶幻方阵A = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1b1=A(4,3)b1 = 15b2=A(12)b2 =b3=A(1,end)b3 = 13b4=A(end)b4 = 1b5=A(e
2、nd,3)b5 =Linearindex=sub2ind(size(A),4,2) %获取线性索引值Linearindex = 8row,col=ind2sub(size(A),12) %获取行列索引值row = 4col = 3B1=A(2,:)B1 =B2=A(:,3)B2 = 10 6B3=A(:B3 = 16 5 9 2 11 7 14 12C1=A(2:4,:C1 =C2=A(2:4,1 2 4)C2 = 5 11 8 9 7 12 4 14 17.练习在MATLAB中如何获取与矩阵有关的信息。8.练习在MATLAB中如何创建字符串。A=China;whos A Name Size
3、Bytes Class A 1x5 10 char array 可见,A是一个1行5列的字符数组。class(A)%测试A的数据类型ans =charischar(A)%测试A是否为字符串数据类型9.练习在MATLAB中如何创建二维字符串。10.练习在MATLAB中数据类型的转换。11.比较字符串在命令窗口中键入: str1=hello;str2=help;strcmp(str1,str2)解释运行结果:因为str1和str2不相等,所以调用strcmp函数时返回0(false)。Strcmp(str1,str2,3)运行结果因为str1和str2前三个字母相等,所以调用strcmp函数时返回
4、1(true)。strcmp(str1,str2,4)运行结果:因为str1和str2前四个字母不相等,所以调用strcmp函数时返回0(false)。A=hello;pen;rule;B=help; pen; pencilbox;Strncmp(A,B)A和B的第一组元素hello和help不相等,所以调用strcmp函数时返回0(false);其第二组元素都是pen,相等,所以调用strcmp函数时返回1(true);A和B的第三组元素rule和pencilbox不相等,所以调用strcmp函数时返回0(false)。Strncmp(A,B,3)12.练习使用MATLAB的关系运算符(,=
5、,=B 1 1 0 1B 1 0 0 013.练习聚合字符串。演示1for n=1:6 An=a,int2str(n);endAA = a1a2a3a4a5a6演示2:for m=1:8 Bm= sprintf (B%d,m);B = B1B2B3B4B5B6B7B8演示3:i=2;j=5;k=8;A=sprintf (i=%d,j=%d,k=%d.,i,j,k)i=2,j=5,k=8.用strcat函数也可以把两个或更多字符串合在一起。m=2010;A1=A2=XuZhouC=strcat(A1,A2,int2str(m)C =China,XuZhou,201014.练习在MATLAB中如何
6、生成多维数组。用索引生成多维数组创建多维数组的方法之一是先创建一个二维数组,然后扩展它。A=1 2 3;4 5 6;7 8 9;A(:,:,2)=1 0 4;3 5 6;9 8 7;,3)=8;,1) = 1 2 3 4 5 6 7 8 9,2) = 1 0 4 3 5 6 9 8 7,3) = 8 8 8这就得到了一个3维数组A,再把A扩展成一个的4维数组:,1,2)=1 2 3;1 2 3;1 2 3;,2,2)=9 8 7;6 5 4;3 2 1;,3,2)=1 0 1;0 1 0;0 1 1; 用MATLAB函数生成多维数组用randn,ones和zeros函数等生成多维数组。A=ra
7、ndn(4,3,2)%创建一个标准正态分布随机数的3维数组。用repmat函数生成一个元素均为同一常数的数组。B=repmat(8,3 4 2) 用cat函数生成多维数组cat函数是创建多维数组的一种简单方式,它按指定的维数将多个数组聚合在一起,其调用格式为: B=cat(dim,A1,A2,)其中A1,A2等是进行聚合的数组,dim是维数。A=cat(3,1 2;3 4,1 3;5 7) 1 2 3 4 1 3 5 7B=cat(3,5 6;7 8,2 4;6 8);D=cat(4,A,B,cat(3,1 9;9 1,1 8;8 1)15.练习在MATLAB中如何创建结构数组。 使用赋值语句
8、可以通过将数据赋给单独的字段来生成一个简单的结构数组。student.name=Wang Mengstudent.ID=08;student.test=79 75 73 80;88 89 80 95student = name: ID: test: 2x4 doublestudent是一个包含有3个字段的结构数组。要扩展该结构数组,在结构名后面添加索引号即可。student(2).name=Zhang Leistudent(2).ID=10;student(2).test=68 77 68;69 65 71;82 61 981x2 struct array with fields: name
9、ID test注1:一旦结构数组包含一个以上的元素,键入数组名时MATLAB就不显示单独的字段内容,而是显示结构包含的信息类别的一个综述列表。注2:不要求数组中每个元素的字段大小相同。在student结构中,test字段可以是大小任意的数组。 使用struct函数可以用struct函数预分配一个结构数组。其基本形式为:str_array=struct(field1,val1,field2,val2,)A=struct(type,biglittle,colorredx,3 4) type color x16.练习在结构数组中如何获取数据。A1=79 75 73 80;88 89 80 95;A2
10、=68 77 68;82 61 98;student=struct(nameID,8,10,test,A1,A2)B=student(1).nameB =Wang Mengc=student(2).IDc =D=student(2).testD = 68 77 68 69 65 71 82 61 98E1=student.nameE1 = E2=student.IDE2 = 8 10E3=student(1:2).testE3 = 2x4 double 3x3 doublef=student(2).test(:,2,3)f = 77 68 65 71 61 9817.练习使用size函数获取结
11、构数组或任何结构字段的大小。A=1 2;3 4;5 6 size(A) 5 618.练习在MATLAB中如何创建单元数组单元索引:按标准数组方式把单元索引号放到小括号中间,把单元的内容放在赋值语句的右端,用大括号括起来。A=;A(1,1)=1 2 3;7 8 9;A(1,2)=Liu zhong;A(2,1)=3+7i;A(2,2)=-pi:pi/10:pi; 3x3 double 3.0000+ 7.0000i 1x21 double内容索引:以标准数组标注方式把单元索引号以大括号括起来放在左侧,在赋值语句的右侧指定单元内容。A1,1=1 2 3;A1,2=A2,1=3+7i;A2,2=-pi:pi;19.练习在MATLAB中如何从单元数组中获取数据用内容索引获取单元内容B=A1,2Liu zhongwhos B B 1x9 18 char array用单元索引获取单元子集C=A(1,2)C = whos C C 1x1 78 cell array20.练习在MATLAB中如何删除单元和重塑单元数组A(2)=% 删除单元 1x21 double与其它数组一样,可用reshape函数重塑单元数组。单元个数必须与重塑以后的相同,不能使用reshape函数添加或删除单元。A=cell(3,4);size(A)B=reshape(A,6,2);size(B) 6 2
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1