Re: [問題] 矩陣元的提取與計算
※ 引述《a29788685 (嘉峰)》之銘言:
: 2)Sort[{{a, 2, 4}, {c, 1, 4}, {d, 3, 5},{b,2,3}}, #1[[2]] < #2[[2]] &]
: 可以幫我排序第二個數字,但如果我想要排序第二個及第三個數字:
: {c, 1, 4},{b,2,3},{a, 2, 4},{d, 3, 5}
: 當第二個數字一樣時,選取第三個數字的大小排序,
: 不知道該怎麼作呢?
我想這要講一下 Sort 的第二個參數的意義了
這個參數是所謂的"定序函數"
在排序時它會被傳入兩個參數 (在純函式上就是 #1 跟 #2)
當函數回傳 True 時表示 #1 要在 #2 前面
所以你的問題 要寫成"定序函數"的邏輯的話就是
"當第二數字相同時第三數字小的在前,否則第二數字小的在前"
也就是 If[#1[[2]]==#2[[2]], #1[[3]]<#2[[3]], #1[[2]]<#2[[2]] ]&
更多的條件可以依此類推
--
平常如果不指定時會是一個內部的順序 在 ref/Sort 當中有詳細說明
同時裡頭也提到預設的定序函式是 OrderedQ[{#1,#2}]&
OrderedQ 判斷是否其參數的內部元素照順序排好著的
同樣也能指定定序函式 同樣預設也是這個順序
--
有人喜歡邊玩遊戲邊上逼;
也有人喜歡邊聽歌邊打字。
但是,我有個請求,
選字的時候請專心好嗎?
-- 改編自「古 火田 任三郎」之開場白
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.26.44.185
※ 編輯: LPH66 來自: 114.26.44.185 (07/29 19:36)
→
07/29 19:46, , 1F
07/29 19:46, 1F
→
07/29 19:47, , 2F
07/29 19:47, 2F
→
07/29 19:47, , 3F
07/29 19:47, 3F
→
07/31 09:53, , 4F
07/31 09:53, 4F
→
08/03 18:13, , 5F
08/03 18:13, 5F
→
08/03 18:14, , 6F
08/03 18:14, 6F
推
09/30 00:18, , 7F
09/30 00:18, 7F
討論串 (同標題文章)
Mathematica 近期熱門文章
PTT數位生活區 即時熱門文章