我想将下面附带的数据与-a*sin(b*x + c)(或可能也可以使用-a*sin(2*x))与a b c作为要确定的值的函数拟合。我使用了scipy.optimize.curve_fit,但效果不好(如您在image中看到的那样)。我该如何改进?在Python中拟合正弦数据

代码:

import numpy as np

import matplotlib.pylab as plt

data = open('pruebaData.dat', 'r')

lines = data.readlines()[1:]

x = []

y = []

for line in lines:

pos = line.split()

if pos != []:

x.append(float(pos[0]))

y.append(float(pos[1]))

z = []

for k in range(len(x)):

z.append(np.deg2rad(x[k]))

valX = np.asarray(z)

valY = np.asarray(y)

from scipy.optimize import curve_fit

def fitFunc(X,a,b,c):

return (- a*np.sin(b*X + c))

fig = plt.figure(2, figsize = (10,8))

init_vals = [1,1,1]

best_vals, covar = curve_fit(fitFunc, valX, valY, p0=init_vals, maxfev = 15000)

line1 = plt.plot(x, y, 'o', color = 'k', ms = 6)

fig2 = plt.plot(x,fitFunc(valX,best_vals[0],best_vals[1], best_vals[2]), '-

', color = 'k', lw = 1)

print('PARAMETERS:',best_vals)

plt.ylabel(r'DATA Y',fontsize=30)

plt.xlabel(r'DATA X',fontsize=30)

plt.xlim(min(x),max(x))

locs,labels = plt.xticks()

plt.xticks(locs, fontsize = 20)

locs,labels = plt.yticks()

plt.yticks(locs, fontsize = 20)

plt.savefig('prueba.png', dpi = 500)

2017-07-19

JCPP

+0

拟合周期性函数总是很棘手。更改频率“b”的初始值以更好地匹配预期频率。 –

+0

您的数据看起来不像一个正弦曲线。也许两个高斯的叠加会更好。或者,如果你知道你的数据应该是正弦曲线 - 那么你的实验是不好的。 –

+0

你能修好你的缩进吗? –

python正弦函数拟合_在Python中拟合正弦数据相关推荐

  1. python音频 降噪_从视频中提取音频数据,然后应用傅里叶对音频降噪(python)...

    视频准备 QQ有热键 然后随便打开一个视频网站进行录屏 我选择B站 从视频中提取音频 需要安装包moviepy pip install moviepy 提取代码 from moviepy.editor ...

  2. python中立方表示_在Python中表示一个对象的方法

    在 Python 中一切都是对象.如果要在 Python 中表示一个对象,除了定义 class 外还有哪些方式呢?我们今天就来盘点一下. 0x00 dict 字典或映射存储 KV 键值对,它对查找.插 ...

  3. python 时间序列预测_使用Python进行动手时间序列预测

    python 时间序列预测 Time series analysis is the endeavor of extracting meaningful summary and statistical ...

  4. python 概率分布模型_使用python的概率模型进行公司估值

    python 概率分布模型 Note from Towards Data Science's editors: While we allow independent authors to publis ...

  5. python筛选excel某一列中相同的数据

    求赞----求关注 python筛选excel某一列中相同的数据 1.需要cmd下载 pip install pandas  的模板 2.注意文件的路径问题不要出错 3.还有文件的编码格式 ----- ...

  6. python对象引用计数器_在Python中借助计数器对象对项目进行计数

    python对象引用计数器 前提 (The Premise) When we deal with data containers, such as tuples and lists, in Pytho ...

  7. python打印星图_在python中探索地图与星图

    python打印星图 地图(map) "map(function, iterable, ...) " map(function, iterable, ...) Return an ...

  8. python创建列向量_关于Numpy中的行向量和列向量详解

    关于Numpy中的行向量和列向量详解 行向量 方式1 import numpy as np b=np.array([1,2,3]).reshape((1,-1)) print(b,b.shape) 结 ...

  9. python selenium 下拉列表_从下拉列表中选择python selenium选项

    我试图使用下面的代码使用selenium(python)从网页上的下拉列表中选择一个选项.在from selenium import webdriver from selenium.webdriver ...

最新文章

  1. Android 中自定义控件和属性(attr.xml,declare-styleable,TypedArray)的方法和使用
  2. 关于java调用Dll文件的异常 %1 不是有效的 Win32 应用程序。
  3. private、protected、public、published 访问限制(或者叫类成员的可见性)
  4. c语言vi运行编译文件,VC++6.0中如何编译运行及调试C语言程序文件.docx
  5. LeetCode - Majority Element
  6. PHP中的正则表达式函数preg_
  7. js元素事件的绑定与解绑,绑定事件的区别
  8. 辐射3计算机,辐射3与道德
  9. Java数据结构与算法解析(一)——表
  10. 服务零售全场景,苏宁机器人“分身有术”
  11. python中文乱码如何处理、如何处理跨域_解决Python发送Http请求时,中文乱码的问题...
  12. ubuntu18.04智能拼音候选字体调节方法
  13. swift 下标 subscript
  14. DAY7(DAY8拓展):Python基础及内置库介绍与使用(含例题)
  15. 总结一下强化学习在工业界应用,给大家扩展一下思路(简易科普)
  16. 使用validate注解做校验以及自定义validate注解
  17. mysql 日程设计_客服-电销日程表 - 数据库设计 - 数据库表结构 - 果创云
  18. VL53L0X 底层思路整理(1)
  19. netlogon启动后停止_【漏洞通报】微软NetLogon提权漏洞
  20. 戴尔se2717h 怎么拆支架

热门文章

  1. 韩国的排骨有多贵?(关于韩剧的暴笑讨论)
  2. 浙江卫视(高清)在线直播-PPS直播
  3. nodejs中module.exports和exports的区别
  4. CCD/CMOS传感器基本定义与镜头转换系数计算
  5. SAP 电商云 Assisted Service Module (ASM) 功能模块讲解
  6. 拨开抑郁的阴霾,奏响心灵的乐章——抑郁症的治疗目标
  7. 如何优化一款企业级 即时通讯工具? 从需求分析到原型文档
  8. saturate_cast
  9. ROS teb_local_planner使用
  10. PHP在中国的发展现状及就业前景解析