Scipy
常量
from scipy.constants import*
print("sciPy - pi = %.16f" % pi)
print("真空中的光速 %d" % speed_of_light)
print("普朗克常数 %s" % h)
print("牛顿引力系数 %s" % G)
print("电子的质量 %s" % electron_mass)
傅里叶变换
import numpy as np
from scipy.fftpack import fft, ifft
import numpy as np
from scipy.fftpack import dct,idct
x= np.array([1.0,2.0,1.0,-1.0,1.5])
y = fft(x)
print('fft:')
print(y)
yinv = ifft(y)
print('ifft:')
print(yinv)
y = dct(np.array([4.,3.,5.,10.,5.,3.]))
print(y)
插值
import numpy as np
from scipy import interpolate as intp
import matplotlib.pyplot as plt
from scipy.interpolate import UnivariateSpline
x = np.linspace(0, 4, 12)
y = np.cos(x**2/3 + 4)
plt.plot(x, y, "o")
plt.show()
f1 = intp.interp1d(x, y, kind='linear')
f2 = intp.interp1d(x, y, kind='cubic')
xnew = np.linspace(0, 4, 30)
plt.plot(x, y, 'o', xnew, f1(xnew), '-', xnew, f2(xnew), '--')
plt.legend(['data', 'linear', 'cubic', 'nearest'], loc='best')
plt.show()
x = np.linspace(-3, 3, 50)
y = np.exp(-x**2)+0.1*np.random.randn(50)
plt.plot(x, y, 'ro', ms=5)
spl = UnivariateSpline(x, y)
xs = np.linspace(-3, 3, 1000)
plt.plot(xs, spl(xs), 'b', lw=3)
spl.set_smoothing_factor(0.5)
plt.plot(xs, spl(xs), 'g', lw=3)
spl.set_smoothing_factor(0)
plt.plot(xs, spl(xs), 'yellow', lw=3)
plt.show()
SciPy.linalg
from scipy import linalg
import numpy as np
a = np.array([[1, 3, 5], [2, 5, 1], [2, 3, 8]])
b = np.array([10, 8, 3])
x = linalg.solve(a, b)
print(x)
A = np.array([[3, 4], [7, 8]])
x = linalg.det(A)
print(x)
A = np.array([[3, 4], [7, 8]])
l, v = linalg.eig(A)
print('特征值')
print(l)
print('特征向量')
print(v)