我试图用Lmfit库拟合一组由外部模拟获取并存储在向量中的数据。在

下面是我的代码:import numpy as np

import matplotlib.pyplot as plt

from lmfit import Model

from lmfit import Parameters

def DGauss3Par(x,I1,sigma1,sigma2):

I2 = 2.63 - I1

return (I1/np.sqrt(2*np.pi*sigma1))*np.exp(-(x*x)/(2*sigma1*sigma1)) + (I2/np.sqrt(2*np.pi*sigma2))*np.exp(-(x*x)/(2*sigma2*sigma2))

#TAKE DATA

xFull = []

yFull = []

fileTypex = np.dtype([('xFull', np.float)])

fileTypey = np.dtype([('yFull', np.float)])

fDatax = "xValue.dat"

fDatay = "yValue.dat"

xFull = np.loadtxt(fDatax, dtype=fileTypex)

yFull = np.loadtxt(fDatay, dtype=fileTypey)

xGauss = xFull[:]["xFull"]

yGauss = yFull[:]["yFull"]

#MODEL'S DEFINITION

gmodel = Model(DGauss3Par)

params = Parameters()

params.add('I1', value=1.66)

params.add('sigma1', value=1.04)

params.add('sigma2', value=1.2)

result3 = gmodel.fit(yGauss, x=xGauss, params=params)

#PLOTS

plt.plot(xGauss, result3.best_fit, 'y-')

plt.show()

当我运行它时,我得到一个错误:

^{pr2}$

以下是矢量xGauss(与x轴相关)中包含的数据值:[-3.88 -3.28 -3.13 -3.08 -3.03 -2.98 -2.93 -2.88 -2.83 -2.78 -2.73 -2.68

-2.63 -2.58 -2.53 -2.48 -2.43 -2.38 -2.33 -2.28 -2.23 -2.18 -2.13 -2.08

-2.03 -1.98 -1.93 -1.88 -1.83 -1.78 -1.73 -1.68 -1.63 -1.58 -1.53 -1.48

-1.43 -1.38 -1.33 -1.28 -1.23 -1.18 -1.13 -1.08 -1.03 -0.98 -0.93 -0.88

-0.83 -0.78 -0.73 -0.68 -0.63 -0.58 -0.53 -0.48 -0.43 -0.38 -0.33 -0.28

-0.23 -0.18 -0.13 -0.08 -0.03 0.03 0.08 0.13 0.18 0.23 0.28 0.33

0.38 0.43 0.48 0.53 0.58 0.63 0.68 0.73 0.78 0.83 0.88 0.93

0.98 1.03 1.08 1.13 1.18 1.23 1.28 1.33 1.38 1.43 1.48 1.53

1.58 1.63 1.68 1.73 1.78 1.83 1.88 1.93 1.98 2.03 2.08 2.13

2.18 2.23 2.28 2.33 2.38 2.43 2.48 2.53 2.58 2.63 2.68 2.73

2.78 2.83 2.88 2.93 2.98 3.03 3.08 3.13 3.28 3.88]

这些是矢量yGauss中的那些(与y轴有关):[0.00173977 0.00986279 0.01529543 0.0242624 0.0287456 0.03238484

0.03285927 0.03945234 0.04615091 0.05701618 0.0637672 0.07194268

0.07763934 0.08565687 0.09615262 0.1043281 0.11350606 0.1199406

0.1260062 0.14093328 0.15079665 0.16651464 0.18065023 0.1938894

0.2047541 0.21794024 0.22806706 0.23793043 0.25164404 0.2635118

0.28075974 0.29568682 0.30871501 0.3311846 0.34648062 0.36984661

0.38540666 0.40618835 0.4283945 0.45002014 0.48303911 0.50746062

0.53167057 0.5548792 0.57835128 0.60256181 0.62566436 0.65704847

0.68289386 0.71332794 0.73258027 0.769608 0.78769989 0.81407275

0.83358852 0.85210239 0.87109068 0.89456217 0.91618782 0.93760247

0.95680234 0.96919757 0.9783219 0.98486193 0.9931429 0.9931429

0.98486193 0.9783219 0.96919757 0.95680234 0.93760247 0.91618782

0.89456217 0.87109068 0.85210239 0.83358852 0.81407275 0.78769989

0.769608 0.73258027 0.71332794 0.68289386 0.65704847 0.62566436

0.60256181 0.57835128 0.5548792 0.53167057 0.50746062 0.48303911

0.45002014 0.4283945 0.40618835 0.38540666 0.36984661 0.34648062

0.3311846 0.30871501 0.29568682 0.28075974 0.2635118 0.25164404

0.23793043 0.22806706 0.21794024 0.2047541 0.1938894 0.18065023

0.16651464 0.15079665 0.14093328 0.1260062 0.1199406 0.11350606

0.1043281 0.09615262 0.08565687 0.07763934 0.07194268 0.0637672

0.05701618 0.04615091 0.03945234 0.03285927 0.03238484 0.0287456

0.0242624 0.01529543 0.00986279 0.00173977]

