Exponencial
Encontre a melhor exponencial da forma para os dados x,y
É possível mudar a base, por exemplo, base=2 ira encontrar a melhor função
Parameters:
Name | Type | Description | Default |
---|---|---|---|
x |
iterable
|
Medidas ou floats |
required |
y |
iterable
|
Medidas ou floats |
required |
base |
float
|
Base da exponencial |
exp(1)
|
func |
bool
|
retorna uma função ao invés do fitting |
False
|
Returns:
Name | Type | Description |
---|---|---|
Array |
array
|
Medidas a , k se func=False |
Função |
callable
|
retorna y(x) se func=True |
Source code in LabIFSC2/fitting.py
127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 |
|
Por incrível que pareça, é possível transformar uma exponencial em uma reta. Temos a relação , considerando somente números positivos, podemos aplicar a função em ambos os lados, obtendo , se fizermos um gráfico de por , será uma reta!
Como já sabemos calcular a melhor reta (Regressão Linear), podemos encontrar a melhor reta usando essa transformação e depois convertemos para as variáveis originais.
Exemplo Exponencial
x=np.array([0,1,2,3,4,5])
y=np.array([1,2,3.9,7.85,17,31]) #uma relação quase y=2^x
a,k=regressao_exponencial(x,y) #(0.99+-0.01)e^(0.693+-0.008)
a,k=regressao_exponencial(x,y,base=10)#(0.99+-0.01)10^(0.301+-0.003)
a,k=regressao_exponencial(x,y,base=2)#(0.99+-0.01)2^(0.99+-0.04)