学习目标:
- 每天学习matlab中各种函数的使用方法
学习内容:
strcmp(str1,str2) %比较两个字符串是否相等
%%若字符串一和字符串二相等,则返回1, 否则返回0;即,strcmp是个逻辑表达式。
>> strcmp('no','yes')
ans =
logical
0
>> strcmp('yes','yes')
ans =
logical
1
C=intersect(A,B) %求两个向量的交集,默认是对数据进行排序
[C,ia,ib]=intersect(A,B)
%查找
A
与B
以及索引向量ia
与ib
的共有值,使得C = A(ia)
并且C = B(ib)
>> A = [7 1 7 7 4];
>> B = [7 0 4 4 0];
>> C = intersect(A,B)
C =
4 7
>> [C,ia,ib] = intersect(A,B)
C =
4 7
ia =
5
1
ib =
3
1
ind2vec %将标签转化为one-hot独热编码向量
vec2ind %向量变索引,将一个稀疏矩阵变成索引位置的向量
>> a=[1,2,1,2,3,1,3]; %标签需要是行向量,不能是列向量,且不能有非正数
>> b=ind2vec(a) %将ind标签转换成vec稀疏编码
b =
(1,1) 1
(2,2) 1
(1,3) 1
(2,4) 1
(3,5) 1
(1,6) 1
(3,7) 1
>> c=full(ind2vec(a)) %再由full()转换成OneHotEncoding
c =
1 0 1 0 0 1 0
0 1 0 1 0 0 0
0 0 0 0 1 0 1
>> d=vec2ind(c) %将热编码转换成标签
d =
1 2 1 2 3 1 3
C=xor(A,B) %“异或”——数组之间的逻辑判断
>> A = [1,0]; %行向量
>> B = [0,1]; %行向量
>> C=xor(A,B)
C =
1×2 logical 数组
1 1
>> A = [true false]; %行向量
>> B = [true; false]; %列向量
>> C=xor(A,B)
C =
2×2 logical 数组
0 1
1 0