我还尝试打印函数返回的值,看看是否真的有一些NaN值:params = Parameters()

params.add('I1', value=1.66)

params.add('sigma1', value=1.04)

params.add('sigma2', value=1.2)

func = DGauss3Par(xGauss,I1,sigma1,sigma2)

print func

但我得到的是:[0.04835225 0.06938855 0.07735839 0.08040181 0.08366964 0.08718237

0.09096169 0.09503048 0.0994128 0.10413374 0.10921938 0.11469669

0.12059333 0.12693754 0.13375795 0.14108333 0.14894236 0.15736337

0.16637406 0.17600115 0.18627003 0.19720444 0.20882607 0.22115413

0.23420498 0.24799173 0.26252377 0.27780639 0.29384037 0.3106216

0.32814069 0.34638266 0.3653266 0.38494543 0.40520569 0.42606735

0.44748374 0.46940149 0.49176057 0.51449442 0.5375301 0.56078857

0.58418507 0.60762948 0.63102687 0.65427809 0.6772804 0.69992818

0.72211377 0.74372824 0.76466232 0.78480729 0.80405595 0.82230355

0.83944875 0.85539458 0.87004937 0.88332762 0.89515085 0.90544838

0.91415806 0.92122688 0.92661155 0.93027889 0.93220625 0.93220625

0.93027889 0.92661155 0.92122688 0.91415806 0.90544838 0.89515085

0.88332762 0.87004937 0.85539458 0.83944875 0.82230355 0.80405595

0.78480729 0.76466232 0.74372824 0.72211377 0.69992818 0.6772804

0.65427809 0.63102687 0.60762948 0.58418507 0.56078857 0.5375301

0.51449442 0.49176057 0.46940149 0.44748374 0.42606735 0.40520569

0.38494543 0.3653266 0.34638266 0.32814069 0.3106216 0.29384037

0.27780639 0.26252377 0.24799173 0.23420498 0.22115413 0.20882607

0.19720444 0.18627003 0.17600115 0.16637406 0.15736337 0.14894236

0.14108333 0.13375795 0.12693754 0.12059333 0.11469669 0.10921938

0.10413374 0.0994128 0.09503048 0.09096169 0.08718237 0.08366964

0.08040181 0.07735839 0.06938855 0.04835225]

所以似乎不存在NaN值,我不明白它返回错误的原因是什么。

谁能帮帮我吗?谢谢!在

