python数值分析的方法及过程是怎样的
Admin 2022-07-01 群英技术资讯 1052 次浏览
很多朋友都对“python数值分析的方法及过程是怎样的”的内容比较感兴趣,对此小编整理了相关的知识分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获,那么感兴趣的朋友就继续往下看吧!噪声是在拟合过程中常用的干扰手段,常用的噪声:
1.统一分布 U(a,b)
f ( x ) = { 1 i f a ≤ x < b 0 o t h e r f(x)=\begin{cases}\begin{aligned}1&\quad if\quad a\le x<b \\ 0&\quad other\end{aligned}\end{cases} f(x)={ 10ifa≤x<bother
import numpy as np x=np.random.uniform(a,b,100) #产生长度为100的U(a,b)
2.正态分布N( μ \mu μ, σ 2 \sigma^2 σ2)
import numpy as np x=np.random.normal(mu, sig, 100) #产生长度为100的N(mu, sqart(sig))
def spline_fit():
size = 20
x = np.linspace(-10, 10, size)
y = np.sin(x) + np.random.normal(0, 0.1, size)
y2 = [0] * len(y)
# for y_i in y:
pp.plot(x, y)
cs = CubicSpline(x, y)
x2 = x = np.linspace(-10, 10, size * 100)
pp.plot(x2, cs(x2))
pp.show()
def least_square():
f = lambda p0, xx: p0[0] * np.sin(xx * p0[1]) + p0[2]
LEN = 100
x = np.linspace(-1, 1, LEN)
y = x ** 2 + 5
# 默认情况,param只会返回求得的参数和返回的错误码,1-4为成功,5-8为失败,如果想输出更多参数,可以指定full_out=1,可以看到出错原因和其他参数
param = leastsq(lambda p0, xx, yy: f(p0, xx) - yy, (1, 1, 1), args=(x, y)) #初值的选择比较重要,如果选取不当,容易陷入局部最优
print(param)
pp.scatter(x, y)
p0 = param[0]
pp.plot(x, f(p0, x))
pp.show()
最小二乘的初值选取非常重要,以下是三份完全相同的数据,虽然最后都收敛了,但是初值不同,得到了完全不同的拟合结果
初值为 ( 1 , 2 , 1 ) (1,2,1) (1,2,1)

初值为 ( 1 , 1 , 1 ) (1,1,1) (1,1,1)

初值为 ( 10 , 10 , 1 ) (10,10,1) (10,10,1)

def lagrange()
from scipy.optimize import minimize
import numpy as np
e = 1e-10
fun = lambda x: 8 * (x[0] * x[1] * x[2]) # f(x,y,z) =8 *x*y*z
cons = ({'type': 'eq', 'fun': lambda x: x[0] ** 2 + x[1] ** 2 + x[2] ** 2 - 1}, # x^2 + y^2 + z^2=1
{'type': 'ineq', 'fun': lambda x: x[0] - e}, # x>=e等价于 x > 0
{'type': 'ineq', 'fun': lambda x: x[1] - e},
{'type': 'ineq', 'fun': lambda x: x[2] - e}
)
x0 = np.array((1.0, 1.0, 1.0)) # 设置初始值
res = minimize(fun, x0, method='SLSQP', constraints=cons)
print('最大值:', res.fun)
print('最优解:', res.x)
print('迭代终止是否成功:', res.success)
print('迭代终止原因:', res.message)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了Pytorch中的Tensorboard与Transforms搭配使用,主要是结合了前两篇文章的的一个小练习,感兴趣的小伙伴可以来练习一下,希望对你的学习有所帮助
函数最重要的目的是方便我们重复使用相同的一段程序。将一些操作隶属于一个函数,以后你想实现相同的操作的时候,只用调用函数名就可以,而
本文实例为大家分享了python画条形图的具体代码,供大家参考,具体内容如下在做毕设的过程中有些数据用表格来展现,会很难看出数据之间的差别,凸显不出数据的特点,所以想制作一个条
TensorFlow使用的求导方法称为自动微分(Automatic Differentiation),它既不是符号求导也不是数值求导,而类似于将两者结合的产物。最基本的原理就是链式法则,关键思想是在基本操作(op)的水平上应用符号求导,并保持中间结果(grad)。
ord() 函数是 chr() 函数(对于 8 位的 ASCII 字符串)的配对函数,它以一个字符串(Unicode 字符)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值,这篇文章主要介绍了python 中内置函数ord()返回字符串的ASCII数值,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008