Вы пробовали это?
> d = data.frame(t=1:4,V=c(0.15,0.23,0.67,0.85))
> Vt = function(t,k,q) {((1-exp(k*t))/(k*t))*q^2/(2*k)}
> nls(V~Vt(t,k,q),data=d,start=list(k=0.1,q=0.1),trace=TRUE)
1.483693 : 0.1 0.1
1.099885 : -7.358501 -3.593847
Error in numericDeriv(form[[3L]], names(ind), env) :
Missing value or an infinity produced when evaluating the model
На самом деле, конечно, не работает, но это потому, что я не сел
и выяснил разумные начальные значения и т.д .. (Если вы действительно собираетесь
чтобы попытаться подогнать двухпараметрическую нелинейную модель к 4 точкам данных, вы
будет много неприятностей. Я надеюсь, что это просто подвыборка
ваши данные ...)
В этом случае, конечно, вы также можете просто написать формулу в
NLS ()