网站大量收购闲置独家精品文档,联系QQ:2885784924

Python科学计算、数据处理与分析课件 (1).pptx

Python科学计算、数据处理与分析课件 (1).pptx

  1. 1、本文档共58页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第七章数值计算SciPy;第七章数值计算SciPy;7.1优化和拟合;7.1.1最小二乘拟合;7.1.1最小二乘拟合;7.1.1最小二乘拟合;7.1.1最小二乘拟合;7.1.1最小二乘拟合;7.1.1最小二乘拟合;7.1.1最小二乘拟合;7.1.1最小二乘拟合;;7.1.1最小二乘拟合;7.1.2函数极值求解;7.1.2函数极值求解;7.1.2函数极值求解;7.1.2函数极值求解;7.1.2函数极值求解;7.1.2函数极值求解;7.1.2函数极值求解;7.1.2函数极值求解;7.1.2函数极值求解;7.1.3非线性方程组求解;【实例】使用folve()函数求非线性方程组的解,方程如下。

In[14]:deff(x):

x0,x1,x2=x.tolist()

return[5*x1+3,4*x0*x0-2*np.sin(x1*x2),x1*x2-1.5]

#f()计算方程组的误差,[1,1,1]是未知数的初始值

result=optimize.fsolve(f,[1,1,1])

print(result)

print(f(result))

Out[14]:

[-0-0.6-2.5]

[0.0,-9.126033262418787e-14,5.329070518200751e-15]

由于fsolve()函数在调用函数f()时,传递的参数为数组,因此如果直接使用数组中的元素计算的话,计算速度将会有所降低。所以这里先用数组的tolist()函数将数组中的元素转换为Python中的标准浮点数,然后调用标准NumPy库中的函数进行运算。;在对方程组进行求解时,fsolve()函数会自动计算方程组的雅可比矩阵,当方程组中的未知数很多,而与每个方程有关的未知数较少时(即雅可比矩阵比较稀疏时),传递一个计算雅可比矩阵的函数将能大幅度提升运算速度。例如,一个计算的程序中需要求有50个未知数的非线性方程组的解,而每个方程平均与6个未知数相关,那么通过传递雅可比矩阵的计算函数可以使计算速度显著提高。

雅可比矩阵是一阶偏导数以一定方式排列的矩阵,它给出了可微分方程与给定点的最优线性逼近,因此类似多元函数的导数。例如前面的函数f1、f2、f3和未知数u1、u2、u3的雅可比矩阵如下:

;计算雅可比矩阵的函数j()和f()一样,其x参数是未知数的一组值,它计算非线性方程组在x处的雅可比矩阵。通过fprime参数将j()传递给fsolve()。

下面使用雅可比行列式求非线性方程组的解。

In[15]:

defj(x):

x0,x1,x2=x.tolist()

return[[0,5,0],

[8*x0,-2*x2*np.cos(x1*x2),-2*x1*np.cos(x1*x2)],

[0,x2,x1]]

result=optimize.fsolve(f,[1,1,1],fprime=j)

print(result)

Out[15]:

[-0-0.6-2.5]

由于本例中的未知数很少,因此计算雅可比矩阵并不能显著地提升计算速度。;7.2插值库;7.2插值库;7.2.1一维插值; 7.2.1一维插值;7.2.1一维插值;7.2.1一维插值;7.2.1一维插值;7.2.2二维插值;7.2.2二维插值;7.2.2二维插值;7.2.3插值法处理缺失值;7.3线性代数;7.3.1线性方程组求解;7.3.1线性方程组求解;7.3.2最小二乘解;7.3.3计算行列式;7.3.4求逆矩阵;7.3.5求取特征值与特征向量;7.3.6奇异值分解;7.3.6奇异值分解;7.4数值积分;7.4.1已知函数式求积分;7.4.1已知函数式求积分;1.一重积分;In[23]:

fromscipyimportintegrate

f=lambdax:np.exp(-x**2)

re=integrate.quad(f,0,5)

print(re)

Out[23]:

(0.8862269254513955,2.3183115139669666e-14)

quad()函数返回两个q值,第一个值是积分的值,第二个值是对积分值的绝对误差估计。

如果积

文档评论(0)

学海无涯而人有崖 + 关注
实名认证
内容提供者

教师资格证、人力资源管理师持证人

该用户很懒,什么也没介绍

领域认证该用户于2023年06月11日上传了教师资格证、人力资源管理师

1亿VIP精品文档

相关文档