Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >获取矩阵中的前四个最小值

获取矩阵中的前四个最小值
EN

Stack Overflow用户
提问于 2016-05-18 06:22:28
回答 4查看 74关注 0票数 0

我有一个矩阵:

代码语言:javascript
运行
AI代码解释
复制
X =
     0    81    13    15   100     2
    11     0     6    10   200     8
    19    22     0    20   300    23

我希望获得整个数组X中的前四个最小值,以及数组中每个值的索引。例如,我应该得到向量v = [2 6 8 10]X中每个值的索引。另外,当行号等于列号时,我想忽略零值。

我曾尝试使用minsort函数,但我不确定如何操作。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-05-18 07:35:48

我会提出以下建议

代码语言:javascript
运行
AI代码解释
复制
X2 = X;
X2(~~eye(size(X2))) = inf;  %// or X2(logical(eye(size(X2)))) = inf
[val, idx] = sort(X2(:));
result = val(1:4);
[idxRow, idxCol] = ind2sub(size(X), idx(1:4));
票数 2
EN

Stack Overflow用户

发布于 2016-05-18 06:28:48

使用:

代码语言:javascript
运行
AI代码解释
复制
vals = sort(X(~eye(size(X)))); %takes non diagonal values and sort the result
res = vals(1:4) %finds the first 4 elements (which are the smallest)
[row, col] = find(ismember(X,res)); %gets the indices

结果:

代码语言:javascript
运行
AI代码解释
复制
res =  [2; 6; 8; 10]

顺便说一句,如果你不想忽略所有对角线的值,只忽略零值,使用:

代码语言:javascript
运行
AI代码解释
复制
vals = sort(X(~eye(size(X)) | (eye(size(X)) & X~=0)));
票数 2
EN

Stack Overflow用户

发布于 2016-05-18 07:07:10

我只想补充一下drorco的完美答案,如何找到这第一个元素的索引:

代码语言:javascript
运行
AI代码解释
复制
indexes = arrayfun( @(a) find(X==a), res);

或者,如果您想获取行数和列数:

代码语言:javascript
运行
AI代码解释
复制
[r,c] = arrayfun( @(a) find(X==a), res);

另外,如果X中除零以外的所有元素都是唯一的,它就能完美地工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37291734

