How can i do curve fitting in complex field?

3 Ansichten (letzte 30 Tage)
Jiseung Lee
Jiseung Lee am 21 Aug. 2020
Kommentiert: Star Strider am 23 Aug. 2020
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.

Akzeptierte Antwort

Star Strider
Star Strider am 21 Aug. 2020
Bearbeitet: Star Strider am 21 Aug. 2020
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 Kommentare
Jiseung Lee
Jiseung Lee am 23 Aug. 2020
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 am 23 Aug. 2020
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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Least Squares finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by