python怎么写方程条件,条件方程曲线拟合

在xmin处多项式的导数=0的条件可以表示为一个简单的约束,这意味着变量p2,p3,和{}实际上并不独立。衍生条件是p2 + 2*p3*xmin + 3*p4*xmin**2 = 0

其中xmin是xdata的最小值。此外,xmin将在fit之前知道(如果不一定是在编写脚本时),您可以使用它来约束三个参数中的一个。由于xmin可能为零(事实上,它适用于您的情况),因此约束应该是

^{pr2}$

使用lmfit,原始的、无约束的拟合将如下所示(我稍微清理了一下):import numpy as np

from lmfit import Model

import matplotlib.pylab as plt

# the model function:

def cubic_poly(x, p1, p2, p3, p4):

return p1 + p2*x + p3*x**2 + p4*x**3

xdata = np.arange(100) * 0.1

ydata = cubic_poly(xdata, 2, 0.4, -.2, 0.02)

ydata = ydata + np.random.normal(size=len(xdata), scale=0.05)

# make Model, create parameters, run fit, print results

model = Model(cubic_poly)

params = model.make_params(p1=2.5, p2=0.2, p3=-0.0, p4=0.0)

result = model.fit(ydata, params, x=xdata)

print(result.fit_report())

plt.plot(xdata, ydata, 'bo')

plt.plot(xdata, result.best_fit, 'r-')

plt.show()

哪个打印:[[Model]]

Model(cubic_poly)

[[Fit Statistics]]

# function evals = 13

# data points = 100

# variables = 4

chi-square = 0.218

reduced chi-square = 0.002

Akaike info crit = -604.767

Bayesian info crit = -594.347

[[Variables]]

p1: 2.00924432 +/- 0.018375 (0.91%) (init= 2.5)

p2: 0.39427207 +/- 0.016155 (4.10%) (init= 0.2)

p3: -0.19902928 +/- 0.003802 (1.91%) (init=-0)

p4: 0.01993319 +/- 0.000252 (1.27%) (init= 0)

[[Correlations]] (unreported correlations are < 0.100)

C(p3, p4) = -0.986

C(p2, p3) = -0.967

C(p2, p4) = 0.914

C(p1, p2) = -0.857

C(p1, p3) = 0.732

C(p1, p4) = -0.646

产生了一个

WalOi.png

现在,要添加约束条件,我们将添加xmin作为固定参数,并像上面一样约束{},将上面的内容替换为:params = model.make_params(p1=2.5, p2=0.2, p3=-0.0, p4=0.0)

# add an extra parameter for `xmin`

params.add('xmin', min(xdata), vary=False)

# constrain p2 so that the derivative is 0 at xmin

params['p2'].expr = '-2*p3*xmin - 3*p4*xmin**2'

result = model.fit(ydata, params, x=xdata)

print(result.fit_report())

plt.plot(xdata, ydata, 'bo')

plt.plot(xdata, result.best_fit, 'r-')

plt.show()

现在打印出来了[[Model]]

Model(cubic_poly)

[[Fit Statistics]]

# function evals = 10

# data points = 100

# variables = 3

chi-square = 1.329

reduced chi-square = 0.014

Akaike info crit = -426.056

Bayesian info crit = -418.241

[[Variables]]

p1: 2.39001759 +/- 0.023239 (0.97%) (init= 2.5)

p2: 0 +/- 0 (nan%) == '-2*p3*xmin - 3*p4*xmin**2'

p3: -0.10858258 +/- 0.002372 (2.19%) (init=-0)

p4: 0.01424411 +/- 0.000251 (1.76%) (init= 0)

xmin: 0 (fixed)

[[Correlations]] (unreported correlations are < 0.100)

C(p3, p4) = -0.986

C(p1, p3) = -0.742

C(p1, p4) = 0.658

还有一个情节

TXDde.png

