常用的矩阵数据处理命令(Matlab)

resp = fig2plotly()


%把m列1行的矩阵A复制成m列n行

A=repmat(A,n,1);


%自带函数绘制ROC曲线,a为1*n表示样本实际标签,b为1*n表示样本预测为1的概率

plotroc(a,b)


%把m行n列的矩阵转为mn *1 的向量

B = A(:);


%把向量A转换为3维的n*n*n向量

B= reshape(A,n,n,n);


%提取出矩阵A的所有行,1,2,3列

S = [1,2,3];

A = A(:,s);


%将A,B的行合并成X1,列合并成X2

X1 = [A;B];

X2 = [A,B];


%把矩阵所有非0元素置1,把矩阵大于0元素置1

A(A~=0) = 1;

B(A>0) = 1;


%找出矩阵中非0元素的位置

B = find(A~=0); %顺序为第一列为前n,第二列为n+1 ~ 2n

[B,C] = find(A~=0); % B为行,C为列


%判断每列元素是否均为0,返回1*n logical (满足返回1,不满足返回0)

B = all(A == 0,1);

%判断每行元素是否均为0,返回n*1 logical

B = all(A == 0,2);


%去掉矩阵中元素全为0的列

A(:,all(A == 0,1)) = [];


%计算标准偏差。第一个为计算标准偏差,第二个若flag=0同第一个,若flag=1计算总体标准偏差(除以n,有偏的)

S = std(X);

S = std(X,flag);


%根据第n列的值对所有行降序排列。升序排列为(+n)。

B = SORTROWS(A,-n);


%一般线性拟合,用A拟合B,例如A为age,B为数值。其中C为在Y轴上的截距,C(2,1)为斜率(系数)

% B = A*C(2,1) + C(1,1) + E(残差)

[C,D] = glmfit(A,B,'normal');


%多重线性回归,C(1,1)对应截距,C(2,1)对应第1个自变量系数,C(2,1)对应第2个自变量系数

X = [ones(n,1) x1' x2'];

C = regress(Y,X);



%找出矩阵A中极大值; 找出矩阵A中每列的极大值

B = max(max(A));

B = max(A);

%找出矩阵极大值的坐标

[x,y] = find(A == max(max(A)));


%移动当前文件夹中的文件并重新命名
movefile('xxx','yyy');

%复制当前文件夹中的文件并重新命名

copyfile('xxx','yyy');


%删除当前文件夹中的一个文件

delete(‘’filename.nii’);
%删除一类文件

delete('*.后缀');



%统计一个矩阵中包含的元素值和频率

A = tabulate(A(:));


%取整

fix(A); %舍小数取整

round(A); %四舍五入取整

floor(A); %取小于A的最大整数

ceil(A);  %取大于A的最小整数


%等间隔采样。从第一个元素开始,每隔n-1个元素保存一个。

y = downsample(x,n)


%统计矩阵中包含的值以及出现频次

y = tabulate(x(:))


subplot(x,y,1)

A = matrix; imagesc(A); colorbar; colormap grey %生成矩阵图像,每个值对应不同的颜色,colorbar生成每个值对应颜色标注,最后选择灰度图


legend('xx','yy') %图像右上角标注线条和名称,e.g. 第一个线条为xx,

pinv(A) %A的逆矩阵



猜你喜欢

转载自blog.csdn.net/mmm305658979/article/details/73699483
今日推荐