
Boa noite. Utilizando a função solve, gostaria de saber como posso isolar uma variável de uma função? Por exemplo, função simples, x + y = a, ficaria y = a-x. Obrigado!

A função solve retorna a inversa de uma matriz, acho que vc se confundiu com o solver do excell, para seu caso acho q função adequada é a optim ou optmise, segue um exemplo http://www.sr.bham.ac.uk/~ajrs/R/r-analyse_data.html Em 27 de abril de 2015 18:35, <aalmeidaalessandro@gmail.com> escreveu:
Boa noite.
Utilizando a função solve, gostaria de saber como posso isolar uma variável de uma função? Por exemplo, função simples, x + y = a, ficaria y = a-x.
Obrigado!
_______________________________________________ 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.

Entendi. Li sobre optim e optimise mas não vi uma forma de isolar a variável. É que na verdade preciso pegar essa expressão: der.eqimm=expression(exp(b0 + b1/s + b2/x + b3 * (id1/x) * log(ab1) + b4 * (1 - id1/x) + b5 * (1 - id1/x) * s) * (b4 * (id1/x^2) - (b3 * (id1/x^2) * log(ab1) + b2/x^2) + b5 * (id1/x^2) * s)/x - exp(b0 + b1/s + b2/x + b3 * (id1/x) * log(ab1) + b4 * (1 - id1/x) + b5 * (1 - id1/x) * s)/x^2) e fazer com que fique assim: x=b4*id1-b3*id1*log(ab1)-b2+b5*id1*s para isolar o x usou o maple mas queria no R, se puder tentar me ajudar agradeço! Obrigado De: Wagner Wolff Enviado: segunda-feira, 27 de abril de 2015 21:28 Para: r-br@listas.c3sl.ufpr.br A função solve retorna a inversa de uma matriz, acho que vc se confundiu com o solver do excell, para seu caso acho q função adequada é a optim ou optmise, segue um exemplo http://www.sr.bham.ac.uk/~ajrs/R/r-analyse_data.html Em 27 de abril de 2015 18:35, <aalmeidaalessandro@gmail.com> escreveu: Boa noite. Utilizando a função solve, gostaria de saber como posso isolar uma variável de uma função? Por exemplo, função simples, x + y = a, ficaria y = a-x. Obrigado! _______________________________________________ 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.

No R eu desconheço se da para fazer isso, mas o optim e optimise podem estimar o valor de X por iteração, sem que vc precise isolá-lo, imagine uma função em que é impossível isolar o x, nesses casos a solução é vc ficar chutando valores de x até que se estabeleça uma igualdade com y. Mas com relação a sua dúvida eu não posso ajudar, desconheço uma função que isole uma variável analiticamente no R, se descobrir posta aqui, pois também tenho interesse. Abraço Em 27 de abril de 2015 22:51, <aalmeidaalessandro@gmail.com> escreveu:
Entendi. Li sobre optim e optimise mas não vi uma forma de isolar a variável. É que na verdade preciso pegar essa expressão: der.eqimm=expression(exp(b0 + b1/s + b2/x + b3 * (id1/x) * log(ab1) + b4 * (1 - id1/x) + b5 * (1 - id1/x) * s) * (b4 * (id1/x^2) - (b3 * (id1/x^2) * log(ab1) + b2/x^2) + b5 * (id1/x^2) * s)/x - exp(b0 + b1/s + b2/x + b3 * (id1/x) * log(ab1) + b4 * (1 - id1/x) + b5 * (1 - id1/x) * s)/x^2)
e fazer com que fique assim: x=b4*id1-b3*id1*log(ab1)-b2+b5*id1*s para isolar o x usou o maple mas queria no R, se puder tentar me ajudar agradeço! Obrigado
*De:* Wagner Wolff <wwolff@usp.br> *Enviado:* segunda-feira, 27 de abril de 2015 21:28 *Para:* r-br@listas.c3sl.ufpr.br
A função solve retorna a inversa de uma matriz, acho que vc se confundiu com o solver do excell, para seu caso acho q função adequada é a optim ou optmise, segue um exemplo
http://www.sr.bham.ac.uk/~ajrs/R/r-analyse_data.html
Em 27 de abril de 2015 18:35, <aalmeidaalessandro@gmail.com> escreveu:
Boa noite.
Utilizando a função solve, gostaria de saber como posso isolar uma variável de uma função? Por exemplo, função simples, x + y = a, ficaria y = a-x.
Obrigado!
_______________________________________________ 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.
_______________________________________________ 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.