如果xmin不为零(例如,xdata = np.linspace(-10, 10, 101),则{}的值和不确定度将不为零。在

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

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

相关文章

LeetCode 516. 最长回文子序列(动态规划)

1. 题目 给定一个字符串s&#xff0c;找到其中最长的回文子序列。可以假设s的最大长度为1000。 示例 1: 输入: "bbbab" 输出: 4 一个可能的最长回文子序列为 "bbbb"。示例 2: 输入: "cbbd" 输出: 2 一个可能的最长回文子序列为 "bb"…

LeetCode 第 26 场双周赛(363/1971,前18.4%)

文章目录1. 比赛结果2. 题目1. LeetCode 5396. 连续字符 easy2. LeetCode 5397. 最简分数 medium3. LeetCode 5398. 统计二叉树中好节点的数目 medium4. LeetCode 5399. 数位成本和为目标值的最大数字 hard1. 比赛结果 做出来了 1、2、3 题&#xff0c;19分钟做出来3题&#x…

2011年值得注意的5个设计趋势

在过去的12个月里&#xff0c;我们已经看到Web设计领域发生了许多变化。 包括智能手机和平板电脑(如iPad)这些移动设备的日渐普及已经改变了用户对内容的访问和交互方式。还有&#xff0c;像HTML5、web字体和CSS这些新标准的正式通过意味着越来越多的用户可以使用网络上最新最强…

linux内核线程绑定到单个核,linux 将进程或者线程绑定到指定的cpu上

基本概念cpu亲和性(affinity)CPU的亲和性&#xff0c; 就是进程要在指定的 CPU 上尽量长时间地运行而不被迁移到其他处理器&#xff0c;也称为CPU关联性&#xff1b;再简单的点的描述就将指定的进程或线程绑定到相应的cpu上&#xff1b;在多核运行的机器上&#xff0c;每个CPU本…

LeetCode 1453. 圆形靶内的最大飞镖数量(几何题)

1. 题目 墙壁上挂着一个圆形的飞镖靶。现在请你蒙着眼睛向靶上投掷飞镖。 投掷到墙上的飞镖用二维平面上的点坐标数组表示。飞镖靶的半径为 r 。 请返回能够落在 任意 半径为 r 的圆形靶内或靶上的最大飞镖数。 示例 1&#xff1a; 输入&#xff1a;points [[-2,0],[2,0…

Pandas入门1(DataFrame+Series读写/Index+Select+Assign)

文章目录1. Creating, Reading and Writing1.1 DataFrame 数据框架1.2 Series 序列1.3 Reading 读取数据2. Indexing, Selecting, Assigning2.1 类python方式的访问2.2 Pandas特有的访问方式2.2.1 iloc 基于index访问2.2.2 loc 基于label标签访问2.3 set_index() 设置索引列2.4…

关于Visual C#.NET数据库开发经典案例解析(附光盘两张)(珍藏版)—的读后感...

关于Visual C#.NET数据库开发经典案例解析&#xff08;附光盘两张&#xff09;&#xff08;珍藏版&#xff09;— 评论读后感&#xff1a;里面的内容很经典&#xff0c;很实用读后感&#xff1a;给初学者是好&#xff0c;但是是比较旧的了&#xff01;VS2003 C/S的读后感&#…

LeetCode 372. 超级次方(快速幂)

1. 题目 你的任务是计算 ab 对 1337 取模&#xff0c;a 是一个正整数&#xff0c;b 是一个非常大的正整数且会以数组形式给出。 示例 1: 输入: a 2, b [3] 输出: 8示例 2: 输入: a 2, b [1,0] 输出: 1024来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&…

c#让电脑锁定、注销、关机

代码 usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingMicrosoft.Win32;usingSystem.Runtime.InteropServices;usingSystem.IO;usingSystem…

Pandas入门2(DataFunctions+Maps+groupby+sort_values)

文章目录3. Summary Functions and Maps3.1 Summary Functions 数据总结函数3.1.1 describe()3.1.2 mean()&#xff0c;median()&#xff0c;idxmax()&#xff0c;unique()&#xff0c;value_counts()3.2 Maps 映射3.2.1 map()3.2.2 apply()3.2.3 内置转换方法4. Grouping and …

linux视频在windows播放器,适用于Windows和Linux的免费多媒体播放器SMPlayer 18.6.0发布 - 爱绿豆...

SMPlayer是一个很好的 MPlayer 电影播放程序前端&#xff0c;可以支持大部分的视频和音频文件。它支持音频轨道切换&#xff0c;允许调节亮度、对比度、色调、饱和度、伽玛值&#xff0c;按照倍速、4倍速等多种速度回放&#xff0c;还可以进行音频和字幕延迟调整以同步音频和字…

OA 办公系统 模块设计

--连接主数据库 use Master go --如果数据库simpleoa 存在&#xff0c;则先删除simpleoa。 if exists (select * from sysdatabases where namesimpleoa) drop database simpleoa go--创建simpleoa数据库 create database simpleoa go-- use simpleoa go--创建用户表 create…

通过java理解linux,Java继承的理解

继承&#xff1a;1)概念把多个类中相同的成员给提取出来定义到一个独立的类中。然后让这多个类和该独立的类产生一个关系&#xff0c;这多个类就具备了这些内容。这个关系叫继承。1.1)定义类时&#xff0c;通过“继承”一个现有的类&#xff0c;子类可以具有父类中的所有属性和…

Blend设计VSM

Silverlight中的ControlTemplate(1)-概念 Silverlight中的ControlTemplate(2)-概念 Silverlight中的ControlTemplate&#xff08;3&#xff09;-Blend设计ControlTemplate 上一篇我是通过Blend简单的演示如何修改ControlTemplate&#xff0c;这一篇关注VSM这个部分。 概念的东…

Pandas入门3(dtype+fillna+replace+rename+concat+join)

文章目录5. dtype 数据类型6. Missing data 缺失值6.1 查找缺失值 pd.isnull()&#xff0c;pd.notnull()6.2 填补缺失值 fillna()&#xff0c;replace()7. Renaming and Combining 重命名、合并7.1 Renaming 重命名7.2 Combining 合并数据learn from https://www.kaggle.com/l…

使用Delphi自带的TDockTabSet组件实现停靠功能(Jeremy North)

源地址&#xff1a;http://edn.embarcadero.com/article/33446 摘要: Instructions on how to use the TDockTabSet component to make advanced docking user interfaces. Introduction This article discusses the use of the TDockTabSet component that was originally int…

安装linux出现基础系统出错,Linux系统出错提示信息详解

ERROR PCI: cannot allocate(无法指派)这样的错误有许多&#xff0c;他们主要在启动系统时出现。他们有一个共同的起因&#xff1a;错误的电源管理行为。罪魁祸首是一个叫做ACPI的东西&#xff0c;即高级配置与电源接口。尽管他是一种电源管理标准&#xff0c;但在十几年的时间…

c语言基本数据类型常量,C语言基础学习基本数据类型-变量和常量

变量和常量什么是变量和常量&#xff1f;有些数据在程序运行前就预先设定&#xff0c;并在运行过程中不发生变化&#xff0c;称之为常量&#xff1b;有些数据在程序运行中可能发生变化或被赋值&#xff0c;称之为变量。使用变量前必须先声明一个变量。变量定义的语法是&#xf…

2011年影响3G手机发展四大因素

今晨闻讯&#xff0c;中电信明年3季度将推出iPhone。据称CDMA版本的iPhone推出&#xff0c;对中国电信意义重大&#xff0c;售价会高于WCDMA版。联通、移动、电信争夺“苹果血案”将继续上演。 截止2010年12月31日&#xff0c;中国3G用户不超过5000万。而工信部落实3G发展规划是…

Feature Engineering 特征工程 1. Baseline Model

文章目录1. 读取数据2. 处理label3. 添加特征4. 数据集切片5. 训练6. 预测learn from https://www.kaggle.com/learn/feature-engineering下一篇&#xff1a;Feature Engineering 特征工程 2. Categorical Encodings 1. 读取数据 预测任务&#xff1a;用户是否会下载APP&…