Python Scipy拟合复多变量函数

Python Scipy拟合复多变量函数,python,scipy,curve-fitting,Python,Scipy,Curve Fitting,我在拟合两个(实)变量的复函数(在复平面上具有图像的意义)上的数据时遇到困难 我的问题是,如果需要将变量连接到一个对象中(使用scipy.optimize.curve\u fit函数),我不确定如何传递变量;而且,如果我可以一次拟合数据,而不需要分离和分别拟合实部和虚部 编辑:在玩了一点curve\u fit之后,它似乎确实在复平面中使用复数或函数。我想,否则我将不得不单独拟合(当时我很担心如何处理我的两组拟合参数,或者其中丢失了信息/精度)或使用其他工具。scipy中的拟合函数在任何输入(包括

我在拟合两个(实)变量的复函数(在复平面上具有图像的意义)上的数据时遇到困难

我的问题是,如果需要将变量连接到一个对象中(使用
scipy.optimize.curve\u fit
函数),我不确定如何传递变量;而且,如果我可以一次拟合数据,而不需要分离和分别拟合实部和虚部


编辑:在玩了一点
curve\u fit
之后,它似乎确实在复平面中使用复数或函数。我想,否则我将不得不单独拟合(当时我很担心如何处理我的两组拟合参数,或者其中丢失了信息/精度)或使用其他工具。

scipy中的拟合函数在任何输入(包括复杂输入)下都可以正常工作,只要能以成本计算出一个实数。建议您使用其中一个fmin*,在这里您可以显式计算成本。您确定它适用于复杂对象吗?我在尝试时遇到以下错误:
TypeError:无法根据规则“safe”将数组数据从dtype('complex128')强制转换为dtype('float64')
这没有太大帮助,因为我看不到您在做什么。我将d和a作为两个实变量,r和I作为数据的实部和虚部(用于拟合)。我以如下方式运行它:
deffunc3((var1,var2),amp,exp,spin):
返回amp*var1**exp*N.exp(1j*spin*var2)曲线拟合(func3,(d,a),r+1j*I)