Fitting data to integral function

2 visualizzazioni (ultimi 30 giorni)
Sergio Quesada
Sergio Quesada il 4 Giu 2018
Commentato: Sergio Quesada il 4 Giu 2018
Hi everybody. I'm trying to fit an essemble of data ("r" as x and "texp" as y) by a function defined by an integral:
FC*integral(@(x)exp(-a./x.*log(x)),1,texp)
, were both "FC" and "a" are the parameters to fit, while "texp" are the upper integration limits, which must be equal to the "y" parameters at each point.
Thank you so much !
  2 Commenti
Torsten
Torsten il 4 Giu 2018
So you have data (xi,yi) that should be representable by
(texp(i),FC*integral(@(x)exp(-a./x.*log(x)),1,texp(i)))
?
Walter Roberson
Walter Roberson il 4 Giu 2018
What should the expression equal?? Is it
texp = FC*integral(@(x)exp(-a./x.*log(x)),1,texp)
?
Where is your independent variable?

Accedi per commentare.

Risposte (2)

Sergio Quesada
Sergio Quesada il 4 Giu 2018
Exactly, i hace a collection of data (xi,yi) called (r,texp), and the fitting equation must be
texp(r)=FC*integral(@(x)exp(-a./x.*log(x)),1,texp)
thanks!
  1 Commento
Walter Roberson
Walter Roberson il 4 Giu 2018
Where is your independent variable appearing in the model? Is texp(r) intended to convey "the texp that corresponds to r", or is texp somehow intended to be both a function to be applied to r on the left side, but a particular numeric value on the right hand side where it is acting as the upper bounds of the integral ?
Or is texp(r) intended to be multiplication, as in
texp(K) * r(K) == FC * integral(@(x)exp(-a./x.*log(x), 1, texp(K))
and thus
texp(K) == FC / r(K) * integral(@(x)exp(-a./x.*log(x), 1, texp(K))

Accedi per commentare.


Sergio Quesada
Sergio Quesada il 4 Giu 2018
Modificato: Sergio Quesada il 4 Giu 2018
"texp" is my independent variable.
I have a collection of (r,texp) data. I have evaluated
FC*integral(@(x) -a./(x*log(x)),1,texp)
for each texp as upper integration limit with arbitrary values of "a" and "FC". Now i need to find the values of " a" and "FC" that best fits the experimental data
  12 Commenti
Walter Roberson
Walter Roberson il 4 Giu 2018
fun = @(FCa, r) arrayfun(@(R) FCa(1) * integral(@(x) exp(-FCa(2)./(x.*log(x))), 1, R), r);
FCa = lsqcurvefit(fun, x0, r, texp);
FC = FCa(1); a = FCa(2);
Sergio Quesada
Sergio Quesada il 4 Giu 2018
success! i am so grateful Walter! This works thanks to people like you!
best regards

Accedi per commentare.

Categorie

Scopri di più su Descriptive Statistics in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by