MATLAB 方便而又意想不到的函数

    xiaoxiao2022-07-07  154

    sort

    sort(A,dim)

    对 A 中元素按一定顺序进行排列,默认 dim = 1,对每一列排序。注意 sort 会对每一列的数据进行排序,会破坏同一行之间的对应关系

    [B,I] = sort(A,dim)

    返回的 B 为对应排序后的矩阵,返回的矩阵 I 的第 i 行表示排序后的第 i 行是原矩阵 A 的第 I(i) 行。要对矩阵 A 根据第一列排序,应用如下代码进行: A = [1 5 6;5 9 4;3 5 7;6 8 2]; [B,I] = sort(A(:,1)); C = zeros(4,3); for i = 1:4 C(i,:) = A(I(i),:); end disp(A); disp(C);

    find

    k = find(X,n)

    返回矩阵 X 中前 n 个非零元素的索引若省去 n 则返回所有非零元素索引若要查询等于 a 的位置,可以用 X == a 表示,同样查询小于 a 的位置可以用 X < a 表示

    [row, col] = find(X,n)

    返回矩阵 X 中满足要求的横坐标和纵坐标

    如果仅仅要得到矩阵中满足要求的元素,可以用以下的逻辑形式改善性能

    clear A = [1 5 6;5 9 4;3 5 7;6 8 2]; L = A <= 4 B = A(A <= 4) C = A.*(A <= 4)

    gscatter

    gscatter(x,y,g,color,marker,size)

    以 x 为x轴,y 为y轴,根据 g 的对应分类情况作散点图g 必须和 x、y相同维度,可以是数字表示,也可以是分类变量color 表示颜色,marker 是符号,size 是大小 load discrim gscatter(ratings(:,1),ratings(:,2),group,'br','xo') xlabel('climate') ylabel('housing')
    最新回复(0)