python中leastsq函数如何使用
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,本篇内容介绍了"python中leastsq函数如何使用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成
千家信息网最后更新 2025年02月02日python中leastsq函数如何使用
本篇内容介绍了"python中leastsq函数如何使用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
leastsq作用:最小化一组方程的平方和。
参数设置:
func
误差函数x0
初始化的参数args
其他的额外参数
举个例子:
首先创建样本点
import numpy as npimport scipy as spfrom scipy.optimize import leastsqimport matplotlib.pyplot as pltplt.rcParams['font.sans-serif']=['SimHei']plt.rcParams['axes.unicode_minus']=Falsex=[1,2,3,4]y=[2,3,4,5]
拟合直线
def y_pre(p,x): f=np.poly1d(p) return f(x)
其中的np.polyld
f=np.poly1d([1,2,3]) # x^2+2x+3f(1)"""6"""
误差函数
def error(p,x,y): return y-y_pre(p,x)
接下就简单了
p=[1,2] # 值随便写# y=w1*x+w2res=leastsq(error,p,args=(x,y))w1,w2=res[0] # res[0]中就是wi的参数列表"""到这w1和w2就已经求出来了,下面是画图看一下"""x_=np.linspace(1,10,100) # 等差数列,y_p=w1*x_+w2 # 求出的拟合曲线plt.scatter(x,y) # 样本点plt.plot(x_,y_p) # 画拟合曲线
可以直接封装成函数
x=np.linspace(0,2,10)y=np.sin(np.pi*x)# 原始的样本y_=[y + np.random.normal(0,0.1) for y in y] # np.random.normal(loc,scale,size):正态分布的均值,正态分布的标准差,形状# np.random.randn() # 标准正态分布是以0为均数、以1为标准差的正态分布,记为N(0,1)def fit(M=1): p=np.random.rand(M+1) # 返回一个或一组服从"0~1"均匀分布的随机样本值。随机样本取值范围是[0,1) res=leastsq(error,p,args=(x,y)) # wi 的值 x_point=np.linspace(0,2,100) # 增加数据量为了画出的图平滑 y_point=np.sin(np.pi*x_point) # 增加数据量为了画出的图平滑 plt.plot(x_point,y_point,'r',label='原始') plt.plot(x_point,y_pre(res[0],x_point),'b',label='拟合') plt.scatter(x,y_) plt.legend()fit(3)
你也可以输出一下中间的结果:
x=np.linspace(0,2,10)y=np.sin(np.pi*x)# 原始的样本y_=[y + np.random.normal(0,0.1) for y in y] # np.random.normal(loc,scale,size):正态分布的均值,正态分布的标准差,形状# np.random.randn() # 标准正态分布是以0为均数、以1为标准差的正态分布,记为N(0,1)def fit(M=1): p=np.random.rand(M+1) # 返回一个或一组服从"0~1"均匀分布的随机样本值。随机样本取值范围是[0,1) res=leastsq(error,p,args=(x,y)) # wi 的值 x_point=np.linspace(0,2,100) y_point=np.sin(np.pi*x_point) plt.plot(x_point,y_point,'r',label='原始') plt.plot(x_point,y_pre(res[0],x_point),'b',label='拟合') print(res[0]) plt.scatter(x,y_) plt.legend()fit(3)
拟合的直线就是:
"python中leastsq函数如何使用"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
样本
正态分布
标准
函数
原始
参数
平滑
内容
均值
均数
就是
形状
数据
曲线
更多
直线
知识
范围
误差
求出
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
学校网络安全教育专题讲座
数据库系统期末试题及答案
mysql 数据库零基础
数据库和金融
sql数据库监控sql语句
国家法律法规数据库收录
软件开发结构化面试
网络技术大学生简历范文
jdbc连接服务器数据库
软件开发员笔试真题
广州市贝佳软件开发有限公司评分
服务器cpu评估数量
数据库和数据仓库的联系
国家网络安全平台
拉萨mes软件开发
英雄联盟服务器炸了修好了吗
计算算机网络技术专业
国家推进网络安全体系
网络安全与管理知识点
梦幻服务器人数排行最新
浙江软件开发标准
成都物流软件开发公司
网络安全季度小结
如何删除原有谷歌服务器
光电子与网络技术
湖北移动通信网络技术
手机我的世界可登入服务器
网络安全交通行业怎么干
华科大网络安全专业怎么样
校园网络安全防火墙设计方案