如何同时曲线拟合两条曲线?如何曲线拟合复数?

时间:2012-07-25 15:44:27

标签: matlab curve-fitting complex-numbers

更具体地说,我正在处理一个问题,我收集的实验数据对应于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. 将曲线拟合为两个函数,可以同时或以迭代的方式交替解决方案。

  4. 我无法成功实施任何这些想法。他们中的任何一个可能吗?还有其他解决方案可以给我一个答案吗?有关如何进行的任何建议吗?

1 个答案:

答案 0 :(得分: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));

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