b943. 複數 の 指對數
標籤 : 數學 複數
通過比率 : 24人/26人 ( 92% ) [非即時]
評分方式:
Tolerant

最近更新 : 2018-04-11 10:28

內容


 複數可以表示成 a+bi 的形式 (a,bR)
 如果把複數 a+bi 對應到座標平面上的點 (a,b)
 可以發現複數與座標平面上的點有一對一的性質,
 因此在平面上的點 (a,b)可以代表複數 a+bi 
 例如:點 (3,4)可以代表複數 3+4i 


 複數 z=a+bi 可對應至複數平面點 P(3,4)
 令 OP=r  OP 為有向角 θ 的終邊,
 則 r=a2+b2, θ=arctan(ba), a=rcosθ, b=rsinθ 
 因此 z=a+bi=r(cosθ+isinθ) 


 根據泰勒展開式可得,
 ex=n=0xnn!=1+x+x22!+x33!+
 sinx=n=0(1)nx2n+1(2n+1)!=xx33!+x55!x77!+
 cosx=n=0(1)nx2n(2n)!=1x22!+x44!x66!+
 所以,
 eix=1+ix+(ix)22!+(ix)33!+(ix)44!+(ix)55!+(ix)66!+(ix)77!+
 eix=1+ixx22!ix33!+x44!+ix55!x66!ix77!+
 eix=(1x22!+x44!x66!+)+i(xx33!+x55!x77!+)
 eix=cosx+isinx
 (這同時也是著名的歐拉恆等式的由來 eiπ+1=(cosπ+isinπ)+1=1+0+1=0 )
 故 z=a+bi=r(cosθ+isinθ)=reiθ=a2+b2eiarctan(ba)


 由上述的公式,
 我們可以對複數的指數進行定義:
 (a+bi)(c+di)=(a2+b2eiarctan(ba))(c+di)
 (a+bi)(c+di)=a2+b2 (c+di)e(c+di)iarctan(ba)
 (a+bi)(c+di)=a2+b2 ca2+b2 dieciarctan(ba)darctan(ba)
 (a+bi)(c+di)=a2+b2 ce diln(a2+b2 )eciarctan(ba)edarctan(ba)
 (a+bi)(c+di)=a2+b2 cedarctan(ba)ei( dln(a2+b2 )+carctan(ba))
 (a+bi)(c+di)=a2+b2 cedarctan(ba)[cos(dln(a2+b2 )+carctan(ba))+isin(dln(a2+b2 )+carctan(ba))]


 我們也可以對複數的對數進行定義:
 log(a+bi)(c+di)=ln(c+di)ln(a+bi)
 log(a+bi)(c+di)=ln(c2+d2eiarctan(dc))ln(a2+b2eiarctan(ba))
 log(a+bi)(c+di)=ln(c2+d2)+iarctan(dc)ln(a2+b2)+iarctan(ba) (同複數除法a+bic+di=(a+bi)(cdi)(c+di)(cdi)=(ac+bd)+(bcad)ic2+d2)
 log(a+bi)(c+di)=(ln(a2+b2)ln(c2+d2)+arctan(ba)arctan(dc))+(ln(a2+b2)arctan(dc)ln(c2+d2)arctan(ba))iln2(a2+b2)+arctan2(ba)

輸入說明

有多筆測資,每筆測資包含 3 行。

第一行有 1 個整數 K ,代表操作指令,其中 K 只可能是 012 
①當 K=1 時,請操作以複數 z1 為底數,複數 z2 為指數的指數運算。
②當 K=2 時,請操作以複數 z1 為底數,複數 z2 為真數的對數運算。
③當 K=0 時,代表輸入結束,請不要對之後的數字做任何操作。

第二行有 2 個實數 ab ,代表複數 z1=a+bi 
其中 5a,b5 

第三行有 2 個實數 cd ,代表複數 z2=c+di 
其中 5c,d5 

輸出說明

對於每筆測資請輸出一行,輸出請符合格式,並根據輸入進行計算後,依照下述條件輸出。

假設正確答案為複數 z3=p+qi
請輸出 p±|q|i ,請依 q 的正負判斷運算子為 +   
 q=0 時,請使用 + 運算子。

對於輸出的所有數字,請四捨五入至小數點後 6 位。
(相信我, 不看提示會後悔~~~ OωO )

範例輸入 #1
2
2 0
3 0
1
1 -1
2 0
1
1 3
3 0
2
-1 -1
-1 -1
0
1 2
2 3
1
0 1
1 0
範例輸出 #1
1.584963 + 0.000000i
0.000000 - 2.000000i
-26.000000 - 18.000000i
1.000000 + 0.000000i
測資資訊:
記憶體限制: 512 MB
公開 測資點#0 (10%): 1.0s , <1K
公開 測資點#1 (90%): 1.0s , <1M
提示 :

測資並沒有可以產生 INF  NAN 等等的輸出,
請各位學弟妹安心代公式唷~~~ OωO

另外公式的部分,  (←點選超連結以觀看 <math.h> 的函數~~~
由於是求點 (x,y)  θ ,
所以請使用 atan2(y, x) 而非 atan(y/x) 唷~~~ OωO

--------------------------------------------------(我是分隔線)--------------------------------------------------

聽說 C++ 可以 #include <complex>  ... ?
聽說 Python 有 complex 型態 ... ?

-----------------------------------------------(2018/04/10更新)-----------------------------------------------

將數學式進行完全純文字化,
對數的公式更改成較為精簡(?)的公式。

By.  OwO學長

標籤:
數學 複數
出處:
板橋高中練習題 [管理者: lw310659 (面臨首次失敗又當不成『 』的我...) ]

本題狀況 本題討論 排行

編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」