一、xlsread是读取excel文件的函数
格式:num = xlsread(filename)
例如: xlsread('相互作用关系.xls');这个相互作用关系.xls文件存在当前的MATLAB文件夹路径下。
num = xlsread(filename, sheet);%选择所在的sheet,比如说'sheet1'。
num=xlsread(filename,-1);%表示用户可以用鼠标来选择
num=xlsread(filename,range);例如range='A1,A8',会返回一定范围的数据
num=xlsread(filename,sheet,range);%同时对表和范围的限制
[num,text]=xlsread(filename);%把数据和文本分开
[num,text,raw]=xlsread(filename);%把num,text保存在row形成一个单一的变量中
二、A(:)相当于全部转成列
A = rand(2,3);
>> A=rand(2,3)
A =
0.8147 0.1270 0.6324
0.9058 0.9134 0.0975
>> B=A(:)
B =
0.8147
0.9058
0.1270
0.9134
0.6324
0.0975
三、unique()
unique从表面意思上就可以知道是独一无二的意思
1、b = unique(A) 返回的是和A中一样的值,但是没有重复元素。产生的结果向量按升序排序。A可以是一个字符串的单元阵列。
A=ones(3)
A =
1 1 1
1 1 1
1 1 1
>> b=unique(A)
b =
1
2、b = unique(A,'rows') 返回的是A中的唯一的行数。
3、[b,m,n] = unique(...) 也返回索引向量m和n,使得B = A(M)和A= B(N)。m的每一个元素是最大的下标,使得B = A(M)。对于行的组合,B = A(M,:)和A= B(N,:)。
四、ismember
1、ismember(a,b);//判断矩阵的a的元素是否存在b中
例如:
a=[1 2 3 4 5 ];
b=[2 3 4 5 6 ];
>> ismember(a,b)
ans =
1×5 logical 数组
0 1 1 1 1
2、[la,lc]=ismember(a,b);//其中la为表示a的元素是否存在b中,lc表示表示存在的位置
例如:
a=[1 2 3 4 5 ];
b=[2 3 4 5 6 ];
[la,lc]=ismember(a,b)
la =
1×5 logical 数组
0 1 1 1 1
lc =
0 1 2 3 4
五、sum函数
对于sum函数就是相应的求和的功能
1 、对于单个向量进行处理
如果需要处理的数据是单个向量的话,就是把向量的每一个元素相加求和
a=[1 2 3 4 5];
>> sum(a)
ans =
15
2、对于矩阵处理
sum(x(:));%是对于矩阵x进行整体求和(就是把所有元素累加)
x=[1 2 3;4 5 6;7 8 9]
x =
1 2 3
4 5 6
7 8 9
>> sum(x(:))
ans =
45
b=sum(x,dim);当dim为1时对矩阵x进行列求和,返回一个行向量,当dim为2时对矩阵x进行行求和,返回一个列向量)
b=sum(x,1);%就是对列进行求和,返回的结果是一个行向量
x=[1 2 3;4 5 6;7 8 9]
x =
1 2 3
4 5 6
7 8 9
b=sum(x,1)
b =
12 15 18
b=sum(x,2);对于行进行求和(就是一行的所有的元素加起来得到一个数,然后把所有的元素组合成一个列向量)
x=[1 2 3;4 5 6;7 8 9]
x =
1 2 3
4 5 6
7 8 9
b=sum(x,2)
b =
6
15
24
b=sum(x,type);%可以将输入数据与输出数据的类型进行统一
b=sum(x,'native')
x=[1 2 3 ;4 5 6 ;7 8 9];
>> whos
Name Size Bytes Class Attributes
x 3x3 72 double
>> x=int8(x);
>> b=sum(x,'native')
b =
1×3 int8 行向量
12 15 18
>> whos
Name Size Bytes Class Attributes
b 1x3 3 int8
x 3x3 9 int8
b=sum(x(1:2),1);%对矩阵x进行前两行相加求和,返回一个行向量
x=[1 2 3;4 5 6;7 8 9];
>> b=sum(x(1:2,:),1)
b =
5 7 9
b=sum(x(:,1:2),2);%对矩阵x进行前两列求和,返回一个列向量
b=sum(x(:,1:2),2)
b =
3
9
15
b=sum(diag(x));%对矩阵x进行对角线求和
x
x =
1 2 3
4 5 6
7 8 9
>> b=sum(diag(x))
b =
15