[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