[R-br] RES: Ajustamento de dados à curva exponencial
Cícero C Nunes [rh]
rh em posicional.com
Quinta Novembro 28 17:32:09 BRST 2013
Caro Walmes, boa tarde.
Muito obrigado pelo pronto atendimento.
Enquanto aguardava sua resposta fiz algumas pesquisas adicionais e encontrei
o seguinte script, a saber:
#Inicio ----------------------------------------------
#Dados Originais
x<-c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23)
y<-c(100,150,200,250,300,350,400,450,500,550,600,650,700,750,800,850,900,950
,1000,1050,1100,1150,1200)
cbind(x,y)
n<-length(x)
cbind(x,log(y),x*log(y),x^2)
cbind(sum(x),sum(log(y)),sum(x*log(y)),sum(x^2))
num = sum(x*log(y)) - sum(x)*sum(log(y))/n
denom = sum(x^2) - sum(x)^2/n
a=num/denom
b=sum(log(y))/n - a*sum(x)/n
#Estimando A, B
A = exp(a)
B = exp(b)
A
B
plot(x,y,col="blue",pch=19)
curva_exponencial_plotada<-curve(B*exp(a*x), 1, 23, add=T, col=2)
#Dados Ajustados
curva_exponencial_plotada
#Final ------------------------------------
Observe o conteúdo do objeto “curva_exponencial_plotada”. Preciso que ele
traga os valores no intervalo igual ao objeto “x”, ou seja, os valores
ajustados para 1,2,3,4,5,6,...,,23.
Você tem alguma ideia com resolver isso?
Abs.
_____
<http://www.posicional.com/> assinatura_email_sites
Cícero C Nunes
Diretor Técnico Operacional
Divisão Remuneração
c2n em posicional.com
+55(16)3397.0226
+55(11)3280.0226
+55(11)9.9978.0026
SKYPE: consultormp
Rua Padre Duarte, 1360 – salas 6/7 – Centro – Araraquara, SP – CEP.:
14.801-310
“Antes de imprimir pense em sua responsabilidade com o meio ambiente – Quem
ama cuida!”
De: walmes . [mailto:walmeszeviani em gmail.com]
Enviada em: quinta-feira, 28 de novembro de 2013 16:40
Para: r-br em listas.c3sl.ufpr.br; rh em posicional.com
Assunto: Re: [R-br] Ajustamento de dados à curva exponencial
Cícero,
Para ajustar uma função exponencial, tal como você mencionou e forneceu
expressão, aos dados é necessário que eles tenham esse "sinal". Ao fazer o
gráfico dos seus pontos vê-se uma reta. Uma função exponencial não se
transforma em reta (só no limite de um dos parâmetros eu acho). O correto é
ajustar curva aos dados e não dados à curva como você indicou no título.
Procure tutoriais da função nls() na internet. Você vai ver muitos exemplos
e aprender como partir deles.
À disposição.
Walmes.
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20131128/268940bd/attachment.html>
-------------- Próxima Parte ----------
Um anexo não-texto foi limpo...
Nome: image001.gif
Tipo: image/gif
Tamanho: 12852 bytes
Descrição: não disponível
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20131128/268940bd/attachment.gif>
Mais detalhes sobre a lista de discussão R-br