我要加入 登录
声振论坛 返回首页

penghust的个人空间 http://home.vibunion.com/?46190 [收藏] [复制] [分享] [RSS]

日志

[转帖]在matlab中对矩阵的值按某一列排序

热度 1已有 592 次阅读2009-3-30 20:04 |个人分类:Matlab|

% use : 在matlab中对矩阵的值按某一列排序。Made by jdg@hit
% parameters: matrix_sort(a,row,dim,mode)
%a :是 矩阵。 row :是第几行,或者 第几列,按这个进行排序。
%dim:dimension along ,指定row参数的意义,1 是代表列 ,2 是代表 行
% mode : 'ascend' 升序, 'descend' 降序。
% example: matrix_sort(a,1,1,'ascend')

% nargin 输入参数个数。nargout 输出参数个数。
% 输入参数用 varargin{1} ,varargin{2} 。输出参数用 varargout{1} = 或者 varargout(1) = { 结果 };

function [varargout]= matrix_sort(varargin)
if nargin < 2 | nargin > 4
varargout(1)={'miss parameters!'};
return;
elseif nargin==2
varargin{3}=1;
varargin{4}='ascend';
elseif nargin==3
varargin{4}='ascend';
end

a=varargin{1};
if varargin{3}==1
[temp,index] = sort(a(:,varargin{2}),varargin{3},varargin{4});
result(:,:) = a(index,:);
elseif varargin{3}==2
[temp,index] = sort(a(varargin{2},:),varargin{3},varargin{4});
result(:,:) = a(:,index);
else
varargout(1)={'The third parameter may be wrong !'};
return;
end
varargout{1} = result(:,:);

发表评论 评论 (2 个评论)

回复 ChaChing 2011-8-21 00:44
help sortrows
回复 penghust 2011-8-26 22:07
ChaChing,谢了。

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 我要加入

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-16 01:30 , Processed in 0.045581 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部