【问题标题】:How can I curve fit two curves simultaneously? How can I curve fit complex numbers?如何曲线同时拟合两条曲线?如何曲线拟合复数?
【发布时间】:2012-07-26 02:17:27
【问题描述】:

更具体地说,我正在处理一个问题,我收集了与 y(x) = a + b/(x*i) + c/(x+i) + d/(x*i) 形式的复函数的实部和虚部相对应的实验数据 [注意:我使用 i 作为虚数单位。我稍微简化了这个功能,但不是很明显]。换句话说,我有这样的数据(理论上)我知道y[x1 x2 ... xn] = [t1 t2 ... tn] + [s1 s2 ... sn]*i。因此,对于任何给定的x 值,我已经独立收集了y 的实部和虚部的实验数据。
由于y 的虚部和实部都依赖于相同的参数(在上面的等式中给出:a,b,c,d),因此能够同时或作为一个单元对这些数据进行曲线拟合将是非常有益的。

我考虑过:

  1. 曲线拟合时:试图将其视为一个函数,其中有某种标签或指示符指定“真实”或“虚构”,使函数能够正确输出。

  2. 将其拟合为单个复杂函数的曲线。

  3. 将曲线拟合为两个函数,可以同时进行,也可以以迭代交替的方式进行求解。

我未能成功实施这些想法。它们中的任何一个都可能吗?是否有另一种解决方案可以给我答案?有关如何进行的任何建议?

【问题讨论】:

  • x 值是真的吗?
  • 是的,x 值都是真实的。

标签: matlab curve-fitting complex-numbers


【解决方案1】:

nlinfit 对我来说似乎适用于虚值:

beta = nlinfit(x, y, @(b, x) b(1) + b(2)/(x*i) + b(3)/(x+i) + b(4)/(x*i), randn(4,1));

这可能相当于同时最小化实部和虚部的平方误差之和。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-19
    • 2015-03-02
    • 2020-05-05
    • 1970-01-01
    • 2015-06-20
    • 2013-09-04
    • 2013-11-08
    • 2017-04-21
    相关资源
    最近更新 更多