C#求解最简单的方程
在C#中,我正在寻找一种方法来解决这样的简单方程式。 Z = A + B
我正在尝试构建一个类,如果我给出其他2个中的任何一个,它将给我第三个参数。
例如,给定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不会做你需要的吗? 看看https://ncalc.codeplex.com/上的一个例子。
定义参数,甚至是动态或表达式
Expression e = new Expression("Round(Pow([Pi], 2) + Pow([Pi2], 2) + [X], 2)"); e.Parameters["Pi2"] = new Expression("Pi * [Pi]"); e.Parameters["X"] = 10; e.EvaluateParameter += delegate(string name, ParameterArgs args) { if (name == "Pi") args.Result = 3.14; }; Debug.Assert(117.07 == e.Evaluate());
请注意这是未经测试的 – 但看起来你可以用NCalc做这样的事情:
var e = new Expression("[A] + [B]"); e.Parameters = /* your input */ var result = e.Evaluate();
试用C#Expression Evaluator ,看看它是否符合您的要求。
上述就是C#学习教程:C#求解最简单的方程分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1000904.html