matlab+矩阵按第一列排序
作者&投稿:穰雯 (若有异议请与网页底部的电邮联系)
庾苏15931838992问: matlab怎样对矩阵按照第一行进行排序 - ?
余江县急肝回答: 比如对矩阵a的每一行进行排列,排列的指标是第一列数的大小.那么从小到大进行排列:[~,i]=sort(a(:,1)); a=a(i,:);这样就把a的每一行重新排列了一下(按照第一列从小到大). 如果要从大到小,那么也很简单. [~,i]=sort(-a(:,1)); a=a(i,:);
庾苏15931838992问: 在matlab中,如何实现将一个矩阵按行或列进行随机的重新排序? - ?
余江县急肝回答:[答案] 假设行数或列数为n vector = randperm(n); vector是从1到n的整数随机排列的向量 按照vector里各个元素的值重新排列行列向量就可以了 假设待排列矩阵为M,排列后的矩阵为A 按列随机排列 A = zeros(size(M)); for i=1:n A(:,i)=M(:,vector(i)); end
庾苏15931838992问: matlab 中,怎么让一个矩阵按某一列排列,且行也跟着变动? - ?
余江县急肝回答: 可以使用sortrows函数:sortrows(A,k) 将矩阵A按第k列排序,每一行跟着变动.升序排列: [~,I]=sort(A(:,5));%假如对第5列进行升序排列,A=A(I,:);%这样排列就完成了.MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵...
庾苏15931838992问: matlab中sort的函数怎么实现像excel中使一个MXN的矩阵按照第一列排序,然后其他列跟着变化? - ?
余江县急肝回答: a=rand(100,100); tic [b,pos]=sort(a(:,1)); aa=a(pos,:); toc tic A=sortrows(a,1); toc det(aa-A) 前面的算法时间要短,效果是一样的 Elapsed time is 0.000110 seconds.Elapsed time is 0.000259 seconds.ans = 0 用个小矩阵检测下 a=magic(5); tic [b,...
庾苏15931838992问: 怎么提取matlab中多个矩阵的第一列并单独进行编号或者排序都可以? - ?
余江县急肝回答: 两种方法: 1,将所有要删除的行标顺序排列成向量V,然后用命令 "矩阵变量名"(V,:)=[];%可删除与"矩阵变量名"对应的矩阵中的指定行(通过V指定),并改变原矩阵维数 2,将所有要保留的行标顺序排列成向量V,然后用命令 "矩阵变量名"="矩阵变量名"(V,:);%即将与"矩阵变量名"对应的矩阵中的指定行(通过V指定)重新赋给该变量 删除列类似.
庾苏15931838992问: matlab中怎么对矩阵的行进行排序 - ?
余江县急肝回答: A = randint(20,12);a = A(5:10,:);b = sortrows(a);A(5:10,:) = b;
庾苏15931838992问: matlab中,我现在有M行N列的矩阵,想按照第1列的数据的大小进行排序,如果第一列中有数值相同的,则对应几 - ?
余江县急肝回答: A=randi(3,6,8) %生成测试数据 [m,n]=size(A); X=sortrows(A,1); Y=[]; i=1; while i v=find(X(:,1)==X(i,1)); Y=[Y;mean(X(v,:),1)]; i=v(end)+1; end%Y就是你想要的结果
庾苏15931838992问: matlab 矩阵元素按列储存A(3) - ?
余江县急肝回答: 1.直接输入法最简单的建立矩阵的方法是从键盘直接输入矩阵的元素.具体方法如下:将矩阵的元素用方括号括起来,按 矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分隔,不同行的元素之间用分号分隔.2.利用M文件建立矩...
庾苏15931838992问: 关于matlab排序 - ?
余江县急肝回答: 很简单啊,把整数和字符串设为两列的矩阵,然后先对第一列矩阵(就是整数)进行排序,排序时把排序得到的索引(就是排序后得到的矩阵某元素对应该元素在原矩阵的下标),利用索引就可以把字符串按照索引进行排列,然后就得到你想要...
庾苏15931838992问: 如何用 matlab对矩阵中的元素进行排序 - ?
余江县急肝回答: 例如:>> A=magic(5) A = 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9>> sort(A) ans = 4 5 1 2 3 10 6 7 8 9 11 12 13 14 15 17 18 19 20 16 23 24 25 21 22>> [B,ind]=sort(A) B = 4 5 1 2 3 10 6 7 8 9 11 12 13 14 15 17 18 19 20 16 23 24 25 21 22 ind = 3 2 1 5 4 4 3 2 1 5 5 4 3 2 1 1 5 4 3 2 2 1 5 4 3