How to obtain complex solutions?

I have some recorded data. I have plotted a curve of this data and I want to fit this data in the curve of the equation: T(p) = f^2 cos2(p) + f.h sin(2p) + h^2 sin2(p) + g^2 cos2(p) + g.k sin(2p) + k^2 sin2(p)
Here, the data is between T and p.
f, g, h and k are constants to be evaluated. The values of these constants are complex numbers. But I am getting only real values. Could somebody please help?

1 件のコメント

Roger Wohlwend
Roger Wohlwend 2014 年 6 月 5 日
Well, what can we do to help? Perhaps the solution is real and your expectation is wrong. Are you sure the constants shoud be complex?

サインインしてコメントする。

回答 (1 件)

Star Strider
Star Strider 2014 年 6 月 5 日

0 投票

To the best of my knowledge, the solvers will only estimate real values. If you want to fit complex values, you have to be slightly deceptive.
In this situation, your complex parameters each become two parameters, a real an imaginary part. The fitting function ( nlinfit, lsqcurvefit ) sees, for instance f(1), f(2), while you would refer to them in your function as f = complex(f(1) f(2)), a single parameter.

カテゴリ

質問済み:

2014 年 6 月 5 日

回答済み:

2014 年 6 月 5 日

Community Treasure Hunt

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

Start Hunting!

Translated by