我怎么找到最大(或最小)值的指数矩阵?

9.223视图(30天)
“找到”命令只返回的指数矩阵的非零元素。我想知道如何找到的指数最大(或最小)值。

接受的答案

MathWorks支万博1manbetx持团队
编辑:MathWorks支万博1manbetx持团队 2021年11月17日
“最小值”和“max”在MATLAB函数返回最小和最大的索引值,分别为一个可选的第二个输出参数。
例如,下面的代码生成一个行向量“M”,其中包含的每一列的最大值的‘一个’,这是3第一列和第二列4。此外,“我”是一个行向量包含行3和4的位置,这2和2,因为这两列的最大值躺在第二行。
= (1 - 2;3 4];
[M,我]= max ()
更多信息在“最小值”和“max”功能,查看文档页下面列出:
找到所有位置的指标最大值(整个矩阵)出现时,您可以使用“查找”功能。
最大= max (max ());
(x, y) =找到(= =最大)
4评论
塞吉奥诺维初级
塞吉奥诺维初级 2020年6月5日
奥斯卡,这取决于您的应用程序。例如,假设你正在寻找一辆车最高的最终速度。你发现有两辆车,有最好的结果。你可以选择最低价格的汽车。

登录置评。

更多的答案(12)

Shakir Kapra
Shakir Kapra 2015年4月20日
编辑:Shakir Kapra 2015年4月20日
[M,我]= min ()
在哪里M -是最小值
我——是索引的最小值
类似的它适用于马克斯


安德鲁•特谢拉
安德鲁•特谢拉 2019年10月1日
只是如何:
一个=魔法(5);
[阿明,idx] = min (A);
[阿明,Aj] = min (Amin);
Ai = idx (Aj);
你最终矩阵最小值位于(Ai, Aj)

Juanith霍奇金淋巴瘤
Juanith霍奇金淋巴瘤 2019年10月8日
一个= [8 2 4;7 3 9)
[M,我]= max((:)) %我这里的指数最大值是你可以改变函数最大值或最小值
[I_row, I_col] = ind2sub(大小(A), I) % I_row行索引和I_col是列索引
3评论
史蒂文的主
史蒂文的主 2022年8月18日
如果您可以使用线性指标,相反,我建议:
一个= [8 2 4;7 3 9];
[X,印第安纳州]= max ([],“所有”,“线性”)
X = 9
印第安纳州= 6
这将告诉我们是9的最大值,它位于元素6。

登录置评。


ANKUR库马尔
ANKUR库马尔 2017年9月19日
使用这个函数和类型(x, y) = minmat (a)矩阵的最小的位置。例如:
> > =魔法(5)
> > [a, b] = minmat (a)
一个=
1
b =
3
这个作为一个函数保存在你的基地文件夹和使用它。
函数[a, b] = minmat (c)
=大小(c);
total_ele =元素个数(c);
[~,我]= min (c (:));
r =快速眼动(我作为(1));
= r;
b =((我)/ (1))+ 1;
如果= = 0
一个= (1);
b = b - 1;
其他的
= r;
b = b;
结束
结束
4评论
史蒂文的主
史蒂文的主 2020年9月6日
一旦你这段代码存储在一个名为minmat的文件。米(见 这个文档页面 定义一个函数的基础知识)可以调用这个像其他MATLAB函数(如图所示 这个其他文档页面 )。

登录置评。


鲁斯
鲁斯 2018年5月10日
编辑:鲁斯 2018年5月10日
//www.tianjin-qmedu.com/matlabcentral/answers/100813-how-do-i-find-the-indices-of-the-maximum-or-minimum-value-of-my-matrix answer_282157
然而备查这显然是解决你的问题,我想说有一个相对的解决方案,不需要声明一个函数。
允许继续任何矩阵a的第一步是找到完整的矩阵的最小值:
最小= min (min (A));
两分钟需要首先找到最小值的列,然后找到最小值的最小值。(可能有一个更简单的方法)。
找到这个值的指数可以是这样的:
(x, y) =找到(=最低);
两条线会比一个完整的简单函数。
2的评论
斯坦利Tam
斯坦利Tam 2020年10月16日
上图: (x, y) =找到(=最低);
“=”应该用“= =”,即(x, y) =找到(= =最低);

