python scipy.odrpack.odr 示例(带有示例输入/输出)? [英] python scipy.odrpack.odr example (with sample input / output)?

查看:54
本文介绍了python scipy.odrpack.odr 示例(带有示例输入/输出)?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是 scipy.optimize.leastsq 的满意用户.

我现在 - 真的一直都有 - 带有可变误差条的 x,y 数据,看起来 scipy.odrpack.odr 是我需要使用的来尊重某些数据中更大的不确定性.

I now have -- really have always had -- x,y data with variable error bars, and it looks like scipy.odrpack.odr is what I need to use to respect the greater uncertainty in some of the data.

不幸的是,我找不到包含示例代码和示例输入和输出的在线教程.(我试图使这尽可能简单.)

Unfortunately, I cannot find an online tutorial which includes sample code with sample input and output. (I am trying to make this as easy as possible.)

如果有人可以发布带有示例 I/O 的示例代码,我将不胜感激.对于经常使用例程的人来说,这很容易.

I would appreciate it if somebody could post sample code with sample I/O. This would be easy for somebody who uses the routine a lot.

谢谢!账单

推荐答案

这是 文档:

import numpy as np
import scipy.odr.odrpack as odrpack
np.random.seed(1)

N = 100
x = np.linspace(0,10,N)
y = 3*x - 1 + np.random.random(N)
sx = np.random.random(N)
sy = np.random.random(N)

def f(B, x):
    return B[0]*x + B[1]
linear = odrpack.Model(f)
# mydata = odrpack.Data(x, y, wd=1./np.power(sx,2), we=1./np.power(sy,2))
mydata = odrpack.RealData(x, y, sx=sx, sy=sy)

myodr = odrpack.ODR(mydata, linear, beta0=[1., 2.])
myoutput = myodr.run()
myoutput.pprint()
# Beta: [ 3.02012862 -0.63168734]
# Beta Std Error: [ 0.01188347  0.05616458]
# Beta Covariance: [[ 0.00067276 -0.00267082]
#  [-0.00267082  0.01502792]]
# Residual Variance: 0.209906660703
# Inverse Condition #: 0.105981202542
# Reason(s) for Halting:
#   Sum of squares convergence

这篇关于python scipy.odrpack.odr 示例(带有示例输入/输出)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