C#解最简单的方程
在C#中,我正在寻找一种方法来解决像这样的简单方程<代码>Z=A+B 我正在尝试构建一个类,如果我给出其他两个参数中的任何一个,它会给我第三个参数 例如,给定C#解最简单的方程,c#,solver,C#,Solver,在C#中,我正在寻找一种方法来解决像这样的简单方程Z=A+B 我正在尝试构建一个类,如果我给出其他两个参数中的任何一个,它会给我第三个参数 例如,给定Z=A+B 如果您知道A=3和B=6,则您知道Z=9 如果您知道A=4和Z=8则您知道B=4 如何在软件中最好地执行这些任务 另一个想法是使用数学表达式求值,如ncalc。他们可以解释数学表达式,例如,将3*(8+2)转换为30,但不能解3*(8+x)=30-->x=2你确定NCalc不会做你需要的事情吗?请看一个来自的示例 定义参数,甚至是动态或
Z=A+B
如果您知道A=3
和B=6
,则您知道Z=9
如果您知道A=4
和Z=8
则您知道B=4
如何在软件中最好地执行这些任务
另一个想法是使用数学表达式求值,如ncalc。他们可以解释数学表达式,例如,将
3*(8+2)
转换为30
,但不能解3*(8+x)=30
-->x=2
你确定NCalc不会做你需要的事情吗?请看一个来自的示例
定义参数,甚至是动态或表达式
请注意,这是未经测试的-但看起来您可以使用NCalc执行类似操作:
var e = new Expression("[A] + [B]");
e.Parameters = /* your input */
var result = e.Evaluate();
尝试一下,看看它是否符合您的要求。仅链接?你有用法的例子吗?我没有用过。它的文档表明,C#expression evaluator提供基本的算术运算。ExpressionEvaluator只将C#(代码)表达式编译成可以使用不同输入重复调用的.NET函数。我认为OP需要一个表达式解算器,比如。我是ExpressionEvaluator的作者,似乎我从这个页面获得了一些流量。这不是正确的答案,你甚至没有花时间亲自阅读链接进行检查,更不用说粘贴一个有用的片段了。@user814064问题表明研究已经完成并实际审查了-对所提供的某些信息的功能似乎存在误解(NCalc似乎满足OP的要求)-关于工具的sureQuestion的第n个NullPointerException问题是一个更好的问题。它基本上可以归结为“如何解析/计算带有变量的表达式?”OP展示了研究成果,它很明显属于“特定编程问题”的范畴,非常感谢jdphenix没有回答我的问题。下面还有一些有趣的评论/答案可以帮助我找到解决方案!顺致敬意,要根据自己的需求完成所需的工作,您基本上是在寻找或实现具有所需功能的计算机代数系统。这将出现在“我只能为二次方程、方程组或更复杂的方程组找到复杂的解算器…”类别中,以获取有关NCalc的答案。事实上,这不是我想要的,或者我不知道如何使用它。我希望我的表达式是“A+B=10”,参数[A]=3。然后,计算器应返回B=7。(不,我不能将方程转化为计算10-A,参数[A]=3),因为提供的参数可以是A或B。如果您有调整Ncalc的想法,请多谢。
var e = new Expression("[A] + [B]");
e.Parameters = /* your input */
var result = e.Evaluate();