1. 程式人生 > >python 3 numpy的poly 實現多項式

python 3 numpy的poly 實現多項式


1.從已知根求解多項式

# -*- coding:utf-8 -*-
from numpy import *
root = [1, -1]
#   一個多項式的根為1,-1
a = poly1d(poly(root))
print a
#   該多項式為a = [1. 0. -1.],即y = x^2 - 1
poly是已知的那個多項式的係數,然後通過poly1d得到那個多項式的帶有x的格式。

2.使用roots求解多項式的根

print roots(a)
#   求解a的根array_equal()
print array_equal(root, roots(a))
#   判斷兩個根是否相等
3.求導和已知導函式求原函式


der = polyder(a)
print der
#   多項式求導
inter = polyint(a)
print inter
#   找到導函式為y = x^2 - 1的原函式4.求多項式在某點處的值


print polyval(a, 5)
#   求解函式在點x = 5的值5.加減乘除四則運算


b = poly1d([1, 1])
print b
#   另一個多項式y = x + 1
print polyadd(a, b)
#   兩個多項式相加
print polysub(a, b)
#   兩個多項式相減
print roots(polysub(a, b))
#   兩個多項式的交點,就是多項式相減之後的零點
print polymul(a, b)
#   兩個多項式相乘
print polydiv(a, b)
#   兩個多項式相除
完整的程式碼:# -*- coding:utf-8 -*-
from numpy import *
root = [1, -1]
#   一個多項式的根為1,-1
a = poly1d(poly(root))
print a
#   該多項式為a = [1. 0. -1.],即y = x^2 - 1
print roots(a)
#   求解a的根array_equal()
print array_equal(root, roots(a))
#   判斷兩個根是否相等
der = polyder(a)
print der
#   多項式求導
inter = polyint(a)
print inter
#   找到導函式為y = x^2 - 1的原函式
print polyval(a, 5)
#   求解函式在點x = 5的值
b = poly1d([1, 1])
print b
#   另一個多項式y = x + 1
print polyadd(a, b)
#   兩個多項式相加
print polysub(a, b)
#   兩個多項式相減
print roots(polysub(a, b))
#   兩個多項式的交點,就是多項式相減之後的零點
print polymul(a, b)
#   兩個多項式相乘
print polydiv(a, b)
#   兩個多項式相除

---------------------