本文**主要演示如何使用poly1d進行多項式計算和符號計算。
>>> from scipyimport poly1d
>>> p1 = poly1d([1,2,3,4])
# 輸出結果中,第一行的數字為第二行對應位置項中x的指數
>>> print(p1)
3 2
1 x + 2 x + 3 x + 4
# 等價於p2=(x-1)(x-2)(x-3)(x-4)
>>> p2 = poly1d([1,2,3,4], true)
>>> print(p2)
4 3 2
1 x - 10 x + 35 x - 50 x + 24
# 使用z作為變數,這只是個形式,並不影響計算
>>> p3 = poly1d([1,2,3,4], variable='z')
>>> print(p3)
3 2
1 z + 2 z + 3 z + 4
# 把多項式中的變數替換為指定的值
# 多項式求值
>>> p1(0)
4>>> p1(1)10
# 計算多項式對應方程的根
>>> p1.r
array([-1.65062919+0.j , -0.17468540+1.54686889j,
-0.17468540-1.54686889j])
# 把根帶入多項式驗證一下
>>> p1(p1.r[0])
(-8.8817841970012523e-16+0j)
# 檢視和修改多項式的係數
>>> p1.c
array([1, 2, 3, 4])
>>> print(p3)
3 2
1 z + 2 z + 3 z + 4
>>> p3.c[0] = 5
>>> print(p3)
3 2
5 z + 2 z + 3 z + 4
# 檢視多項式最高端
>>> p1.order3
# 檢視指定指數對應的項的係數
# 例如,在p1多項式中,指數為3的項的係數為1
>>> p1[3]
1>>> p1[0]4
# 加、減、乘、除、冪運算
>>> print(p1)
3 2
1 x + 2 x + 3 x + 4
>>> print(-p1)
3 2
-1 x - 2 x - 3 x - 4
>>> print(p2)
4 3 2
1 x - 10 x + 35 x - 50 x + 24
>>> print(p1 + 3)
3 2
1 x + 2 x + 3 x + 7
>>> print(p1 + p2)
4 3 2
1 x - 9 x + 37 x - 47 x + 28
>>> print(p1 - 5)
3 2
1 x + 2 x + 3 x - 1
>>> print(p2 - p1)
4 3 2
1 x - 11 x + 33 x - 53 x + 20
>>> print(p1 * 3)
3 2
3 x + 6 x + 9 x + 12
>>> print(p1 * p2)
7 6 5 4 3 2
1 x - 8 x + 18 x - 6 x - 11 x + 38 x - 128 x + 96
>>> p1 * p2
poly1d([ 1., -8., 18., -6., -11., 38., -128., 96.])
# 除法返回商多項式和餘多項式
>>> print(p1*p2 / p2)
(poly1d([ 1., 2., 3., 4.]), poly1d([ 0.]))
>>> print(p2/p1)
(poly1d([ 1., -12.]), poly1d([ 56., -18., 72.]))
# 多項式的冪運算
>>> print(p1 ** 2)
6 5 4 3 2
1 x + 4 x + 10 x + 20 x + 25 x + 24 x + 16
>>> print(p1 * p1)
6 5 4 3 2
1 x + 4 x + 10 x + 20 x + 25 x + 24 x + 16
# 一階導數
>>> print(p1.deriv())
23 x + 4 x + 3
# 二階導數
>>> print(p1.deriv(2))
6 x + 4
# 當x=1時二階導數多項式的值
>>> print(p1.deriv(2)(1))10
# 多項式的不定積分
# 一重不定積分,設常數項為0
>>> print(p1.integ(m=1, k=0))
4 3 2
0.25 x + 0.6667 x + 1.5 x + 4 x
# 二重不定積分,設常數項為3
>>> print(p1.integ(m=2, k=3))
5 4 3 2
0.05 x + 0.1667 x + 0.5 x + 2 x + 3 x + 3
numpy及scipy的使用
把list a轉換為numpy 矩陣 np.array a np.array a,int32 numpy載入txt檔案裡面的矩陣 matrix np.loadtxt txt name,dtype i delimiter 將nparray裡面每個元素轉換為int型 nparray.astype int...
Python 解決scipy匯入出錯問題
scipy是一款方便 易於使用 專為科學和工程設計的python工具包.它包括統計,優化,整合,線性代數模組,傅利葉變換,訊號和影象處理,常微分方程求解器等。使用這些功能需要scipy,但是python 2.7.12在安裝時沒有改軟體,直接匯入會報錯 importerror no module na...
python安裝scipy 遇到的問題
首先關於anaconda,沒有用過,但是它的安裝必須把原生的python全部卸掉再換裝成它自己。只拿他來做科學計算當然無所謂,但是python對我而言又不是只用來做科學計算的,還是要用一些其他第三方庫包的,因此這樣的做法讓我很警惕,所以暫且不提。以下所有安裝過程假設電腦中安裝有pip,如果沒有就請裝...