matematica com o R

Caros, boa tarde! Alguém poderia por gentileza auxiliar com a duvida relativa ao codigo abaixo? # RCMR y <- expression(exp(a+b/x)) D(y,'x') #primeira derivada dy.dx <- expression(-(exp(a + b/x) * (b/x^2))) #resultado da primeira derivada D(dy.dx, 'x') #segunda derivada fx <- function(a,b,x) exp(a + b/x) * (b * (2 * x)/(x^2)^2) + exp(a + b/x) * (b/x^2) * (b/x^2) #resultado da segunda derivada optim(c(1), fx, a=3.3,b=-1.2,method="BFGS") # A ideia é encontrar o ponto de inflexao para o modelo representado pelo objeto y. Por definição o ponto de inflexao é o valor de x que faz a segunda derivada da # função igual a zero. Montei este rcmr porém não estou certo se a otimização de fx está igualando a zero, até porque os resultados não estão condizentes. # Gostaria se possível também de alguma dica de algum livro que tenha dicas de cálculos matemáticos com o R pois gostaria de adaptar algumas rotinas do maple # para o R, até porque recentemente precisei isolar um termo de um modelo não linear que manualmente não é tão simples e gostaria de fazer estes calculos com o # R e nao mais com o maple. Segue um exemplo simples de um calculo que gostaria de reproduzir com o R y = b0 + b1x b0=? b0 = y - b1x # esta é a saída que gostaria de encontrar com o R. Ate cheguei a ver um pouco sobre o pacote Ryacas mas sem muito sucesso. Ja deixo aqui meus agradecimentos ==================================== Samuel P. C. Carvalho Engº Florestal [UFLA] Mestre em Ciências Florestais [UFLA] Doutor em Recursos Florestais [ESALQ/USP] =============================================

Samuel, não utilizo a função optim portanto, não sei o procedimento que ela usa. Uma maneira seria as tentativas baseadas em aproximações gráficas embora ao se igualar a segunda derivada a zero a solução seria analítica (x = -b^2/2*b). Outra sugestão é você dar uma olhada na função while() e organizar um código que procure o valor de x que zere a segunda derivada em um intervalo de -0.01 > y'' > 0.01 Ex: x=seq(0.1,2,0.01) fx=function(x){exp(3.3-1.2/x)} fx2 <- function(x) exp(3.3 - 1.2/x) * (-1.2 * (2 * x)/(x^2)^2) + exp(3.3 - 1.2/x) * (-1.2/x^2) * (-1.2/x^2) y=fx(x) y2=fx2(3.3,-1.2,x) plot(y~x) par (new=T) plot(y2~x,axes=F) axis(4) abline(h=0) abline(v=0.6) Att. Tiago. ################################################################# Tiago de Souza Marçal - Graduando em Agronomia pelo CCA-UFES Bolsista de Iniciação Científica da área de Genética e Melhoramento de Plantas ################################################################# Date: Thu, 12 Sep 2013 09:17:39 -0700 From: samukajm@yahoo.com.br To: r-br@listas.c3sl.ufpr.br Subject: [R-br] matematica com o R Caros, boa tarde!Alguém poderia por gentileza auxiliar com a duvida relativa ao codigo abaixo? # RCMRy <- expression(exp(a+b/x))D(y,'x') #primeira derivadady.dx <- expression(-(exp(a + b/x) * (b/x^2))) #resultado da primeira derivada D(dy.dx, 'x') #segunda derivadafx <- function(a,b,x) exp(a + b/x) * (b * (2 * x)/(x^2)^2) + exp(a + b/x) * (b/x^2) * (b/x^2) #resultado da segunda derivadaoptim(c(1), fx, a=3.3,b=-1.2,method="BFGS") # A ideia é encontrar o ponto de inflexao para o modelo representado pelo objeto y. Por definição o ponto de inflexao é o valor de x que faz a segunda derivada da # função igual a zero. Montei este rcmr porém não estou certo se a otimização de fx está igualando a zero, até porque os resultados não estão condizentes.# Gostaria se possível também de alguma dica de algum livro que tenha dicas de cálculos matemáticos com o R pois gostaria de adaptar algumas rotinas do maple # para o R, até porque recentemente precisei isolar um termo de um modelo não linear que manualmente não é tão simples e gostaria de fazer estes calculos com o # R e nao mais com o maple. Segue um exemplo simples de um calculo que gostaria de reproduzir com o R y = b0 + b1xb0=?b0 = y - b1x # esta é a saída que gostaria de encontrar com o R. Ate cheguei a ver um pouco sobre o pacote Ryacas mas sem muito sucesso. Ja deixo aqui meus agradecimentos ====================================Samuel P. C. Carvalho Engº Florestal [UFLA]Mestre em Ciências Florestais [UFLA]Doutor em Recursos Florestais [ESALQ/USP]============================================= _______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forne�a c�digo m�nimo reproduz�vel.

a sacada e' notar que optim() minimiza (ou maximiza, dependendo dos argumentos) a funcao objet... nao existem garantias de que sua fx assuma apenas valores nao negativos, entao vc tem q transforma-la numa funcao nao-negativa (c.f. sugestao). Vc pode, entao, minimizar "fx^2" (pois essa funcao e' nao-negativa (o que nao pode ser garantido para fx), sob a pena de erros maiores... ou, mais "acuradamente" minimizar abs(fx). Seguindo o seu exemplo: gx = function(...) abs(fx(...)) optim(c(1), gx, a=3.3,b=-1.2,method="BFGS") b Em 12 de setembro de 2013 13:17, Samuel Carvalho <samukajm@yahoo.com.br>escreveu:
Caros, boa tarde! Alguém poderia por gentileza auxiliar com a duvida relativa ao codigo abaixo?
# RCMR y <- expression(exp(a+b/x)) D(y,'x') #primeira derivada dy.dx <- expression(-(exp(a + b/x) * (b/x^2))) #resultado da primeira derivada D(dy.dx, 'x') #segunda derivada fx <- function(a,b,x) exp(a + b/x) * (b * (2 * x)/(x^2)^2) + exp(a + b/x) * (b/x^2) * (b/x^2) #resultado da segunda derivada optim(c(1), fx, a=3.3,b=-1.2,method="BFGS")
# A ideia é encontrar o ponto de inflexao para o modelo representado pelo objeto y. Por definição o ponto de inflexao é o valor de x que faz a segunda derivada da # função igual a zero. Montei este rcmr porém não estou certo se a otimização de fx está igualando a zero, até porque os resultados não estão condizentes. # Gostaria se possível também de alguma dica de algum livro que tenha dicas de cálculos matemáticos com o R pois gostaria de adaptar algumas rotinas do maple # para o R, até porque recentemente precisei isolar um termo de um modelo não linear que manualmente não é tão simples e gostaria de fazer estes calculos com o # R e nao mais com o maple. Segue um exemplo simples de um calculo que gostaria de reproduzir com o R
y = b0 + b1x b0=? b0 = y - b1x # esta é a saída que gostaria de encontrar com o R. Ate cheguei a ver um pouco sobre o pacote Ryacas mas sem muito sucesso.
Ja deixo aqui meus agradecimentos
*====================================* *Samuel P. C. Carvalho *Engº Florestal [UFLA] Mestre em Ciências Florestais [UFLA] Doutor em Recursos Florestais [ESALQ/USP] =============================================
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
participantes (3)
-
Benilton Carvalho
-
Samuel Carvalho
-
Tiago Souza Marçal