matlab 利用sort排序后,如何取得排序后每个元素在原来矩阵中的行下标和列下标?

因为我需要对矩阵中的所有元素进行排序,而不是所有列,我使用了[a,b]=sort(pv3(:),'descend');这样的方法,可是得到的b不是既有行下表又有列下标的,... 因为我需要对矩阵中的所有元素进行排序,而不是所有列,我使用了 [a,b]=sort(pv3(:),'descend');这样的方法,可是得到的b不是既有行下表又有列下标的,该怎么办? 展开
 我来答
lzjsbnd
2018-04-05 · TA获得超过7065个赞
知道小有建树答主
回答量:35
采纳率:100%
帮助的人:5500
展开全部

如:

[a,b]=sort(pv3(:),'descend');

[r,c]=ind2sub(size(pv3),b);

r,c就是a中元素在排序前的行列下标。

MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。

MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。

我行我素850915
推荐于2017-11-22 · TA获得超过8241个赞
知道大有可为答主
回答量:5788
采纳率:77%
帮助的人:1723万
展开全部
你用的语法句式是对的,但b不是行列下标,而是线性下标,可进行转换,如:
[a,b]=sort(pv3(:),'descend');

[r,c]=ind2sub(size(pv3),b);
r,c就是a中元素在排序前的行列下标。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式