Re: [問題] 關於Select的用法

看板Mathematica作者 (養花種魚數月亮賞星星)時間12年前 (2012/02/28 18:46), 編輯推噓1(100)
留言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
文章代碼(AID): #1FJB26S5 (Mathematica)
討論串 (同標題文章)
文章代碼(AID): #1FJB26S5 (Mathematica)