Regression curve fitting for a given equation

3 Ansichten (letzte 30 Tage)
Arvind
Arvind am 12 Jun. 2023
Kommentiert: the cyclist am 12 Jun. 2023
Find the best fit by given equation
x = [0.0191051892041436 0.0199064802088661 0.0205144445903776 0.0210029746368803 0.0216434799932356 0.0226870689634767 0.0238694334820173 0.0247271126862428 0.0255324218699147 0.0266869614901355];
y = [0.726909090909091 0.731030303030303 0.730909090909091 0.709818181818182 0.664424242424242 0.621454545454545 0.606848484848485 0.597151515151515 0.595939393939394 0.583333333333333];
plot(x, y, 'b.-');
grid on;
where y = (x/a)*ln((m-1)/b) +y0

Akzeptierte Antwort

Matt J
Matt J am 12 Jun. 2023
Bearbeitet: Matt J am 12 Jun. 2023
p=polyfit(x,y,1);
From this, you immediately obtain y0=p(2). For the remaining parameters, you can choose any of the infinite solutions to ln((m-1)/b)/a=p(1).
  2 Kommentare
Arvind
Arvind am 12 Jun. 2023
i have want all values like m, b and a separetly
the cyclist
the cyclist am 12 Jun. 2023
@Arvind, the equation you want to fit to,
y = (x/a)*ln((m-1)/b) + y0
is equivalent to
y = x*c + y0
where
c = (1/a)*ln((m-1)/b)
The solution that @Matt J provided is solving for y0 and what I called c.
It is not possible (without other restrictions) to determine what a, m, and b are. As Matt stated, there are literally an infinite combination of possibilities.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Linear and Nonlinear Regression finden Sie in Help Center und File Exchange

Produkte


Version

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by