lsqcurvefit

2 ビュー (過去 30 日間)
Matthew
Matthew 2011 年 3 月 3 日
Would LSQCURVEFIT work with comparing two complex functions? It looks like the metric for success is min sum {(FUN(X,XDATA)-YDATA).^2}, where it should be min sum {abs(FUN(X,XDATA)-YDATA).^2)} for complex-valued functions, or maybe sum {(FUN(X,XDATA)-YDATA).conj((FUN(X,XDATA)-YDATA))} Thanks Matt

採用された回答

Andrew Newell
Andrew Newell 2011 年 3 月 3 日
Since the distance between two complex numbers a+i*b and c+i*d is (a-c)^2 + (b-d)^2, you could treat each complex number as a pair of independent real numbers. Wrap fun in a function rfun that returns the real and complex parts of the output. For example, assuming rfun returns a column vector,
function y = rfun(x)
y = rfun(x);
y = [real(y); imag(y)];
end
Similarly, you could replace ydata by
rdata = [real(ydata); imag(ydata)].
Then you have the first two inputs for lsqcurvefit.

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeNonlinear Optimization についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by