如何解决如何找到函数参数输入的长度?
我正在尝试使用Scipy的ODR
将各种不同的曲线拟合到数据中。这些曲线必须作为由功能定义的ODR模型给出。此函数有两个参数:p
和x
。 p
是将被优化的参数列表。示例:
def f(p,x):
m,c = p
return m*x + c
model = Model(f)
data = RealData(xdata,ydata)
odr_setup = ODR(data,model,beta0=[0,0],partol=0.001)
odr_result = odr_setup.run()
我的问题:p
的长度取决于我适合的功能。如果beta0
和p
的长度不同,则给出ValueError
。为了解决这个问题,我构造了一些嵌套的try-except
语句来获取匹配的长度。有没有更优雅的方法可以实现相同的目的?
理想情况下,我想要类似ODR(data,***beta0=[0]*n_params***,partol=0.001)
的东西。我将如何找到n_params
?还是有更好的方法?
谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。