e^ix=cosx isinx,其中e是自然對數的底,i是虛數單位。這個等式將三角函數的定義域擴展到了複數,建立了三角函數和指數函數之間的關係。在復變函數論中,這個等式具有重要的地位。
e^ix=cosx isinx的證明:
因為e^x=1 x/1! x^2/2! x^3/3! x^4/4! ……
cos x=1-x^2/2! x^4/4!-x^6/6! ……
sin x=x-x^3/3! x^5/5! -……
在e^x的展開式中把x換成±ix.(±i)^2=-1, (±i)^3=〒i, (±i)^4=1 ……(注意:其中”〒”表示”減加”)
e^±ix=1±x/1!-x^2/2! x^3/3! 〒x^4/4! ……
=(1-x^2/2! ……)±i(x-x^3/3!……)
所以e^±ix=cosx±isinx
將公式裡的x換成-x,得到:
e^-ix=cosx-isinx,再採用兩式相加減的方法得到:sinx=(e^ix-e^-ix)/(2i),cosx=(e^ix e^-ix )/2.這兩個也叫做歐拉公式。將e^ix=cosx isinx中的x取作∏就得到:
e^iπ 1=0.
歐拉迴路 【定義】
圖G的一個迴路,若它恰通過G中每條邊一次,則稱該迴路為歐拉(Euler)迴路。
具有歐拉迴路的圖稱為歐拉圖(簡稱E圖)。
【相關結論】
定理:
一個無向圖是歐拉圖,當且僅當該圖所有頂點度數都是偶數。
一個有向圖是歐拉圖,當且僅當該圖所有頂點度數都是0。
歐拉迴路的一種解法
下面是無向圖的歐拉迴路輸出程式碼:注意輸出的前提是已經判斷圖確實是歐拉迴路。
int num = 0;//標記輸出佇列
int match[MAX];//標誌節點的度,無向圖,不區分入度和出度
void solve(int x)
l{
l if(match[x] == 0)
l
l Record[num ] = x;
l
l else
l {
l for(int k =0;kl {
l if(Array[x][k] !=0 )
l {
l Array[x][k]--;
l Array[k][x]--;
l match[x]--;
l match[k]--;
l solve(k);
l }
l
l }
l Record[num ] = x;
l }
l}
注意record中的點的排列是輸出的到序,因此,如果要輸出歐拉路徑,需要將record倒過來輸出。
歐拉迴路的思路:
循環的找到出發點。從某個節點開始,然後查出一個從這個出發回到這個點的環路徑。這種方法保證每個邊都被遍歷。如果有某點的邊沒有被遍歷就讓這個點為起點,這條邊為起始邊,把它和目前的環銜接上。這樣直至所有的邊都被遍歷。這樣,整個圖就連接在一起了。
具體步驟:
1。如果此時與該點無相連的點,那麼就加入路徑中
2。如果該點有相連的點,那麼就列一張表,遍歷這些點,直到沒有相連的點。
3。處理目前的點,刪除走過的這條邊,並在其相鄰的點上進行同樣的操作,並把刪除的點加入到路徑中去。
4。這個其實是個遞歸過程。
--以上為百科的內容
以上是推導歐拉公式的過程的詳細內容。更多資訊請關注PHP中文網其他相關文章!