Re: [问题] 这种串行要怎么自动做这样子的排列?

楼主: chungyuandye (养花种鱼数月亮赏星星)   2012-12-18 16:17:44
※ 引述《candy88257 (阿泰斯)》之铭言:
: 例如:
: 今天有某个方程式解出来的解是:
: {3i,2i,i,2,3,1+i,1-i}
: 很奇怪,它为啥要把1+-i放在最后面?
: 有办法快速将1+i跟1-i放在"其绝对值大小的位置"吗?
: 也就是让它变成:
: {3i,2i,1+i,1-i,i,2,3}
: 求高手解惑!!
: 感谢!!!!
mysort[mylist_List]:=Block[{temp1,temp2},
temp1=Reverse[Sort[{Abs[Im[#]],#}&/@
Select[mylist,Head[#]==Complex&]]][[All,2]];
temp2=Sort[Complement[mylist,temp1]];
Flatten[{temp1,temp2}]
]
list = {3 I, 2 I, 1 + I, 1 - I, I, 2, 3}
mysort[list]
作者: candy88257 (阿泰斯)   2012-02-20 12:08:00
感谢!!

Links booklink

Contact Us: admin [ a t ] ucptt.com