tft每日頭條

 > 生活

 > 複數常見運算公式

複數常見運算公式

生活 更新时间:2024-08-04 15:09:11

學習《Python Cookbook》第三版

你寫的最新的網絡認證方案代碼遇到了一個難題,并且你唯一的解決辦法就是使用複數空間。再或者是你僅僅需要使用複數來執行一些計算操作。

複數可以用使用函數 complex(real, imag) 或者是帶有後綴 j 的浮點數來指定。比如:

a = complex(2, 3) b = 3 - 6j print(a) # "(2 3j)" print(b) # "(3-6j)"

對應的實部、虛部和共轭複數可以很容易的獲取。就像下面這樣:

print(a.real) # "2.0" print(a.imag) # "3.0" print(a.conjugate()) # "(2-3j)"

另外,所有常見的數學運算都可以工作:

print(a b) # "(5-3j)" print(a - b) # "(-1 9j)" print(a * b) # "(24-3j)" print(a / b) # "(-0.26666666666666666 0.4666666666666667j)" print(abs(a)) # "3.605551275463989"

如果要執行其他的複數函數比如正弦、餘弦或平方根,使用 cmath 模塊:

import cmath print(cmath.sin(a)) # "(9.15449914691143-4.168906959966565j)" print(cmath.cos(a)) # "(-4.189625690968807-9.109227893755337j)" print(cmath.exp(a)) # "(-7.315110094901103 1.0427436562359045j)"

Python 中大部分與數學相關的模塊都能處理複數。比如如果你使用 numpy ,可以很容易的構造一個複數數組并在這個數組上執行各種操作:

import numpy as np np_a = np.array([2 3j, 2-5j, 8 9j]) print(np_a) # "[2. 3.j 2.-5.j 8. 9.j]" print(np_a 2) # "[ 4. 3.j 4.-5.j 10. 9.j]" print(np.sin(np_a)) # "[ 9.15449915 -4.16890696j 67.47891524 30.87943134j 4008.42651446-589.49948373j]"

Python 的标準數學函數确實情況下并不能産生複數值,因此你的代碼中不可能會出現複數返回值。

如果你想生成一個複數返回結果,你必須顯示的使用 cmath 模塊,或者在某個支持複數的庫中聲明複數類型的使用。比如:

import math import cmath # print(math.sqrt(-1)) # 報錯 ValueError: math domain error print(cmath.sqrt(-1)) # "1j"

我們把形如z=a bi(a,b均為實數)的數稱為複數,其中a稱為實部,b稱為虛部,j稱為虛數單位。當z的虛部等于零時,常稱z為實數;當z的虛部不等于零時,實部等于零時,常稱z為純虛數。

加法法則

複數的加法法則:設z1=a bj,z2=c dj是任意兩個複數。兩者和的實部是原來兩個複數實部的和,它的虛部是原來兩個虛部的和。兩個複數的和依然是複數。

(a bj) (c dj) = (a c) (b d)j

減法法則

兩者和的實部是原來兩個複數實部的和,它的虛部是原來兩個虛部的和。兩個複數的和依然是複數。

(a bj) (c - dj) = (a - c) (b - d)j

乘法法則

複數的乘法法則:把兩個複數相乘,類似兩個多項式相乘,結果中i2= -1,把實部與虛部分别合并。兩個複數的積仍然是一個複數。

(a bj) * (c - dj) = (ac - bd) (bc ad)j

除法法則

運算方法:将分子和分母同時乘以分母的共轭複數,再用乘法法則運算,即

複數常見運算公式(複數的數學運算)1

NumPy(Numerical Python) 是 Python 語言的一個擴展程序庫,支持大量的維度數組與矩陣運算,此外也針對數組運算提供大量的數學函數庫。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved