g l
2018-Apr-06 10:43 UTC
[R] Obtain gradient at multiple values for exponential decay model
> Sent: Friday, April 06, 2018 at 5:55 AM > From: "David Winsemius" <dwinsemius at comcast.net> > > > Not correct. You already have `predict`. It is capale of using the `newdata` values to do interpolation with the values of the coefficients in the model. See: > > ?predict >The ? details did not mention interpolation explicity; thanks.> The original question asked for a derivative (i.e. a "gradient"), but so far it's not clear that you understand the mathematical definiton of that term. We also remain unclear whether this is homework. >The motivation of this post was simple differentiation of a tangent point (dy/dx) manually, then wondering how to re-think in modern-day computing terms. Hence the original question about asking the appropriate functions/syntax to read further ("curiosity"), not the answer (indeed, "homework"). :) Personal curiosity should be considered "homework".
David Winsemius
2018-Apr-06 15:03 UTC
[R] Obtain gradient at multiple values for exponential decay model
> On Apr 6, 2018, at 3:43 AM, g l <gnulinux at gmx.com> wrote: > >> Sent: Friday, April 06, 2018 at 5:55 AM >> From: "David Winsemius" <dwinsemius at comcast.net> >> >> >> Not correct. You already have `predict`. It is capale of using the `newdata` values to do interpolation with the values of the coefficients in the model. See: >> >> ?predict >> > > The ? details did not mention interpolation explicity; thanks. > >> The original question asked for a derivative (i.e. a "gradient"), but so far it's not clear that you understand the mathematical definiton of that term. We also remain unclear whether this is homework. >> > > The motivation of this post was simple differentiation of a tangent point (dy/dx) manually, then wondering how to re-think in modern-day computing terms. Hence the original question about asking the appropriate functions/syntax to read further ("curiosity"), not the answer (indeed, "homework"). :) > > Personal curiosity should be considered "homework".Besides symbolic differentiation, there is also the option of numeric differentiation. Here's an amateurish attempt: myNumDeriv <- function(x){ (exp( predict (graphmodeld, newdata=data.frame(t=x+.0001))) - exp( predict (graphmodeld, newdata=data.frame(t=x) )))/ .0001 } myNumDeriv(c(100, 250, 350)) David Winsemius Alameda, CA, USA 'Any technology distinguishable from magic is insufficiently advanced.' -Gehm's Corollary to Clarke's Third Law
David Winsemius
2018-Apr-06 15:15 UTC
[R] Obtain gradient at multiple values for exponential decay model
> On Apr 6, 2018, at 8:03 AM, David Winsemius <dwinsemius at comcast.net> wrote: > > >> On Apr 6, 2018, at 3:43 AM, g l <gnulinux at gmx.com> wrote: >> >>> Sent: Friday, April 06, 2018 at 5:55 AM >>> From: "David Winsemius" <dwinsemius at comcast.net> >>> >>> >>> Not correct. You already have `predict`. It is capale of using the `newdata` values to do interpolation with the values of the coefficients in the model. See: >>> >>> ?predict >>> >> >> The ? details did not mention interpolation explicity; thanks. >> >>> The original question asked for a derivative (i.e. a "gradient"), but so far it's not clear that you understand the mathematical definiton of that term. We also remain unclear whether this is homework. >>> >> >> The motivation of this post was simple differentiation of a tangent point (dy/dx) manually, then wondering how to re-think in modern-day computing terms. Hence the original question about asking the appropriate functions/syntax to read further ("curiosity"), not the answer (indeed, "homework"). :) >> >> Personal curiosity should be considered "homework". > > Besides symbolic differentiation, there is also the option of numeric differentiation. Here's an amateurish attempt: > > myNumDeriv <- function(x){ (exp( predict (graphmodeld, newdata=data.frame(t=x+.0001))) - > exp( predict (graphmodeld, newdata=data.frame(t=x) )))/ > .0001 } > myNumDeriv(c(100, 250, 350))I realized that this would not work in the context of your construction. I had earlier made a more symbolic version using R formulae: graphdata<-read.csv(text='t,c 0,100 40,78 80,59 120,38 160,25 200,21 240,16 280,12 320,10 360,9 400,7') graphmodeld<-lm(log(c)~t, graphdata) graphmodelp<-exp(predict(graphmodeld)) plot(c~t, graphdata) lines(graphdata[,1],graphmodelp) myNumDeriv(c(100, 250, 350), graphmodeld ) #---------------------------------------------- 1 2 3 -0.31464102 -0.11310753 -0.05718414> > > > David Winsemius > Alameda, CA, USA > > 'Any technology distinguishable from magic is insufficiently advanced.' -Gehm's Corollary to Clarke's Third Law > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code.David Winsemius Alameda, CA, USA 'Any technology distinguishable from magic is insufficiently advanced.' -Gehm's Corollary to Clarke's Third Law
Reasonably Related Threads
- Obtain gradient at multiple values for exponential decay model
- Obtain gradient at multiple values for exponential decay model
- Obtain gradient at multiple values for exponential decay model
- Obtain gradient at multiple values for exponetial decay model
- Obtain gradient at multiple values for exponential decay model