查看: 448|回复: 3|关注: 0

[已解决] 数据处理,挑选每个值对应的最大值

[复制链接]

新手

12 麦片

财富积分


050


3

主题

8

帖子

0

最佳答案
本帖最后由 凉风有兴 于 2019-12-1 11:29 编辑


                               
登录/注册后可看大图

这里有两列数据,第二列范围是0.1到0.8  是随机排序的 不是顺次排列的
我想找出第二列0.1-0.8中每个数值 所对应的的第一列中的最大值
比如 0.1对应第一列中的值有 270,271两个值。那么 就找出这两个值中的最大值然后生成矩阵 [0.1,271]
最终生成[0.1,max;0.1001,max~~~~;0.8,max]的矩阵
共有1068485行
求助,感谢大神们!
回复主题 已获打赏: 0 积分

举报

论坛优秀回答者

26

主题

1182

帖子

157

最佳答案
  • 关注者: 48
发表于 2019-12-1 14:36:36 | 显示全部楼层 |此回复为最佳答案
  1. A=[randperm(10)' ceil(rand(10,1)*10)]%第一列为大小,第二列为随机数
  2. B=unique(A(:,2));%随机数的唯一值
  3. C=[B B];%左边为随机数,右边为最大值
  4. for n=1:length(B)
  5.     C(n,2)=max(A(A(:,2)==B(n),1));
  6. end
  7. C
复制代码
回复此楼 已获打赏: 0 积分

举报

新手

12 麦片

财富积分


050


3

主题

8

帖子

0

最佳答案
 楼主| 发表于 2020-1-31 23:41:24 | 显示全部楼层

感谢回答, 但是这个答案第五行代码中的,1 有什么含义呢。  试验了不加,1也是可以的。
回复此楼 已获打赏: 0 积分

举报

新手

11 麦片

财富积分


050


4

主题

29

帖子

0

最佳答案
  • 关注者: 1
发表于 2020-2-2 22:53:45 | 显示全部楼层
凉风有兴 发表于 2020-1-31 23:41
感谢回答, 但是这个答案第五行代码中的,1 有什么含义呢。  试验了不加,1也是可以的。 ...

,1是在这行:
A(A(:,2)==B(n),1)

一般索引矩阵时是这个规则:矩阵(行,列)
意思是限定在两列中的第一列。
回复此楼 已获打赏: 0 积分

举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

快速回复 返回顶部 返回列表