Re: c的複數要怎麼寫?

看板Programming作者時間17年前 (2008/07/14 16:01), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串3/5 (看更多)
這倒是讓我想起一個問題 如果今天我必須在一個沒有complex arithmetics的環境下自己開發相關運算 例如老的C,或是VB6 那我要開發出哪些operation才算把complex arithmetic做完整? (i)算數加/減 這很簡單 (ii)算術乘 (a + bi) = (p + qi)(m + ni) , a = p*m - q*n , b = p*n + q*m (1) (iii)norm(絕對值) |a + bi| = sqrt(a^2 + b^2) (2) (iv)轉極座標式 for (a + bi) (1) let r = |a + bi| (2) let a' = a/r , b' = b/r (3) let θ = arctan(b'/a') [主輻角] then (a + bi) = <r, θ> (3) (v)乘法律 <r, θ> * <s, φ> = r (cosθ+isinθ) * s(cosφ+isinφ) (4) = (r*s) (cos(θ+φ)+isin(θ+φ)) <r, θ> / <s, φ> = r (cosθ+isinθ) / s(cosφ+isinφ) (5) = (r/s) (cos(θ-φ)+isin(θ-φ)) (vi)算術除 利用 (5) 式。 (vii)De Moivre's Theorem <r, θ> ^ k = (r (cosθ+isinθ))^ k (6) = (r^k) (cos(kθ)+isin(kθ)) 以上有 k in N 的限制,也就是說只能算自然數次方。 避開(6)的限制: <r, θ> ^ (m/n) = ((r (cosθ+isinθ))^ m) / (7) ((r (cosθ+isinθ))^ n) = (r^(m/n))(cos((m/n)θ)+isin((m/n)θ)) 這樣可以算所有的有理數次方,包括 n 次方根。 (viii)指數律 利用(6)式,但限於正整數 (ix)n次方根 利用(7)式 這樣算做完了嗎? [ 在fortran裡面還可以算(a, b)**(c, d)(複數的複數次方) 多麼簡單,只要一行 可是我根本不知道那要怎麼自己implement… 那可以忽略嗎?就一般的複數運算來說?]   -- 蒙帝派松正體中文計畫 (4/23) - 如何隱身 - SPAM - 英國殺人笑話 http://www.wretch.cc/blog/journeyman&article_id=14377810 ▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂ 法外科學暨工程顧問公司 http://www.wretch.cc/blog/journeyman/ ▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆ -- ┌─────KKCITY─────┐ ◢ 想要成立班系社團站台嗎? bbs.kkcity.com.tw │ █ KKCity即日起開放BBS站申請囉! └──From:59.115.196.71 ──┘ ◥ ╲ 免程式技術、硬體成本的選擇!! --

07/14 19:59, , 1F
複數的複數次方可以預測哪支股票會漲麼
07/14 19:59, 1F

07/14 23:22, , 2F
問這幹嘛?
07/14 23:22, 2F

07/14 23:26, , 3F
你為人一定要這麼G7+1嗎?
07/14 23:26, 3F
文章代碼(AID): #18UmU-00 (Programming)
文章代碼(AID): #18UmU-00 (Programming)