non-linear fit to find constants in the equation

1 Ansicht (letzte 30 Tage)
Baris Gungordu
Baris Gungordu am 25 Jan. 2019
Kommentiert: Torsten am 29 Jan. 2019
I am trying to implement the following equation:
U = C1 + C2*E+ C3*E^2 + C4*E^3 + C5*E^4, where U and E is known (10 set of values , 10 x 2).
I need to get the constants C1 to C5. Tried fitnlm with no success. Looking forward to get your help.
Example data set:
U E
2.019 1.615
2.622 1.662
3.358 1.706
4.36 1.759
5.621 1.814
7.324 1.877
9.379 1.94
12.121 2.011
15.364 2.081
20.101 2.167

Akzeptierte Antwort

Torsten
Torsten am 25 Jan. 2019
E =...; % column vector
U =...; % column vector
A = [ones(numel(E),1), E, E.^2, E.^3, E.^4];
b = U;
sol = A\b;
C1 = sol(1)
C2 = sol(2)
C3 = sol(3)
C4 = sol(4)
C5 = sol(5)
p = [C5 C4 C3 C2 C1];
Usim = polyval(p,E);
plot(E,U,E,Usim)
  6 Kommentare
Baris Gungordu
Baris Gungordu am 29 Jan. 2019
Thanks but it is only returning the initial conditions (p0).
Torsten
Torsten am 29 Jan. 2019
Maybe the initial guess p0 is far off. Try to use a better p0-vector.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

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

Produkte


Version

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by