[討論]如何 找一群數列中最小的前幾個值,並且記錄他的位子?已回收

看板MATLAB作者 (jis)時間12年前 (2011/10/03 20:19), 編輯推噓3(305)
留言8則, 5人參與, 最新討論串1/1
今天才剛學Matlab , 指令不熟所以想問一下版上各位 我現在有四百個值,我要如何找出前十五個最小的值呢?並且記錄下他們出現的位子 比如是在第一號、第兩百號這樣 我爬文有看到好像要用index和sort指令,現在還是搞不太懂... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.124.42.123

10/03 20:57, , 1F
也就是我只要前十五小的索引值,而他們是多少不重要
10/03 20:57, 1F

10/03 21:19, , 2F
[a,b]=sort(x); a代表所在位置 ,b代表其數值
10/03 21:19, 2F

10/04 03:05, , 3F
那麼我要怎麼一個一個抓出他們是多少呢? 我想要統計15個
10/04 03:05, 3F

10/04 03:05, , 4F
之中,兩百號之前的比較多,還是兩百號後的多
10/04 03:05, 4F

10/04 05:44, , 5F
你作一個小範例x=[5 4 3 2 10]; [a,b]=sort(x) 你就懂了
10/04 05:44, 5F

10/04 14:12, , 6F
謝謝大家,我有一點概念了
10/04 14:12, 6F

10/04 22:00, , 7F
用find看看
10/04 22:00, 7F

10/05 00:54, , 8F
若資料有重複的話也可以用 unique 在 sort
10/05 00:54, 8F
文章代碼(AID): #1EYQXDAh (MATLAB)