[問題] 這種串列要怎麼自動做這樣子的排列?

看板Mathematica作者 (阿泰斯)時間12年前 (2012/12/14 19:31), 編輯推噓0(0010)
留言10則, 3人參與, 最新討論串1/2 (看更多)
例如: 今天有某個方程式解出來的解是: {3i,2i,i,2,3,1+i,1-i} 很奇怪,它為啥要把1+-i放在最後面? 有辦法快速將1+i跟1-i放在"其絕對值大小的位置"嗎? 也就是讓它變成: {3i,2i,1+i,1-i,i,2,3} 求高手解惑!! 感謝!!!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.130.17.157

12/15 16:31, , 1F
SortBy[{}, N[Abs[#]]&] i記得改成I
12/15 16:31, 1F

12/15 19:42, , 2F
感謝!! 但是我用的是5.2版好像沒那個指令@@
12/15 19:42, 2F

12/17 11:25, , 3F
為何你的排列是{3i,2i,1+i,1-i,i,2,3}?為何i在2和3的前面?
12/17 11:25, 3F

12/17 11:25, , 4F
你不是要按絕對值大小排列嗎?
12/17 11:25, 4F

12/17 11:48, , 5F
如果你只是單純寫錯的話,你可以用Sort (6以上才有SortBy)
12/17 11:48, 5F

12/17 11:49, , 6F
Sort[data, Abs[#1] >= Abs[#2]&] 應該可以。
12/17 11:49, 6F

12/17 21:26, , 7F
抱歉@@ 是我要求打錯,我是要照我打的那串串列排列@@
12/17 21:26, 7F

12/18 10:51, , 8F
那你的排列規則是什麼?
12/18 10:51, 8F

12/18 11:17, , 9F
感謝! 虛數部分照虛數系數絕對值大小排列,實部直接大
12/18 11:17, 9F

12/18 11:18, , 10F
小排列
12/18 11:18, 10F
文章代碼(AID): #1Gomu5Cr (Mathematica)
文章代碼(AID): #1Gomu5Cr (Mathematica)