复制
相关文章
获取map对象中的最大最小值
遇到的问题是获取map中的最高成绩和最低成绩 xxx.entrySet() 这里放的你的map
崔笑颜
2020/06/08
6.1K0
js获取数组中的最大值最小值
遍历方法: var tmp = [1,12,8,5]; var max = tmp[0]; for(var i=1;i<tmp.length;i++){ if(max<tmp[i])max=tmp[i]; } console.log(max); 使用apply方法: var a = [1,2,3,5]; console.log(Math.max.apply(null, a));//最大值 console.log(Math.min.apply(null, a));//最小值 多维数组可以这
deepcc
2018/05/16
37.5K0
opengl视图矩阵_心形线四个图像
在学习之前,我们要开始配置Opengl,我这里使用的是VS2010,语言是C++。
全栈程序员站长
2022/11/03
4300
Javascript获取数组中的最大值和最小值的方法汇总
比较数组中数值的大小是比较常见的操作,下面同本文给大家分享四种放哪广发获取数组中最大值和最小值,对此感兴趣的朋友一起学习吧 比较数组中数值的大小是比较常见的操作,比较大小的方法有多种,比如可以使用自带的sort()函数,下面来介绍如下几种方法,代码如下: 方法一: //最小值 Array.prototype.min = function() { var min = this[0]; var len = this.length; for (var i = 1; i < len; i++){ if (this
前朝楚水
2018/04/02
8K0
【面试现场】如何实现可以获取最小值的栈?
题目:我现在需要实现一个栈,这个栈除了可以进行普通的push、pop操作以外,还可以进行getMin的操作,getMin方法被调用后,会返回当前栈的最小值,你会怎么做呢?你可以假设栈里面存的都是int整数。
乔戈里
2019/03/04
1.2K0
【面试现场】如何实现可以获取最小值的栈?
hive 获取数组的最大值和最小值
select exploded_column,XXXX.column2 from XXXX LATERAL VIEW explode(XXXX.column1) t1 as exploded_column
week
2022/01/07
5.2K0
WinCC 中如何获取在线 表格控件中数据的最大值 最小值和时间戳
1 <概述> 1.1 <目的> <读取 WinCC 在线表格控件中特定数据列的最大值、最小值和时间戳,并在外部对 象中显示。如图 1 所示。左侧在线表格控件中显示项目中归档变量的值,右侧静态 文本中显示的是表格控件中温度的最大值、最小值和相应的时间戳。
科控物联
2022/03/29
10.4K0
WinCC 中如何获取在线 表格控件中数据的最大值 最小值和时间戳
Java中获取一个数组的最大值和最小值
3,然后对数组进行遍历循环,若循环到的元素比最大值还要大,则将这个元素赋值给最大值;同理,若循环到的元素比最小值还要小,则将这个元素赋值给最小值;
程序员的时光001
2020/07/14
6.7K0
【面试现场】如何实现可以获取最小值的栈?
该公号有个「面试现场」的专题,感觉写的很不错,看了挺有收获,特地转载一篇过来给大伙,希望你们也能有所收获。如果喜欢的话,可以关注该公号呢----「互联网侦察」。这次绝不是商业互吹,哈哈。
帅地
2018/10/09
1.5K0
【面试现场】如何实现可以获取最小值的栈?
[剑指offer] 矩阵中的路径
请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则之后不能再次进入这个格子。 例如 a b c e s f c s a d e e 这样的3 X 4 矩阵中包含一条字符串”bcced”的路径,但是矩阵中不包含”abcb”路径,因为字符串的第一个字符b占据了矩阵中的第一行第二个格子之后,路径不能再次进入该格子。
尾尾部落
2018/09/04
1.5K0
矩阵中的路径
请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。 例如 a b c e s f c s a d e e 矩阵中包含一条字符串"bcced"的路径,但是矩阵中不包含"abcb"路径,因为字符串的第一个字符b占据了矩阵中的第一行第二个格子之后,路径不能再次进入该格子。
名字是乱打的
2021/12/22
1.2K0
python中矩阵的转置_[转]Python中的矩阵转置[通俗易懂]
arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]
全栈程序员站长
2022/09/03
3.7K0
js获取指定时间的前几秒
最近项目上有一个需求是:根据一张图片的拍摄时间获取到这个时间前二后三的一个五秒钟的视频信息,通过查找相关资料写了一个方法拿来记录分享一下。
寻找石头鱼
2019/09/11
5K0
机器学习中的矩阵向量求导(五) 矩阵对矩阵的求导
    在矩阵向量求导前4篇文章中,我们主要讨论了标量对向量矩阵的求导,以及向量对向量的求导。本文我们就讨论下之前没有涉及到的矩阵对矩阵的求导,还有矩阵对向量,向量对矩阵求导这几种形式的求导方法。
刘建平Pinard
2019/05/31
3.3K0
Java 查找 List 中的最大值、最小值Java 查找 List 中的最大值、最小值
Java 查找 List 中的最大值、最小值 java> List<Long> list = new ArrayList(); java.util.List<java.lang.Long> list = [] java> list.add(1L) java.lang.Boolean res1 = true java> list.add(2L) java.lang.Boolean res2 = true java> Collections.max(list) java.lang.Long res3 = 2 j
一个会写诗的程序员
2018/08/17
4.2K0
矩阵组合matlab,matlab中矩阵的所有组合[通俗易懂]
X = perms(1:N); % # Permuations of column indices
全栈程序员站长
2022/08/01
1.5K0
计算矩阵中全1子矩阵的个数
最近被我大哥安利了一道算法题, 这道题说难, 还不至于我做不出来, 说简单吧, 我还想不到最优解, 等把最优解告诉我之后, 我还正好能理解. 我甚至曾经怯怯的认为, 这题就是我哥专门给我找的, 嘿嘿, 心中说不出的小欢喜.
烟草的香味
2020/07/15
2.7K0
计算矩阵中全1子矩阵的个数
python中的矩阵运算
转自:https://www.cnblogs.com/chamie/p/4870078.html
py3study
2020/01/06
1K0
python中的矩阵运算
寻找矩阵中的路径
给定一个矩阵和一个字符串,如何从矩阵中寻找出这个字符串在矩阵中的路径?本文就跟大家分享下如何使用回溯法来解决这个问题,欢迎各位感兴趣的开发者阅读本文。
神奇的程序员
2022/04/10
1.2K0
寻找矩阵中的路径
Android中的Matrix(矩阵)
看这篇笔记之前先看一下参考文章,这篇笔记没有系统的讲述矩阵和代码的东西,参考文章写的也有错误的地方,要辨证的看。
全栈程序员站长
2022/09/06
1.8K0
Android中的Matrix(矩阵)

相似问题

求四个矩阵中对应元素的最小值

21

从矩阵返回前3个最小值及其索引

11

从url获取并追加前四个图像

40

前四个星期

11

在Server 2012中获取前四个逗号分隔的值

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档