iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python中leastsq函数的使用方法
  • 828
分享到

python中leastsq函数的使用方法

2024-04-02 19:04:59 828人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

leastsq作用:最小化一组方程的平方和。 参数设置: func 误差函数x0 初始化的参数args 其他的额外参数 举个例子: 首先创建样本点 import numpy as

leastsq作用:最小化一组方程的平方和。

参数设置:

  • func 误差函数
  • x0 初始化的参数
  • args 其他的额外参数

举个例子:

首先创建样本点

import numpy as np
import scipy as sp
from scipy.optimize import leastsq
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
x=[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+3
f(1)
"""
6
"""

误差函数

def error(p,x,y):
    return y-y_pre(p,x)

接下就简单了

p=[1,2]    # 值随便写
# y=w1*x+w2
res=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函数的使用方法的文章就介绍到这了,更多相关leastsq函数内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: python中leastsq函数的使用方法

本文链接: https://www.lsjlt.com/news/142632.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python中leastsq函数的使用方法
    leastsq作用:最小化一组方程的平方和。 参数设置: func 误差函数x0 初始化的参数args 其他的额外参数 举个例子: 首先创建样本点 import numpy as ...
    99+
    2024-04-02
  • python中leastsq函数如何使用
    本篇内容介绍了“python中leastsq函数如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!leastsq作用:最小化一组方程的平...
    99+
    2023-06-29
  • Python中range函数的使用方法
    目录1、range()函数是什么?2、语法格式3、报错问题4、range()函数需要注意的5、range对象是不可变序列6、range函数实现逆序遍历7、与列表list的使用8、关于...
    99+
    2024-04-02
  • python中fail函数的使用方法
    小编给大家分享一下python中fail函数的使用方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、方法说明(1)打开文件f=open(文件名,模式)(2)写...
    99+
    2023-06-15
  • Python中items()函数的使用方法
    Python中items()函数的使用方法 Python中的字典(dict)类型有一个非常有用的内置函数——items()。items()函数用于返回字典中所有的键值对,并将其转换为一...
    99+
    2024-02-23
    python 使用方法 items() 键值对 可迭代对象
  • python中纯函数的使用方法
    这篇文章给大家分享的是有关python中纯函数的使用方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。python主要应用领域有哪些1、云计算,典型应用OpenStack。2、WEB前端开发,众多大型网站均为Py...
    99+
    2023-06-14
  • python中os.path.join()函数的使用方法
    这篇文章给大家分享的是有关python中os.path.join()函数的使用方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、说明拼接文件路径,可以有多个参数。2、语法os.path.join(path2,...
    99+
    2023-06-15
  • Python *zip函数的使用方法
    这篇文章主要介绍“Python *zip函数的使用方法”,在日常操作中,相信很多人在Python *zip函数的使用方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python *zip函数的使用方法”的疑...
    99+
    2023-06-20
  • Python中find函数的详细使用方法
    目录一、find函数的官方定义二、find函数的详细函数使用解释总结一、find函数的官方定义 首先,Python的find函数多用在字符串的处理上,也是Python计算机二级的小考...
    99+
    2023-05-20
    python find函数用法 python中find函数 python find 函数
  • python列表中remove()函数的使用方法
    python列表中remove()函数的使用方法,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1. 基本使用remove() 函数可以删除列表中的指定元素语法list.re...
    99+
    2023-06-22
  • 详解Python中的split()函数的使用方法
    函数:split() Python中有split()和os.path.split()两个函数,具体作用如下: split():拆分字符串。通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(list) os.path.split():...
    99+
    2023-09-26
    数学建模
  • Python pandas库中isnull函数使用方法
    前言: python的pandas库中有⼀个⼗分便利的isnull()函数,它可以⽤来判断缺失值,我们通过⼏个例⼦学习它的使⽤⽅法。⾸先我们创建⼀个dataframe,其中有⼀些数据...
    99+
    2024-04-02
  • python中调用函数的方法
    python中调用函数的方法:在python项目中新建一个函数,直接可以使用函数名加括号进行调用函数即可。具体步骤如下:打开python编辑器,新建一个py文档。在py文档使用def来新建一个函数。最后在通过函数名加括号直接进行调用该函数即...
    99+
    2024-04-02
  • python高阶函数使用的方法
    今天小编给大家分享一下python高阶函数使用的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、高阶函数函数定义pyt...
    99+
    2023-07-02
  • python析构函数的使用方法
    这篇文章将为大家详细讲解有关python析构函数的使用方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Python的优点有哪些1、简单易用,与C/C++、Java、C# 等传统语言相比,Python对代...
    99+
    2023-06-14
  • 了解Django Shell中Python函数的使用方法
    Django是一款使用Python编写的高性能Web框架,它的一个重要特性是Django Shell,它允许我们在交互式环境下使用Python函数,这是一个非常方便的工具,让我们能够更加有效地开发和测试Django应用程序。在本文中,我们将...
    99+
    2023-09-30
    函数 django shell
  • python中log函数的使用方法是什么
    在Python中,可以使用标准库中的logging模块来记录日志。以下是使用log函数的基本方法: 导入logging模块: i...
    99+
    2024-04-02
  • python列表中remove()函数的使用方法详解
    目录1.基本使用2.删除普通类型元素3.删除对象类型元素4.一次只删一个元素5、Python列表的remove方法的注意事项总结1. 基本使用 remove() 函数可以删除列表中的...
    99+
    2024-04-02
  • js函数中参数的使用方法
    本篇内容主要讲解“js函数中参数的使用方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“js函数中参数的使用方法”吧!说明函数内的某些值不能固定,我们可以通过参数在调用函数时传递不同的值。多个参...
    99+
    2023-06-20
  • python中函数的定义和详细的使用方法
    1. 函数的概念,函数是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集   2. 函数的作用,使用函数可以加强代码的复用性,提高程序编写的效率   3. 函数的使用,函数必须先创建才可以使用,该过程称为函数定义,函数创建...
    99+
    2023-01-30
    使用方法 函数 定义
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作