Python 使用外部程序进行Scipy曲线拟合?

Python 使用外部程序进行Scipy曲线拟合?,python,scipy,curve-fitting,Python,Scipy,Curve Fitting,是否可以将曲线拟合与外部程序一起使用 例如,我有一个函数 def test(a,b): os.system('./program a b') data = numpy.load('outputdata.txt') return data 以两个变量作为输入变量,用C++编写的外部程序。该程序是一个模拟程序,将其输出创建到文本文件中。然后我读取文本文件并返回它进行打印。一件可以立即注意到的事情是,它不需要X变量 我试着在曲线拟合中运行这个函数,但它只会给我初始的猜测变量,

是否可以将曲线拟合与外部程序一起使用

例如,我有一个函数

def test(a,b):
    os.system('./program a b')
    data = numpy.load('outputdata.txt')
    return data

以两个变量作为输入变量,用C++编写的外部程序。该程序是一个模拟程序,将其输出创建到文本文件中。然后我读取文本文件并返回它进行打印。一件可以立即注意到的事情是,它不需要X变量

我试着在曲线拟合中运行这个函数,但它只会给我初始的猜测变量,结果是错误无限

这有可能吗?是否缺少X变量才是问题所在?因为curve_fit需要一个,所以我给了它一个[1…1]数组,因为它没有实际使用


Thx.

使用[1…1]作为扩展数据是一个糟糕的举动;它们必须是不同的。尝试
np.linspace(0,1,n)
其中n=点数。如果您没有x变量(或t或任何等效变量),则可能无法实际拟合曲线。。。无论如何,您可以尝试@Gerry的方法使用虚拟x,或者放弃
曲线拟合
,以及
数据
和任何目标之间的差异-两者都应该有效。一个更简单,一个给你更多的控制。选择您更喜欢的方法。我实际上使用了一个具有不同值的X数组,我只是认为[1…1]编写起来更简单。@kazemakase关于“不拟合曲线”的说法可能是正确的:我使用了通过外部调用的步长,但使用了leastsq和剩余函数调用外部函数并读取文本文件。