Regression curve fitting for a given equation

3 visualizaciones (últimos 30 días)
Arvind
Arvind el 12 de Jun. de 2023
Comentada: the cyclist el 12 de Jun. de 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

Respuesta aceptada

Matt J
Matt J el 12 de Jun. de 2023
Editada: Matt J el 12 de Jun. de 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 comentarios
Arvind
Arvind el 12 de Jun. de 2023
i have want all values like m, b and a separetly
the cyclist
the cyclist el 12 de Jun. de 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.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Linear and Nonlinear Regression en Help Center y File Exchange.

Productos


Versión

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by