python 导入的nan怎么解决_如何在Python中使用Lmfit解决NaN值错误相关推荐

  1. python set 排序_python set 排序_如何在Python中使用sorted()和sort()

    点击"蓝字"关注我们 ?"Python基础知识" 大卫·丰达科夫斯基  著 18财税3班 李潇潇    译 日期:2019年5月6日 一. 使用sorted() ...

  2. python中用什么函数读取字符串_如何在Python中获得函数名作为字符串?

    在Python中,如何在不调用函数的情况下以字符串的形式获得函数名? 1 2 3 4def my_function(): pass print get_function_name_as_string( ...

  3. python无限循环语句的代码_如何在Python中实现非阻塞无限循环

    我有一个无限循环,从网络摄像头读取视频帧,每个帧将通过一个复杂的功能,需要高计算能力.因此,当显示帧时,由于阻塞代码,程序会感觉有点迟钝. 我现在打算做的是, >仅在目标对象出现时收集前几帧 & ...

  4. python如何定义一个空变量_如何在python中定义自由变量? - python

    python doc中的本地/全局/自由变量定义: 如果名称绑定在块中,则除非声明为非本地,否则它是该块的局部变量.如果在模块级别绑定了名称,则该名称为全局变量. (模块代码块的变量是局部变量和全局变 ...

  5. python打印多个变量名_如何在Python中打印单个和多个变量?

    请考虑下面Python 2.x中的两个Python代码片段.# Code 1 print 1 # Output: 1# Code 2 print(1) # Output: 1 在Python 2.X中 ...

  6. python一行输出多个数据_如何在Python中让两个print()函数的输出打印在一行内?

    1.两个连续的print()函数为什么在输出时内容会分行显示? 解:print()中有两个默认参数sep和end,其中sep是代替分隔符,end是代替末尾的换行符,默认使用','代替空格,且默认末尾加 ...

  7. linux中python如何调用matlab的数据_?如何在Python中加入多个数据帧?

    全文共2235字,预计学习时长7分钟 来源:Pexels 初学Python编程的人,面临的是各种未知的挑战. 下面是一个几乎让所有更有抱负的数据科学家都感到意外的场景: 你正在处理一个从多个源收集数据 ...

  8. python的matplotlib库内的函数_如何在matplotlib中找到函数下面的区域?

    我是python和matplotlib库的新手,我试图在绘图中得到函数行下方的区域.我有一个变量a&amp:b,它在我的绘图中移动一个矩形.我也许可以使用原始数学来解决这个问题,但我想知道是否 ...

  9. python列表有固定大小吗_如何在python中创建固定大小的列表?

    (tl:dr:对您的问题的确切答案是numpy.empty或numpy.empty_like,但是您可能不在乎,可以使用myList = [None]*10000.) 简单方法 您可以将列表初始化为所 ...

最新文章

  1. python字符串类型_python字符串类型介绍
  2. Python的线程/进程间通讯对象分析
  3. js 异步和同步的区别
  4. java-基础练习题3
  5. 在datatable中,在指定位置插入列
  6. 执行计划中cpu耗时_面试被问怎么排查遇到的系统CPU飙高和频繁GC,到底该怎么回答?...
  7. 为什么不敢和别人竞争_净空法师开示:学老实,在社会上不能跟人竞争吗? - 如是我闻佛教网...
  8. 基于AJAX的自动完成
  9. oracle数据库中sql%notfound的用法
  10. 为什么调用webservice接口只有 string arg0_快速开发平台中关于支持第三方接口开发的指导
  11. Python零基础入门(一)——Python基础关键字和语法[学习笔记]
  12. python爬取每日腾讯新闻数据
  13. Python 进行excel查重
  14. 后台管理登陆注册跳转以及基础模板 附Gitlab源码
  15. 计算机毕业设计Java学校食堂管理(源码+系统+mysql数据库+lw文档)
  16. 逍遥情缘服务器维护没通告,【维护公告】2月2日中午12:00维护公告
  17. Doxygen简介及使用说明
  18. java mail 端口号_使用Javamail连接到Gmail smtp服务器将忽略指定的端口并尝试使用25...
  19. 如何让一个停不下来的shell脚本在规定时间内停下来?
  20. elasticsearch 下载 kibana 下载 云盘

热门文章

  1. AngularJS的$destory用法
  2. Cisco-小型网络拓扑(DNS、DHCP、网站服务器、无线路由器)
  3. [P1459 [USACO2.1]三值的排序 Sorting a Three-Valued Sequence]
  4. unity shader实现中枪散红效果,(参考别人算法)
  5. java自行车内走线,科普向 公路车有几种全内走线方式?
  6. Mongodb(学习总结)
  7. 数学笔记28——不定式和洛必达法则
  8. 云服务器运维兼职,云服务器的维护工作主要有哪些?
  9. 2022年Google play admob AdSense 第三方收款指南
  10. MacOS 下 TeXstudio 深色背景主题设置