scipy
2016-09-01 16:46:55 0 举报
AI智能生成
Scipy是一个开源的Python算法库和数学工具包,它包含了许多高级的数学函数、优化算法、线性代数模块、统计模块等。Scipy具有强大的科学计算能力,可以用于解决各种复杂的科学问题,如信号处理、图像处理、机器学习等。Scipy的设计目标是使得用户能够轻松地实现各种复杂的数学计算和算法,而无需深入了解底层的实现细节。Scipy与NumPy紧密集成,可以充分利用NumPy的高性能数组操作功能。总之,Scipy是一个功能强大、易于使用的Python科学计算库,对于从事科学研究和工程开发的人员来说是一个非常有价值的工具。
作者其他创作
大纲/内容
最小二乘拟合
import numpy as np
from scipy.optimize import leastsq
import pylab as pl
def func(x, p):
"""
数据拟合所用的函数: A*sin(2*pi*k*x + theta)
"""
A, k, theta = p(P是一个数组,对应赋值)
return A*np.sin(2*np.pi*k*x+theta)
def residuals(p, y, x):
"""
实验数据x, y和拟合函数之间的差,p为拟合需要找到的系数
"""
return y - func(x, p)
x = np.linspace(0, -2*np.pi, 100)
A, k, theta = 10, 0.34, np.pi/6 # 真实数据的函数参数
y0 = func(x, [A, k, theta]) # 真实数据
y1 = y0 + 2 * np.random.randn(len(x)) # 加入噪声之后的实验数据
p0 = [7, 0.2, 0] # 第一次猜测的函数拟合参数
# 调用leastsq进行数据拟合
# residuals为计算误差的函数
# p0为拟合参数的初始值
# args为需要拟合的实验数据
plsq = leastsq(residuals, p0, args=(y1, x))
print u"真实参数:", [A, k, theta]
print u"拟合参数", plsq[0] # 实验数据拟合后的参数
pl.plot(x, y0, label=u"真实数据")
pl.plot(x, y1, label=u"带噪声的实验数据")
pl.plot(x, func(x, plsq[0]), label=u"拟合数据")
pl.legend()
pl.show()
稀疏矩阵
初始化
A=lil_matrix((row,col))
转换成行压缩或者列压缩矩阵
A=csr_matrix(A)
A=csc_matrix(A)
计算
A*A等
还原成未压缩矩阵
A.todense()
0 条评论
下一页