Effacer les filtres
Effacer les filtres

Curve fitting, setting domain/forcing asymptote

9 vues (au cours des 30 derniers jours)
Benjamin
Benjamin le 17 Mai 2013
Playing around with data analysis. I have no experience in this area so apologies if I'm asking obvious questions.
I have two data vectors that I want to find the relationship between.
I have with cftool found an exponential function that seems to describe it fairly well. But this function gives a bunch of values outside of my physically possible domain of x-values.
Is it possible to set conditions on the function fitting? For example, I know that y will tend to infinity as x approaches 1 from the right, and y will tend to 0 as x approaches infinity.

Réponse acceptée

Tom Lane
Tom Lane le 17 Mai 2013
I can't think of a generic way to constrain a function to tend to infinity as x approaches 1, but you might have some luck defining a function that has that behavior and fitting it. For example:
load census % define some data having your shape
x = (cdate-1775)/10;
y = 1./pop;
ft = fittype('b1/((x-1)^b2)'); % has the desired asymptotic behavior
f = fit(x,y,ft,'start',[1 1])
plot(x,y,'bx', x,f(x),'r-') % not a great fit, but it's a start

Plus de réponses (0)

Catégories

En savoir plus sur Get Started with Curve Fitting Toolbox dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by