Usuário com melhor resposta
Função a partir do textbox

Pergunta
-
Olá pessoal bom dia!
Estou desenvolvendo um sistema para um projeto de pesquisa. Nesse sistema tem uma textbox em que o usuário informa uma determinada função cuja a variável é t (tipo 4*t+2*t^2). Ao informar a função eu pego ela do textbox e jogo no gráfico Chart como segue abaixo:
Dim funcao As String = txt_funcao.Text
For t As Integer = 0 To Chart1.ChartAreas(0).AxisX.Maximum - 1
Chart1.Series("vazao").Points.AddXY(t, funcao)
NextO que eu esperaria não acontece, pois o sistema não reconhece a expressão 4*t+2*t^2 usando o "t" como variável. O logo o gráfico não cria a curva. Fazendo isso em tempo de programação da certo, mas a partir da função informada pelo usuário não dá.
Alguém me dê um luz.
Desde já agradeço.
Respostas
-
Você precisa de uma biblioteca de execução de expressões matemáticas, como esta aqui: https://github.com/sheetsync/NCalc.
Exemplo retirado do StackOverflow (pode ser convertido para VB.net usando http://converter.telerik.com/):
Expression e = new Expression("(4+8)*2"); Debug.Assert(24 == e.Evaluate());
Juliano Nunes - http://linkedin.com/in/julianonunes
Lembre-se de clicar em "Votar como útil" e "Marcar como Resposta" caso tenha respondido sua dúvida.
Remember to "Vote as Helpful" and "Mark as Answer" if your question has been answered.
- Marcado como Resposta Filipe B CastroModerator segunda-feira, 4 de setembro de 2017 13:54
Todas as Respostas
-
Você precisa de uma biblioteca de execução de expressões matemáticas, como esta aqui: https://github.com/sheetsync/NCalc.
Exemplo retirado do StackOverflow (pode ser convertido para VB.net usando http://converter.telerik.com/):
Expression e = new Expression("(4+8)*2"); Debug.Assert(24 == e.Evaluate());
Juliano Nunes - http://linkedin.com/in/julianonunes
Lembre-se de clicar em "Votar como útil" e "Marcar como Resposta" caso tenha respondido sua dúvida.
Remember to "Vote as Helpful" and "Mark as Answer" if your question has been answered.
- Marcado como Resposta Filipe B CastroModerator segunda-feira, 4 de setembro de 2017 13:54
-
Bom dia,
Por falta de retorno essa thread está encerrada.
Se necessário, favor abrir uma nova thread.
Atenciosamente,Filipe B de Castro
Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita
MSDN Community Support
Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.