python:数据拟合求解方程参数

大家早好、午好、晚好吖 ❤ ~欢迎光临本文章

如果有什么疑惑/资料需要的可以点击文章末尾名片领取源码

首先引入三件套和scipy
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
拿到实验数据,通过pandas读取为DataFrame
data = pd.read_csv("W-900K.csv")
data.head()

将数据绘制出来,以方便确认使用哪种方程进行拟合
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:702813599
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
plot1=plt.plot(data['ind'], data['val'], '*',label='original values')
plt.xlabel('x')
plt.ylabel('y')
plt.legend(loc=4)
plt.title('ORIGIN VALUES')
plt.show()

从上图曲线可以推断出,我们的数据应该符合指数分布,所以下面定义一个指数函数,将参数使用a,b,c预留出来.

def func(x,a,b,c):return a*np.exp(b*x) + c
1
2
进行拟合,得出上一步定义的参数, popt中得出的三个值分别代表上述函数中的三个参数 a,b,cpopt, pcov = curve_fit(func, data['ind'], data['val'])
print(popt)[-443.68006622   -2.49480416 1293.98737632]

至此我们的求解已经结束,下面用得到的结果绘制出函数曲线以验证结果的正确性

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:702813599
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
# 原始数据
plt.plot(data['ind'], data['val'], '*',label='original values')
# 拟合出的数据
plt.plot(data['ind'], func(data['ind'],popt[0],popt[1],popt[2]), 'r',label='curve fit values')
plt.xlabel('x')
plt.ylabel('y')
plt.legend(loc=4)
plt.title('COMPARISON')
plt.show()

尾语

好了,今天的分享就差不多到这里了!

对下一篇大家想看什么,可在评论区留言哦!看到我会更新哒(ง •_•)ง

喜欢就关注一下博主,或点赞收藏评论一下我的文章叭!!!

最后,宣传一下呀~👇👇👇 更多源码、资料、素材、解答、交流 皆点击下方名片获取呀👇👇👇

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/89750.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

‘Could not find first log file name in binary log index file‘的解决办法

mysql主从报异常Got fatal error 1236 from master when reading data from binary log: Could not find first log file name in binary log index file 数据库主从出错: Slave_IO_Running: No 一方面原因是因为网络通信的问题也有可能是日志读取错误的问题。以下是日志出错…

知识图谱02——使用python将信息录入neo4j

将文档传入chatgpt,生成对应的cypher语句 链接: https://pan.baidu.com/s/1Ny-ttbBSpqYEigwYiCWMeA?pwdc7sc 提取码: c7sc 使用命令行安装对应的包 pip install neo4jchatgpt生成出的txt文档中的内容如下: MERGE (Node1:Entity {name: 原始舱单提运单…

ClickHouse(15)ClickHouse合并树MergeTree家族表引擎之GraphiteMergeTree详细解析

GraphiteMergeTree该引擎用来对Graphite数据(图数据)进行瘦身及汇总。对于想使用ClickHouse来存储Graphite数据的开发者来说可能有用。 如果不需要对Graphite数据做汇总,那么可以使用任意的ClickHouse表引擎;但若需要,那就采用GraphiteMerge…

实验室没人导该怎么办

实验室没人教该怎么办 Q: 国内top5高校研一,课题开始老板就给了一个大方向,之后怎么做实验都是自己看文献研究的,终于开始动手做实验,才发现别人根本不想管你,宁愿抱着电脑看剧也不想教你,十分焦虑,该怎么办? A: 按照大多数实验室的惯例,老板一定会指派一个小老板…

电子学会Python二级知识点(自己整理)

序列 Python的变量不需要声明,每个变量在使用之前必须赋值,变量被赋值以后,该变量才会被创建。常见的6个数据类型:数字(Number)、字符串(String)、列表(List)、元组(Tuple)、集合(Set)、字典(Dictionary)。6中数据类型分为两大类…

解决键盘长按才有反应

问题分析: 排除键盘自身没有问题,那就应该是电脑设置的问题,目前我遇到的不小心长按shift键设置了【筛选键】 解决方式: 打开设置搜索筛选建,关闭,粘带键也会出现类似问题。

HCQ1-1300-D【故障笔记】

常用查错网址: SMC_ERROR (ENUM) 34:【实轴从正常状态转到错误状态】FB放错线程,(要放ecat线程内),比如 MC_Jog 36: 删除 Web 小于4.9 可使用4.6

acwing算法基础之基础算法--归并排序

