How to fit linear plateau equation ?
7 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
madhuri dubey
el 8 de Dic. de 2018
Comentada: Bruno Luong
el 10 de Dic. de 2018
I want to fit linear equation with plateau condition.
y=a(x+n)+b
These are the data in which I Want to fit:
x=[0,80,100,120,150],
y=[1865,3608,4057,4343,4389]
I don not know how to find the plateau value of yield.
3 comentarios
Respuesta aceptada
Bruno Luong
el 10 de Dic. de 2018
Editada: Bruno Luong
el 10 de Dic. de 2018
You can use this FEX file (BSFK)

The code is by default use QUADPROG from MATLAB, but can also work with QPAS project by Adrian Wills for user who has not access to optimization toolbox as showed below:
x=[0,40,80,100,120,150,170,200];
y=[1865,2855,3608,4057,4343,4389,4415,4478];
opt = struct('KnotRemoval','none','sigma',1,'qpengine','qpas');
pp = BSFK(x,y,2,2,[],opt);
% prepare graphical data
xi = linspace(min(x),max(x));
yi = ppval(pp,xi);
xb = pp.breaks(2);
yb = ppval(pp,xb);
clf
plot(x,y,'or',xi,yi,'-b');
xline(pp.breaks(2));
text(xb,yb,sprintf('(%g,%g)',xb,yb));
3 comentarios
John D'Errico
el 10 de Dic. de 2018
Note that the upper line segment is not held constant in your solution, as it seems the OP wants.
Bruno Luong
el 10 de Dic. de 2018
I don't know exactly what he wants, I did not follow the thread closely.
I give the code if he is not happy then I hope he'll come back with further request.
If the plateau must be constant I can enfore the derivative to 0.
Más respuestas (0)
Ver también
Categorías
Más información sobre Linear Least Squares en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!