How do i fit an equation to a given curve?

2 vues (au cours des 30 derniers jours)
Kyle
Kyle le 2 Fév 2014
Commenté : Walter Roberson le 2 Fév 2014
I've been giving the following data.
t=[0:14]';
n=[105 118 139 164 189 214 240 265 290 316 330 348 363 369 373]';
and have been asked to fit the following two equations to this set of data.
1) N(t+1)= Nt=rNt
and
2) N(t+1)=Nt(1+r(1-Nt/k))
any advice on how to go about it. I can use polyfit and polyval to determine a fitted graph. but i have no idea how to relate it to the above equations. is there anyway i can determine an "r" value that will give me the best fitted results?
  6 commentaires
Kyle
Kyle le 2 Fév 2014
no its not the same. these are FDE's so the t is supposed to be a subscript. so each n ( in this example) is a population size at each interval of t. did u follow that. sorry its difficult to type it out.
Kyle
Kyle le 2 Fév 2014
ohhh wait.you're just simplifying it, right? and yet your interpretation of the 2nd equation is correct. what are you trying to get at tho?

Connectez-vous pour commenter.

Réponse acceptée

Walter Roberson
Walter Roberson le 2 Fév 2014
When
N(t+1) = (1+r)*N(t)
then
N(t) = (1+r)^t * N(0)
Take log...
log(N(t)) = t * log(1+r) + log(N(0))
This puts you in a position to do a linear fit to determine log(1+r), from which you can determine r.
  4 commentaires
Kyle
Kyle le 2 Fév 2014
and just plug in n and t too...?
Walter Roberson
Walter Roberson le 2 Fév 2014
p = polyfit(t, log(n), 1);
r = exp(p(1)) - 1;
N0 = exp(p(2));
plot(t, (1+r).^t * N0, 'b', t, n, 'k.')

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Interpolation dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by