Curve fitting with set area

I have a set of data points [z,y] , and I want to fit a function with two parameters to this data. I have done this as follows:
f=@(p,q) p(1)*((p(2) + q.^1).^-1);
p=lsqcurvefit( f, [1.4,1], z,y, [0.5,0.5],[3,3]);
plot(z,y, z, f(p,z));
But I want the area under the curve in the interval [0 1] to be a total of 1. Is it possible to build this in as a condition?
Thank you!

 Risposta accettata

Matt J
Matt J il 11 Set 2021

0 voti

The area constraint is non-linear. You would have to use fmincon instead.

Più risposte (0)

Categorie

Prodotti

Richiesto:

il 11 Set 2021

Risposto:

il 11 Set 2021

Community Treasure Hunt

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

Start Hunting!

Translated by