O que você precisa é de um aplicativo para matemática simbólica, um CAS (computer algebra system). No Linux eu uso, de forma bem iniciante, o wxMaxima. Lá eu vou no menu Equations > Solve..., abre uma caixa, alimento com dados e pronto! O resultado sai conforme abaixo. /* [wxMaxima: input start ] */ solve([exp(b0 + b1/s + b2/x + b3 * (id1/x) * log(ab1) + b4 * (1 - id1/x) + b5 * (1 - id1/x) * s) * (b4 * (id1/x^2) - (b3 * (id1/x^2) * log(ab1) + b2/x^2) + b5 * (id1/x^2) * s)/x - exp(b0 + b1/s + b2/x + b3 * (id1/x) * log(ab1) + b4 * (1 - id1/x) + b5 * (1 - id1/x) * s)/x^2], [x]); /* [wxMaxima: input end ] */ [x=b5*id1*s+(b4−log(ab1)*b3)*id1−b2] Diferente da solve o R que o Wagner descreveu, essa função solve resolve equações como você deseja. À disposição. Walmes.

Walmes, Boa noite! Muito Obrigado pela dica sobre o CAS e o wxMaxima. Depois de sua dica e tentando ajudar o Alessandro busquei mais informações sobre CAS e encontrei o pacote rSymPy. Infelizmente para o modelo (taxa de variação do incremento médio) apresentado pelo Alessandro não consegui entender o erro que o sistema retornou, por isso, instalei o software SymPy e executei o seguinte código no R. cat('import sympy\nfrom sympy import *\n\ndef main():', file='ioc.py', append = F,'\n');cat(paste(' b0, b1, b2, b3, b4, b5, id1, ab1, s, x = symbols(',shQuote('b0 b1 b2 b3 b4 b5 id1 ab1 s x','csh'),')',sep=''), file='ioc.py', append = T,'\n');cat(' ioc = solve(exp(b0 + b1/s + b2/x + b3 * (id1/x) * log(ab1) + b4 * (1 - id1/x) + b5 * (1 - id1/x) * s) * (b4 * (id1/x**2) - (b3 * (id1/x**2) * log(ab1) + b2/x**2) + b5 * (id1/x**2) * s)/x - exp(b0 + b1/s + b2/x + b3 * (id1/x) * log(ab1) + b4 * (1 - id1/x) + b5 * (1 - id1/x) * s)/x**2,x)', file='ioc.py', append = T,'\n');cat(paste('\n print\n pprint(ioc)\n print\n\nif __name__ ==', shQuote('__main__'),':\n main()\n'), file='ioc.py', append = T);system('python ioc.py'); Resultado: [-b2 - b3*id1*log(ab1) + b4*id1 + b5*id1*s] Caso alguém queira reproduzir, apenas tomem cuidado com os espaços e tabulações porque o "python" é um pouco exigente. At., Cláudio ThierschBiometria,Inventário e Manejo Florestal Engenharia Florestal– UFSCar - Campus Sorocaba

