How can i do curve fitting in complex field?

2 ビュー (過去 30 日間)
Jiseung Lee
Jiseung Lee 2020 年 8 月 21 日
コメント済み: Star Strider 2020 年 8 月 23 日
Now, I trying to make a curve fitting in complex number but, It doesn't work.
below picture is my equation. (x1~x8 is variable(variable is real value, not complex), w is frequency matrix, eq is response)
I want to fit to response result. pls, Give me a solution.

採用された回答

Star Strider
Star Strider 2020 年 8 月 21 日
編集済み: Star Strider 2020 年 8 月 21 日
If the ‘x’ parameters are real and ‘w’ is real, and ‘eq’ is complex, one option would be to create your data as separate vectors of the real part and the complex part, then fit the real and complex parts of your model to the real and complex parts of your data.
It would go something like this (assuming column vectors):
Data = [real(eq(:)) imag(eq(:))];
and the model would then be:
eq_mdl = @(x,w) [real(model(x,w)) imag(model(x,w))];
The lsqcurvefit function would be able to fit this sort of problem.
  2 件のコメント
Jiseung Lee
Jiseung Lee 2020 年 8 月 23 日
Thx. I'm trying to make the code.
In the meantime, I want to ask one more question.
'x6' is real value but, tanh(sqrt(1i*w*x6)/sqrt(1i*w*x6) is complex number
If I use this code('eq_mdl = @(x,w) [real(model(x,w)) imag(model(x,w))];'),
can i get the only one value of 'x6'?
(=can 'x6' satisfy the real part fitting and imag part fitting in same time?)
Star Strider
Star Strider 2020 年 8 月 23 日
I do not understand what you are asking. The code I suggest will evaluate the model for all values of ‘x’ and all values of ‘w’ and create a matrix to compare with the ‘Data’ matrix. The optimisation function you choose will then adjust all the ‘x’ parameters to create the closest fit with the model and the data.

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLeast Squares についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by