00问答网
所有问题
请问matlab如何找到一个二维数组中,第一列和第二列相同的,但第三列数值最大的那组数或者第四列数?
如题所述
举报该问题
推荐答案 2015-03-23
%% 数据a定义在这里
[tmp, I, J] = unique(a(:,[1 2]), 'rows');
l = zeros(length(I), 1);
for i = 1:length(I)
[tmp, t] = max(a(J==i, 3));
l(i) = find(cumsum(J==i) == t, 1, 'first');
end
l
a(l,:)
如果你用MATLAB R2009b以上版本,上述代码中的tmp都可改成符号‘~’。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://00.wendadaohang.com/zd/neZreTBIIe0InrTBZj.html
其他回答
第1个回答 2016-01-14
假设A是你的二维数组,下面的代码能输出你要的那一行
rows=size(A,1);
cmax=min(A(:,3));
for i=1:1:rows
if A(i,1)==A(i,2)
if A(i,3)>=cmax
cmax=A(i,3);
k=i;
end
end
end
A(k,:)
相似回答
...
如何找到一个二维数组中,第一列和第二列相同的,但第三列最大的
...
答:
max(a(a(:,1)==a(:,2),3))
如何
在
matlab数组中找到最大
元素
答:
比如有数组a:a=[A1, A2, A3, A4, A5, A6];[R,C]=max(a)就能得到最大元素,其中R是最大元素的值,C是最大元素在
数组中的
位置。如果数组a是
二维数组,
默认R、C是对应每
一列的最大
值
和最大
值所在的位置。例如取a=[
1,2,3,
4][r,c]=max(a)得到r=4,c=4 ...
Matlab如何找到一个数组中的最大
值以及它所在的位置?
答:
在
Matlab
随机生成一维数组或者手动输入 利用Max函数,将一维数据放入Max(一维数组)中 最终利用Max函数输出最大值和位置
如何
在
一个二维数组中
寻找出所有的极大值点,并
找到
相应的坐标呢??mat...
答:
A(find(diff(sign(diff(A)))==-2)+1) %极大值 矩阵是按列来编号,下标的话可以用rem函数来分解出来。a=rem(find(diff(sign(diff(A)))==-2)+1,100) %求出来的行,如果出现 0的话,代表的是6;b=((find(diff(sign(diff(A)))==-2)+1)-a)/100+1 %求出来的列 ...
大家正在搜
相关问题
请问matlab如何找到一个二维数组中,第一列和第二列相同的...
matlab 数组如何找到符合条件的第一列数据 对应的第二组...
matlab中怎么把矩阵每个第二列相同的行的第一列替换成他们...
matlab里想要提取矩阵每一列第二大 第三大的数 但不改变...
matLAB如何表示二维数组中得一列数?
MATLAB中,如何去掉二维数组中相同的列。
matlab中3维数组中前两列是坐标,第3列是数值,如何知道...
matlab中如何根据一个二维数组的列,求另一列的均值