本文转载自多个地方,暂列为原创,仅用作个人学习,如原创作者有意见,请见谅并联系我。
1.矩阵拼接
水平拼接
A=A[A A];或者A=A[A,A];或者 horzcat (A,A)
竖直拼接
A=A[A;A]或者vertcat(A,A)
repmat 通过对现有矩阵进行复制和粘贴操作生成新的矩阵
blkdiag 现有矩阵构造对角矩阵
2.强制类型转换
A=double(A);
3.以第n列排序,其他行跟着动,特别的,sortrows(A),以第一列排序,其他的也跟着变,但也排序
sortrows(A,n)
4.返回矩阵a中b的序号
find(a=b)
5.求平均值
返回行平均值
mean(A)
返回列平均值
mean(A,2)
矩阵所有元素的平均值 mean(A(:))
6。余弦相似度
dot(a,b)/(norm(a*norm(b))
7.海明距离
pdist([a;b],'cityblock');
8.归一化
A=(A-mean(A(:)))/std(A(:));
9.b为a中不等于0的个数
b=(a~=0);
b=sum(bbb(:));
10.a = sum(A>4); % 统计矩阵A中值大于4的元素的个数
11.矩阵翻转
左右翻转:fliplr(x)
上下翻转:flipud(x)
旋转九十度:rot90(x)
上下翻转:flipud(x)
旋转九十度:rot90(x)
12.去除掉矩阵中为零的数
a(find(a==0))=[];
13.删除矩阵中全为0或者全为1的行
I = all(A,2) | all(~A, 2);
A(I,:)=[]
14.随机打乱矩阵的行或者列
随机打乱矩阵的各行:
r=randperm( size(A,1) ); %生成关于行数的随机排列行数序列
B=A(r, :); %根据这个序列对A进行重新排序
随机打乱矩阵的各列:
r=randperm( size(A,2) ); %生成关于列数的随机排列列数序列
B=A(:, r); %根据这个序列对A进行重新排序
15. MATLAB发声函数,我一般用来提示程序结束。
%鸟声 load chirp sound(y,Fs)
%锣声 load gong sound(y,Fs)
%哈里路亚 load handel sound(y,Fs)
%笑声 load laughter sound(y,Fs)
%啪哒声 load splat sound(y,Fs)
%火车 load train sound(y,Fs)
16.矩阵复制填充
repmat( A , m , n ):将向量/矩阵在垂直方向复制m次,在水平方向复制n次。