python - 位置参数和函数的问题
问题描述
我scipy.odr
用来分析三个数据集,我完全不知道如何调试这个特定问题。当我运行它时,它告诉我我的函数*thin_lens1()*
接受一个位置参数,但给出了两个。我已经尝试了一堆重新排列,但我仍然不知道我做错了什么,因为唯一*thin_lens1()*
需要的参数是p1
. 任何人可能能够提供的帮助将不胜感激,因为我完全被困在这里。
import numpy as np
import matplotlib.pyplot as plt
import scipy
import scipy.odr, scipy.special, scipy.stats
#importing data & defining focus length constants
p1,q1,up1,uq1,p2,q2,up2,uq2,p3,q3,up3,uq3 =
np.loadtxt('lenses_data_processed.txt',
comments='#', unpack=True,
usecols = range(0,12))
f1 = 158.695
#defining thin lens equation
def thin_lens1(p1):
return (p1-f1)/(p1*f1)
#parameter guesses
p_guess = [1, 2]
#applying ODR
fit = scipy.odr.Model(thin_lens1)
mydata= odr.RealData(p1, q1, sx=up1, sy=uq1)
myodr = odr.ODR(mydata, fit, beta0 = p_guess, maxit=500)
myoutput = myodr.run()
myoutput.pprint()
解决方案
推荐阅读
- swift - 如何在swift中转换混合大小的整数数组
- xslt - 根据条件删除重复项
- php - 完全理解 PDO::ATTR_EMULATE_PREPARES = false
- windows - IIS Net core http 500.30 问题
- android - DownloadManager 在 Android Q 上抛出 SecurityException
- flutter - 如何在 Listview builder 中使用 async/await
- python - 如何允许我的程序的特定部分写入 txt
- c++ - 类型化的谷歌测试,组合类型,C++
- css - ReactJS 和 CSS 渲染
- javascript - 在 Angular 项目中重用 html 模板