登录置评。


Konstantinos Fragkakis
Konstantinos Fragkakis 2018年8月27日
编辑:Konstantinos Fragkakis 2018年8月27日
函数来计算最小值及其指标,在一个多维数组——为了找到马克斯,只是取代最小(数组(:))声明中最大(数组(:))。
函数(至少,指数)= minmat(数组)
%功能:计算多维数组中的最小值及其指标
% - - - - - - - - - - - - - - - - - - - -逻辑描述
%首先,识别Matlab公约编号多维数组的元素。
%首先是第一维的元素
%之后的第二等等
%在每个迭代中,除确定最小数量的维度进行调查
%其余维度的索引(检查特殊情况下)
%的整数标识的最小的“新数”,用于下一个循环
%的步骤重复多次维度的数量(e。g 2-by-3-by-4-by-5表,重复4次)
neldim =大小(数组);%每个维度的长度
ndim =长度(neldim);%的维度
(至少我]= min(数组(:));
剩余= 1;%与评价维度的结束
指数= [];%初始化指数
剩下的~ = ndim + 1%打破最后一维循环后评估
%把整数的每个维度的值- - >确定整数所属的组
快速眼动(r =我neldim(剩余));%其余标识指数维度下的评估
int =修复(I / neldim(剩余));%的整数是用于下一次迭代
如果r = = 0%赔偿被最后一个元素的“集团”——>指数等于维度下的评估
new_index = neldim(剩余的);
其他的%补偿组的数量——>增加1 (e。g如果余数8/3 = 2和整数= 2,这意味着你在2 + 1集团在第二位置)
int = int + 1;
new_index = r;
结束
int I =;%调整部门的新号码。这是一组th
指数=(指数new_index);%添加当前指数
剩余=剩余+ 1;
结束
结束
1评论
Ammaa AlSada
Ammaa AlSada 2018年12月15日
找到最小(或最大)的第二排一个可知的矩阵呢?
如何解决它

登录置评。


11日SUNDRIYAL
11日SUNDRIYAL 2020年5月18日
( , ]= max ( ___ ) 返回索引操作维度对应的最大价值 一个 以前的语法。
M代表和持有的最大价值,而我的指数最大值
您可以使用相同的方法来找到最小值和其索引使用min () functiobn
例子:
A = [1 9 2;8 4 5]
[M,我]= max ()
输出:
M = 1×3
8 9 2
我= 1×3
2 1 1

萨玛萨因
萨玛萨因 2020年5月2日
(行,坳)=找到(matrix_name = = min (matrix_name))返回每个coloumn中的最小值的指数矩阵

Hazoor艾哈迈德
Hazoor艾哈迈德 2021年2月28日
编辑:Hazoor艾哈迈德 2021年2月28日
A =兰迪(45岁,5)
(先生,mir) = min ()
(mc,麦克风)= min(先生)
(米尔(mic)、麦克风)

彼得亚雷Franaszczuk
彼得亚雷Franaszczuk 2022年12月13日
编辑:彼得亚雷Franaszczuk 2022年12月13日
你可以叫马克斯只有一次,没有找到(这需要通过整个二维矩阵):
位于印第安纳州[M] = max ((:));
[r、c] = ind2sub(大小(A),印第安纳州);
M是最大,r和c是它所在的行和列。

Neeraja
Neeraja 2023年2月21日
使用 找到 函数在一起 最小值 工作得很好。
5 =兰迪(20日)
一个= 5×5
14日14 2 14 20 12 17 14 14 8 19 9 9 4 20 9 5 3 17 14 15 14 12 2 10
(I, J) =找到(= = min ((:)))
我= 2×1
1 - 5
J = 2×1
3 4
B =魔法(5)
B = 5×5
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
(行、列)=找到(B = = min (B (:)))
行= 1
列= 3

类别

找到更多的在运营商和基本操作帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的