Re: [問題] 關於Select的用法
看板Mathematica作者chungyuandye (養花種魚數月亮賞星星)時間12年前 (2012/02/28 18:46)推噓1(1推 0噓 0→)留言1則, 1人參與討論串3/3 (看更多)
※ 引述《qoodeva (發呆的花枝)》之銘言:
: 不好意思小弟又來請教版上高手了= ="
: 1.
: 若有一串數列為
: {3.4,3+6i,3-6i,-3.4}
: 我只想要複數的虛部以及其他實數
: {3.4,6i,-6i,-3.4}
: 2.又有一串數列為正負根
: {3.4,3+6i,3-6i,-3.4}
: 只想選取正根值
: {3.4,6i}
: 如果使用Im或Re選取,只能選單一選擇複數的實部跟虛部,
: 看官網的Flash動畫有介紹到Select這個語法,
: 那改用Select不知後面的判別式要如何寫
先把list拆成{實部,虛部},之後判斷條件,最後再加總
list = {3.4, 3 + 6 I, 3 - 6 I, -3.4}
Cases[{Re@#, Im@#} & /@ list, {a_, b_} :> If[b != 0, b*I, a]]
Plus @@ If[#[[2]] != 0, {0, #[[2]]*I}, #] & /@ ({Re@#, Im@#} & /@
list)
If[#[[2]] == 0, #[[1]], #[[2]]*I] & /@
Cases[{Re@#, Im@#} & /@ list, {a_ /; a > 0, b_ /; b >= 0}]
Plus @@ Cases[{Re@#, Im@#} & /@ list, {a_ /; a > 0, b_ /; b >= 0} :>
If[b == 0, {a, 0*I}, {0, b*I}]]
--
養花種魚數月亮賞星星
http://chungyuandye.twbbs.org
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.173.132.165
※ 編輯: chungyuandye 來自: 218.173.132.165 (02/28 19:00)
推
02/28 20:55, , 1F
02/28 20:55, 1F
討論串 (同標題文章)
Mathematica 近期熱門文章
PTT數位生活區 即時熱門文章