1 数组的建立和操作
1 clear all; 2 %空数组 3 A=[] 4 %行向量 5 B=[1 2 3 4 5] 6 %行向量 7 C=[1,2,3,4,5] 8 %列向量 9 D=[1;2;3;4;5] 10 %转置 11 E=C'
1 clear all; 2 A=[1 2 3 4 5] 3 b1=A(3) %数组的第3个元素 4 b2=A(2:4) %数组的第2:4个元素 5 b3=A(3:end) %数组的第3个到最后一个元素 6 b4=A(3:-1:1) %数组的第3个、第2个和第1个元素 7 b5=A(end:-1:1) %数组元素反序输出 8 b6=A([2 4]) %数组的第2和第4个元素
1 clear all; 2 %从2依次到6 3 A=2:6 4 %每次递增2 5 B=2.5:2:10.9 6 C=2.3:2:9.9 7 %每次递增-2 8 D=8:-2:1 9 E=2:-2:6
1.1 建立二维数组
1 clear all; 2 A=[1 2 3;2 3 4;5,6,7] 3 B=[1:3;4:6;7:1:9] 4 %横着连接 5 C=[A B] 6 %竖着连接 7 D=[A;B]
1.2 两点之间产生线性矢量
1 clear all; 2 %计算两点之间的线性矢量,产生20个 3 A=linspace(1,10,20) 4 B=linspace(2,8,10) 5 C=linspace(2,7,2) 6 D=linspace(2,7,1)
1.3 生成从10的a次方到10的b次方之间按对数等分的n个元素的行向量。
1 clear all; 2 format short; 3 A=logspace(1,2,10) 4 B=logspace(0,2,10) 5 C=logspace(2,7,2) 6 D=logspace(2,7,1)
2 数组的算术运算
2.1 数组的乘法
1 clear all; 2 A=[1 2 3 4 5] 3 B=[0 1 3 5 2] 4 C=A-B 5 D=A+B 6 E=A+100 7 X=[3 4 5 6] 8 A-X %出错
1 clear all; 2 A=[1 2 3 4 5] 3 B=[0 1 3 5 2] 4 C=A.*B %对应元素相乘 5 D=A*3 %每个元素都乘以3
2.2 数组的除法
1 clear all; 2 A=[1 2 3 4 5] 3 B=[0 1 3 5 2] 4 C=A./B%对应每一个元素相除 5 D=A./3%每一个元素都除以3
3 数组的关系运算
1 clear all; 2 A=[11 10 13 4 5] 3 B=[3 15 21 6 5] 4 %数组进行比较 5 C=A<=10 6 D=A>10 7 E=A>B 8 F=A==B
1 clear all; 2 A=[11 10 13 4 5] 3 B=[3 15 21 6 5] 4 A(A>10)=10 5 B(B==5)=100
4 数组的逻辑运算
1 clear all; 2 A=[11 0 0 1 5] 3 B=[3 15 0 0.5 5] 4 C=A&B 5 D=A|B 6 E=~A
5 数组信息的获取
1 clear all; 2 A=[11 0 0 1 5] 3 %是否为空 4 f1=isempty(A) 5 %是否为单个元素的标量 6 f2=isscalar(A) 7 %检测数组是否为行向量或列向量 8 f3=isvector(A) 9 %检测数组是否为稀疏矩阵 10 f4=issparse(A)
1 clear all; 2 A=[11 0 0 1 5] 3 %获取数组的大小(行列) 4 d=size(A) 5 %m为行,n为列 6 [m,n]=size(A) 7 %A的长度 8 length(A)
1 clear all; 2 A=[11 0 0 1 5] 3 %获取维度 4 n1=ndims(A) 5 a=5; 6 %获取标量a的维度(标量看成一行一列的数组) 7 n2=ndims(a)
1 clear all; 2 A=[11 0 0 1 5] 3 B=A>5 4 %判断是否是数值型 5 f1=isnumeric(A) 6 %是否为实数型 7 f2=isreal(A) 8 %是否为整型 9 f3=isinteger(A) 10 %是否是逻辑型 11 f4=islogical(B)
1 clear all; 2 A=[11 0 0 1 5] 3 B=A>0 4 C=['a' 'b' 'c'] 5 %获取内存占用情况 6 whos
1 clear all; 2 A=[10 9 6 1 5] 3 %发现A中大于5的元素下标 4 find(A>5) 5 %A中等于5的 6 find(A==5) 7 %把A>5的都加100 8 A(find(A>5))=A(find(A>5))+100 9 %修改为200 10 A(A==5)=200
1 clear all; 2 A=[10 9 6 1 5] 3 %排序 4 B=sort(A) 5 %升序排列 6 %C是排序后的数组,I是排序后的数组元素在原来数组中对应的位置 7 [C,I]=sort(A,'ascend') 8 %降序排列 9 D=sort(A,'descend')