如何使用 GSL 库从两个复数变量中插入一个复数函数?
How to interpolate a complex function form two complex variables using GSL library?
我正在从两个用数组给出的复杂变量内插一个复杂的分析函数:
A、mu 和 t 使用标准 complex numbers presentation from GSL. I want to use the GSL function of two-dimensional interpolation 设置,但是它仅适用于 double
类型。我可以将所有变量(A、mu、t)的所有值分解成Re 和 Im 部分(得到 double**
数组),但我不知道如何插值“两个实数依赖于四个实数”,因为插值器对变量之间的关系一无所知。
此外,每个变量都是其实部和虚部的函数。据我了解,仅组合多个样条是行不通的:在实部之间做样条,在最小部分之间做样条,然后在样条之间做样条是错误的。
这可以使用 GSL 完成吗?如果可以,怎么做?如果没有,是否有关于多维插值算法的描述?
它们是线性无关的。就像平面中的 x 和 y 坐标。
- 内插实部和虚部,或者根据您的问题更好地插入幅度和相位。
- 把结果放在一起。
伪:
interp(re(f(x)) + i * interp(im(f(x)))
如果您确实 mag/phase 进行相位跳跃,请小心。您将不得不展开相位,这在一维中很简单。
我正在从两个用数组给出的复杂变量内插一个复杂的分析函数:
A、mu 和 t 使用标准 complex numbers presentation from GSL. I want to use the GSL function of two-dimensional interpolation 设置,但是它仅适用于 double
类型。我可以将所有变量(A、mu、t)的所有值分解成Re 和 Im 部分(得到 double**
数组),但我不知道如何插值“两个实数依赖于四个实数”,因为插值器对变量之间的关系一无所知。
此外,每个变量都是其实部和虚部的函数。据我了解,仅组合多个样条是行不通的:在实部之间做样条,在最小部分之间做样条,然后在样条之间做样条是错误的。
这可以使用 GSL 完成吗?如果可以,怎么做?如果没有,是否有关于多维插值算法的描述?
它们是线性无关的。就像平面中的 x 和 y 坐标。
- 内插实部和虚部,或者根据您的问题更好地插入幅度和相位。
- 把结果放在一起。
伪:
interp(re(f(x)) + i * interp(im(f(x)))
如果您确实 mag/phase 进行相位跳跃,请小心。您将不得不展开相位,这在一维中很简单。