O próprio texto diz o que te falei em outro tópico: Não se resolve esse tipo de problema de forma algébrica.
Procure por métodos numéricos se você pretende continuar estudando computação financeira. Eles só são uma maneira de fazer o computador fazer o processo de tentativa e erro, que levaria tempo demais para um ser humano fazer.
Seu problema não me parece ser possível de ser resolvido analiticamente. Destrinchando a expressão, cheguei na seguinte fórmula:
Aplicar logarítmos na expressão não vai reduzir a expressão a nenhum formato interessante, por causa do denominador, já que você terá o logarítmo de uma substração, e não tem nenhuma propriedade para isso.
Você deve procurar algum método numérico para resolver isso. Como está desenvolvendo um software, uma solução numérica parece adequada ao caso.
Se não fosse o " t*log(a) ", consguiria resolver …
[/quote]
Não amigo. Quando vc cai em equações de graus maiores que 4, não tem como resolver utilizando formulas (nem baskara ou tartaglia irão lhe ajudar).
Uma sugestão pra vc resolver este problema é interpolação, como o amigo acima já informou.
Para equações de graus maiores que 4 não existem formulas de solução.
veja este vídeo. Com certeza ele pode lhe ajudar:
Não amigo. Quando vc cai em equações de graus maiores que 4, não tem como resolver utilizando formulas (nem baskara ou tartaglia irão lhe ajudar).
Sucesso![/quote]
É possível resolver algumas equações de grau acima de 2. Exemplos:
x^3 + x^2 + x = 0
posso colocar x em evidência:
x*(x^2 + x + 1) = 0
Dessa forma, já sei que uma raiz é x = 0. Para achar as outras duas, basta resolver a equação de segundo grau dentro do parênteses.
Há ainda casos de equações de terceiro grau sem raízes imaginárias, onde é possível descobrir uma das raízes e chegar a uma equação de segundo grau com Briot Ruffini.
Há ainda casos em que é possível resolver por substituição. Ex:
x^4 - x^2 + 5 = 0
posso substituir x^2 por t, ficando:
t^2 - t + 5 = 0
Só resolver essa equação de segundo grau para achar os "t"s e depois resolver, para cada t, x = ±(t)^(1/2)
Se ele tiver trabalhando com tempo t<=3, poderá aplicar baskara ou tartáglia. Mas passando disso, a melhor forma é interpolação.
Veja que o t não é fixo e pode assumir qualquer valor. Se t<=3, que existe formula. Se t>=4 não existe formula.
// caso dele:
p[a^(t+1)] - (p+f)[a^t] + f = 0
// supondo que t=7 teriamos esta formula pra resolver:
p[a^8] - (p+f)[a^7] + f = 0
// não é possivel por 'a' em evidência.
// para t>1, não é possivel resolver por substituição, porque os graus do 1º e 2º termos nunca serão multiplos entre si.
// se t=1 baskara
// se 1<t><=3 tartáglia
// se t>=4 interpolação
[quote=Luiz Augusto Prado][quote=regis_hideki]
É possível resolver algumas equações de grau acima de 2. Exemplos:
x^3 + x^2 + x = 0
posso colocar x em evidência:
x*(x^2 + x + 1) = 0
Dessa forma, já sei que uma raiz é x = 0. Para achar as outras duas, basta resolver a equação de segundo grau dentro do parênteses.
Há ainda casos de equações de terceiro grau sem raízes imaginárias, onde é possível descobrir uma das raízes e chegar a uma equação de segundo grau com Briot Ruffini.
Há ainda casos em que é possível resolver por substituição. Ex:
x^4 - x^2 + 5 = 0
posso substituir x^2 por t, ficando:
t^2 - t + 5 = 0
Só resolver essa equação de segundo grau para achar os "t"s e depois resolver, para cada t, x = ±(t)^(1/2)
[/quote]
Isso não é possivel para o caso dele.
Se ele tiver trabalhando com tempo t<=3, poderá aplicar baskara ou tartáglia. Mas passando disso, a melhor forma é interpolação.
Veja que o t não é fixo e pode assumir qualquer valor. Se t<=3, que existe formula. Se t>=4 não existe formula.
[code]
// caso dele:
p[a^(t+1)] - (p+f)[a^t] + f = 0
// supondo que t=7 teriamos esta formula pra resolver:
p[a^8] - (p+f)[a^7] + f = 0
// não é possivel por ‘a’ em evidência.
// para t>1, não é possivel resolver por substituição, porque os graus do 1º e 2º termos nunca serão multiplos entre si.
// se t=1 baskara
// se 1<=3 tartáglia
// se t>=4 interpolação
[/code] [/quote]
A equação não é em t, é em i. Acho que vocês esqueceram desse fato.
O problema não possui solução analítica, somente solução numérica.
[quote=Luiz Augusto Prado][quote=regis_hideki]
É possível resolver algumas equações de grau acima de 2. Exemplos:
x^3 + x^2 + x = 0
posso colocar x em evidência:
x*(x^2 + x + 1) = 0
Dessa forma, já sei que uma raiz é x = 0. Para achar as outras duas, basta resolver a equação de segundo grau dentro do parênteses.
Há ainda casos de equações de terceiro grau sem raízes imaginárias, onde é possível descobrir uma das raízes e chegar a uma equação de segundo grau com Briot Ruffini.
Há ainda casos em que é possível resolver por substituição. Ex:
x^4 - x^2 + 5 = 0
posso substituir x^2 por t, ficando:
t^2 - t + 5 = 0
Só resolver essa equação de segundo grau para achar os "t"s e depois resolver, para cada t, x = ±(t)^(1/2)
[/quote]
Isso não é possivel para o caso dele.
Se ele tiver trabalhando com tempo t<=3, poderá aplicar baskara ou tartáglia. Mas passando disso, a melhor forma é interpolação.
Veja que o t não é fixo e pode assumir qualquer valor. Se t<=3, que existe formula. Se t>=4 não existe formula.
[code]
// caso dele:
p[a^(t+1)] - (p+f)[a^t] + f = 0
// supondo que t=7 teriamos esta formula pra resolver:
p[a^8] - (p+f)[a^7] + f = 0
// não é possivel por ‘a’ em evidência.
// para t>1, não é possivel resolver por substituição, porque os graus do 1º e 2º termos nunca serão multiplos entre si.
// se t=1 baskara
// se 1<=3 tartáglia
// se t>=4 interpolação
[/code] [/quote]
É que pensei que você estava afirmando o caso geral, e não especificamente o do tópico., por isso resolvi complementar.
[quote=Luiz Augusto Prado][quote=matheuslmota]
A equação não é em t, é em i. Acho que vocês esqueceram desse fato.
O problema não possui solução analítica, somente solução numérica.
[/quote]
Sim, é em i e é o que quero dizer. T é um parametro necessário para encontrar i.
Recomendo ler todo o post.[/quote]
Perceba que t é o tempo, já que se trata de uma fórmula financeira, o que quer dizer que ele irá variar de 0 até qualquer valor. Sua abordagem de equacionar i em função de t só terá sucesso para t <= 4.
Bom, dada a situação, só existem duas formas de resolver o problema dele.
Partir para uma solução numérica
Usar outra equação que caracterize i. Como é um problema financeiro, existem várias fórmulas que relacionam os parâmetros básicos (tempo, juros, montante inicial etc.). Usando outra equação, talvez se possa obter i de uma forma mais simples.
Talvez o autor do tópico pudesse dar mais detalhes do que ele está tentando fazer com essa fórmula, para que nós possamos ajudá-lo a pensar em uma solução alternativa.
[quote=matheuslmota]
Talvez o autor do tópico pudesse dar mais detalhes do que ele está tentando fazer com essa fórmula, para que nós possamos ajudá-lo a pensar em uma solução alternativa.[/quote]
Ele quer isolar i… fica subentendido que ele possui todos os outros parametros (incluindo t) e que ele quer encontrar o valor de i.
[quote=Luiz Augusto Prado][quote=matheuslmota]
Talvez o autor do tópico pudesse dar mais detalhes do que ele está tentando fazer com essa fórmula, para que nós possamos ajudá-lo a pensar em uma solução alternativa.[/quote]
Ele quer isolar i… fica subentendido que ele possui todos os outros parametros (incluindo t) e que ele quer encontrar o valor de i.
[/quote]
Pois é cara, mas é porque não me pareceu que todos os parâmetros são constantes e ele apenas quer determinar i. Parece que ele tem algo como i em função de t, por exemplo.
[quote=matheuslmota]
Pois é cara, mas é porque não me pareceu que todos os parâmetros são constantes e ele apenas quer determinar i. Parece que ele tem algo como i em função de t, por exemplo.[/quote]
Entendi o que vc tá falando. Eu elaborei a equação supondo que ele já tem os parametros t, p e f. Nesse caso a solução é a raiz da equação, se existir, subtraido de 1.
// polinomio que cheguei:
pa^(t+1) - (p+f)a^t + f = 0
// lembrando que o i=a-1
//isolar o x supondo a equação abaixo:
ax² + bx + c = 0
ax² + bx = -c
4a²x² + 4abx + b² = b² - 4ac
(2ax + b)² = b² -4ac
2ax + b = (+ou-) raiz(b² -4ac)
2ax = -b (+ou-) raiz(b² -4ac)
x = [-b (+ou-) raiz(b² -4ac)]/2a // <== é a raiz da equação supondo que temos os parametros a, b e c
[quote=matheuslmota][quote=Luiz Augusto Prado][quote=matheuslmota]
A equação não é em t, é em i. Acho que vocês esqueceram desse fato.
O problema não possui solução analítica, somente solução numérica.
[/quote]
Sim, é em i e é o que quero dizer. T é um parametro necessário para encontrar i.
Recomendo ler todo o post.[/quote]
Perceba que t é o tempo, já que se trata de uma fórmula financeira, o que quer dizer que ele irá variar de 0 até qualquer valor. Sua abordagem de equacionar i em função de t só terá sucesso para t <= 4.
Bom, dada a situação, só existem duas formas de resolver o problema dele.
Partir para uma solução numérica
Usar outra equação que caracterize i. Como é um problema financeiro, existem várias fórmulas que relacionam os parâmetros básicos (tempo, juros, montante inicial etc.). Usando outra equação, talvez se possa obter i de uma forma mais simples.
Talvez o autor do tópico pudesse dar mais detalhes do que ele está tentando fazer com essa fórmula, para que nós possamos ajudá-lo a pensar em uma solução alternativa.[/quote]
A fórmula que passei é de financiamento com tabela price. No meu programa, o usuáirio quer achar o juros (variável i) quando já se tem todas as outras variáveis. Acho que não há outra fórmula já que é específica pra tabela price, ou talvez tenha uma outra arternativa?
Obrigado a todos pelas respostas, vou tentar resolver com interpolação e avaliação numérica como foi sugerido.