mais detalhadamente solve() resolve um sistema de equações lineares Description: This generic function solves the equation ‘a %*% x = b’ for ‘x’, where ‘b’ can be either a vector or a matrix. O uso para inverter matrizes é possivel mas NAO RECOMENDADO na maioria dos casos Por exemplo, se voce tem um sistema A x = b (A matrix, x e b vetores, com dimensões compatível escrevemos x = A^{-1} b mas ***NAO*** devemos resolver no R com x <- solve(A) %*% b e sim x <- solve(A,b) On Mon, 27 Apr 2015, Wagner Wolff wrote:
A função solve retorna a inversa de uma matriz, acho que vc se confundiu com o solver do excell, para seu caso acho q função adequada é a optim ou optmise, segue um exemplo
http://www.sr.bham.ac.uk/~ajrs/R/r-analyse_data.html
Em 27 de abril de 2015 18:35, <aalmeidaalessandro@gmail.com> escreveu:
Boa noite.
Utilizando a função solve, gostaria de saber como posso isolar uma variável de uma função? Por exemplo, função simples, x + y = a, ficaria y = a-x.
Obrigado!
_______________________________________________ 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.

Será que com a função solve (ou outra função) eu posso resolver a derivada dessa equação (exp(b0 + b1/s + b2/x + b3 * (id1/x) * log(ab1) + b4 * (1 - id1/x) +b5 * (1 - id1/x) * s) * (b4 * (id1/x^2) - (b3 * (id1/x^2) *log(ab1) + b2/x^2) + b5 * (id1/x^2) * s)/x - exp(b0 + b1/s +b2/x + b3 * (id1/x) * log(ab1) + b4 * (1 - id1/x) + b5 *(1 - id1/x) * s)/x^2) sendo que sei os valores dos betas, id1, ab1 e s. Ou seja, obter o valor de x. Desde já agradeço! De: Paulo Justiniano Enviado: terça-feira, 28 de abril de 2015 12:41 Para: r-br@listas.c3sl.ufpr.br mais detalhadamente solve() resolve um sistema de equações lineares Description: This generic function solves the equation ‘a %*% x = b’ for ‘x’, where ‘b’ can be either a vector or a matrix. O uso para inverter matrizes é possivel mas NAO RECOMENDADO na maioria dos casos Por exemplo, se voce tem um sistema A x = b (A matrix, x e b vetores, com dimensões compatível escrevemos x = A^{-1} b mas ***NAO*** devemos resolver no R com x <- solve(A) %*% b e sim x <- solve(A,b) On Mon, 27 Apr 2015, Wagner Wolff wrote:
A função solve retorna a inversa de uma matriz, acho que vc se confundiu com o solver do excell, para seu caso acho q função adequada é a optim ou optmise, segue um exemplo
http://www.sr.bham.ac.uk/~ajrs/R/r-analyse_data.html
Em 27 de abril de 2015 18:35, <aalmeidaalessandro@gmail.com> escreveu:
Boa noite.
Utilizando a função solve, gostaria de saber como posso isolar uma variável de uma função? Por exemplo, função simples, x + y = a, ficaria y = a-x.
Obrigado!
_______________________________________________ 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.

Como posso resolver essa equação sendo que sei os valores dos betas, id1,ab1 e s, quero achar o valor de x. (Não sei se é função solve ou outra função). fx= (exp(b0 + b1/s + b2/x + b3 * (id1/x) * log(ab1) + b4 * (1 - id1/x) +b5 * (1 - id1/x) * s) * (b4 * (id1/x^2) - (b3 * (id1/x^2) *log(ab1) + b2/x^2) + b5 * (id1/x^2) * s)/x - exp(b0 + b1/s +b2/x + b3 * (id1/x) * log(ab1) + b4 * (1 - id1/x) + b5 *(1 - id1/x) * s)/x^2) Desde já agradeço! Enviado do Email do Windows De: Paulo Justiniano Enviado: terça-feira, 28 de abril de 2015 12:41 Para: r-br@listas.c3sl.ufpr.br mais detalhadamente solve() resolve um sistema de equações lineares Description: This generic function solves the equation ‘a %*% x = b’ for ‘x’, where ‘b’ can be either a vector or a matrix. O uso para inverter matrizes é possivel mas NAO RECOMENDADO na maioria dos casos Por exemplo, se voce tem um sistema A x = b (A matrix, x e b vetores, com dimensões compatível escrevemos x = A^{-1} b mas ***NAO*** devemos resolver no R com x <- solve(A) %*% b e sim x <- solve(A,b) On Mon, 27 Apr 2015, Wagner Wolff wrote:
A função solve retorna a inversa de uma matriz, acho que vc se confundiu com o solver do excell, para seu caso acho q função adequada é a optim ou optmise, segue um exemplo
http://www.sr.bham.ac.uk/~ajrs/R/r-analyse_data.html
Em 27 de abril de 2015 18:35, <aalmeidaalessandro@gmail.com> escreveu:
Boa noite.
Utilizando a função solve, gostaria de saber como posso isolar uma variável de uma função? Por exemplo, função simples, x + y = a, ficaria y = a-x.
Obrigado!
_______________________________________________ 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 (5)
-
aalmeidaalessandro@gmail.com
-
Cláudio Roberto Thiersch
-
Paulo Justiniano
-
Wagner Wolff
-
walmes .