目录 1 知识点2 代码模板 1 知识点 归并排序算法步骤: step1:确定分界点,比如mid (left right) / 2。 step2:递归排序分界点左边部分、分界点右边部分。 step3:归并。将有序的左边序列和有序的右边序列,…

港联证券:为什么股票不能买跌?

股票商场是一个布满变数和风险的商场,出资者经常会遇到这样一个问题:为什么股票不能买跌?在商场中,有许多的股票价格不断地走低,为什么不能趁低买入呢?这一问题的答案并不简略,需要从多个角度去…

习题6-3 使用函数输出指定范围内的完数 (20分)

本题要求实现一个计算整数因子和的简单函数&#xff0c;并利用其实现另一个函数&#xff0c;输出两正整数m和n&#xff08;0<m≤n≤10000&#xff09;之间的所有完数。所谓完数就是该数恰好等于除自身外的因子之和。例如&#xff1a;6123&#xff0c;其中1、2、3为6的因子。…

使用EasyExcel后端导出excel

官方文档&#xff1a;关于Easyexcel | Easy Excel 这里进行简单记录&#xff0c;方便确定是不是适用此方式&#xff1a; 零&#xff1a;实体类中注解用法 一&#xff1a;读excel /*** 强制读取第三个 这里不建议 index 和 name 同时用&#xff0c;要么一个对象只用index&…

WordPress主题DUX v8.2源码下载

新增产品分类左侧多级分类折叠显示 新增网站默认字体对 MiSans 和 HarmonyOS Sans 的支持 新增顶部左上角显示登录注册的模块开关&#xff0c;且支持原生登录方式 新增手机端导航菜单的关闭按钮 新增文章内容中标题二的强化展示 新增全站禁止复制、右键和选择的操作 新增文章内…

clickhouse MPPDB数据库 运维实用SQL总结IV

文章目录 1. 分布式ddl执行引起的故障1.1. 报错信息1.2.故障定位1.3.解决方案2. table_is_read_only的报错2.1. 报错信息2.2. 故障定位2.3. 解决方案clickhouse MPPDB数据库 运维实用SQL总结 clickhouse MPPDB数据库 运维实用SQL总结II clickhouse MPPDB数据库 运维实用SQL总结…

线性代数(七) 矩阵分析

前言 从性线变换我们得出&#xff0c;矩阵和函数是密不可分的。如何用函数的思维来分析矩阵。 矩阵的序列 通过这个定义我们就定义了矩阵序列的收敛性。 研究矩阵序列收敛性的常用方法&#xff0c;是用《常见向量范数和矩阵范数》来研究矩阵序列的极限。 长度是范数的一个特…

【JDK 8-集合框架进阶】6.1 parallelStream 并行流

一、parallelStream 并行流 1.1 串行 和 并行的区别 > 执行结果 二、问题 2.1 paralleStream 并行是否一定比 Stream 串行快? 2.2 是否可以都用并行&#xff1f; > 报错 三、实战 > 执行结果 四、总结 一、parallelStream 并行流 多线程并发处理&#xff…

鸿蒙是一个怎么样的操作系统,真的是安卓套壳吗?

从鸿蒙项目正式推出以来&#xff0c;就一直有各自声音&#xff0c;有看好的&#xff0c;认为鸿蒙的出现将会成为一个智能终端设备操作系统的框架和平台&#xff0c;促进万物互联产业的繁荣发展&#xff1b;也有的人在唱衰&#xff0c;觉得鸿蒙发展不起来&#xff0c;甚至认为鸿…

Nginx手动编译、安装超超详解

文章目录 一、为什么要手动编译Nginx二、下载Nginx1、官网2、下载至linux服务器3、源码目录分析4、编译安装5、安装目录 三、启动1、启动2、访问一下80端口 一、为什么要手动编译Nginx Nginx安装除了编译以外&#xff0c;我们还可以直接用操作系统上自带的工具比如说yum、apt-…

设计模式——访问者模式

访问者模式是什么&#xff1f; 表示一个作用于某对象结构中的各元素的操作&#xff0c;它使你可以再不改变各元素的类的前提下定义作用于这些元素的新操作 访问者模式解决什么问题&#xff1f; 男女在不同情境下表现的不同 abstract class Person {protected String action…

java框架-Spring-事务

配置 配置事务管理器方法&#xff1a; Beanpublic PlatformTransactionManager platformTransactionManager(){return new DataSourceTransactionManager();}原理