最小二乘法拟合方位角与径向速度的关系

编程入门 行业动态 更新时间:2024-10-26 22:28:41

最小二乘法拟合<a href=https://www.elefans.com/category/jswz/34/1759948.html style=方位角与径向速度的关系"/>

最小二乘法拟合方位角与径向速度的关系

# -*- coding: GB2312 -*-
"""
Created on Thu Jan 21 20:56:24 2016@author: Administrator
"""import numpy as np
from scipy.optimize import leastsq
import pylab as pl
import sysdef func(x, p):"""数据拟合所用的函数: a + b*sin(cx + d)"""a, b, c, d = preturn a + b*np.sin(c*x+d)def residuals(p, y, x):"""实验数据x, y和拟合函数之间的差,p为拟合需要找到的系数"""return y - func(x, p)file=open("E:\\fit\\AM_new.csv",'r')
dataLines = file.readlines()
angle = []
dataA = []
#dataB = []
#dataC = []
#dataD = []for line in dataLines:angleCur,dataACur,dataBCur,dataCCur,dataDCur = line.split(',')if angleCur != 'NaN':angle.append(float(angleCur)/180*np.pi)if dataACur != 'NaN':dataA.append(float(dataACur))#if dataBCur != 'NaN':#dataB.append(float(dataBCur))#if dataCCur != 'NaN':#dataC.append(float(dataCCur))#if dataDCur != 'NaN':#dataD.append(float(dataDCur))p0 = [3, 1, 1, 0] # 第一次猜测的函数拟合参数# 调用leastsq进行数据拟合
# residuals为计算误差的函数
# p0为拟合参数的初始值
# args为需要拟合的实验数据
plsq = leastsq(residuals, p0, args=(dataA, angle))print u"拟合参数", plsq[0] # 实验数据拟合后的参数pl.plot(angle, dataA, label="raw data")
pl.plot(angle, func(angle, plsq[0]), label="fitting data")
pl.legend()
pl.show()



更多推荐

最小二乘法拟合方位角与径向速度的关系

本文发布于:2024-02-12 06:50:23,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1686678.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:方位角   乘法   小二   速度   关系

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!