博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 曲线拟合求参数_Python:查找任意曲线的拟合参数数量
阅读量:6269 次
发布时间:2019-06-22

本文共 756 字,大约阅读时间需要 2 分钟。

有没有办法返回任意函数在其他文件中定义的参数个数?我已经尝试在inspect中使用Signature类,如下所示:

from foo import func1, func2, func3

from inspect import signature

from scipy.optimize import curve_fit

func_list = [ func1, func2, func3 ]

n, bins, patches = hist( array )

for f in func_list:

sig = signature(f)

args = sig.parameters['args']

p = np.ones( len(args) )

params = curve_fit( f, bins[1:], n, p0 = p )

print(params[0])

但是,从我看到的情况来看,这并不是我需要的签名,只适用于本地用户定义的函数 .

这里出现问题的地方是我在一个类中有一个测试函数(修改过的高斯函数),它接受一个必需参数(输入数组)和三个拟合参数:

def _pdf( self, x, a, b, c ):

return np.sqrt(a) * ( np.exp(-(b*x)**2 / c ) / np.sqrt(2.0 * np.pi) )

我希望在上面的例子中 len( params[0] ) 的值为3 .

np.ones的初始化是任意的(因为我知道没有说明p0将给出所有参数的数量都在猜测1)但是我将来修改这个数组 . 现在,我只需要能够手动确定p0的长度 .

上下文:我想使用scipy拟合一些曲线参数,但我不知道每个曲线在用户加载之前将具有多少拟合参数 .

有任何想法吗?谢谢

转载地址:http://ytspa.baihongyu.com/

你可能感兴趣的文章
深入分析由前序和中序重构二叉树问题
查看>>
leetcode 题解 || Valid Parentheses 问题
查看>>
将图片转成base64字符串并在JSP页面显示的Java代码
查看>>
什么是WeakHashMap--转
查看>>
js 面试题
查看>>
第二十二节,三元运算
查看>>
Yacc 与 Lex 快速入门
查看>>
Unity中HDR外发光的使用
查看>>
Flume负载均衡配置
查看>>
Ajax详解
查看>>
Ubuntu C/C++开发环境的安装和配置
查看>>
百世汇通快递地区选择插件,单独剥离
查看>>
Linux系统调用---同步IO: sync、fsync与fdatasync【转】
查看>>
【MyBatis学习06】输入映射和输出映射
查看>>
[LeetCode] Decode String 解码字符串
查看>>
数字逻辑的一些基本运算和概念
查看>>
ant重新编译打包hadoop-core-1.2.1.jar时遇到的错
查看>>
【★★★★★】提高PHP代码质量的36个技巧
查看>>
3 weekend110的配置hadoop(格式化) + 一些问题解决 + 未免密码配置
查看>>
JavaScript Creating 对象
查看>>