gpt4 book ai didi

C# 求解最简单的方程

转载 作者:行者123 更新时间:2023-11-30 13:06:25 26 4
gpt4 key购买 nike

在 C# 中,我正在寻找一种方法来求解像这样的简单方程式。 Z = A + B

我正在尝试构建一个类,如果我给其他两个参数中的任何一个,它会给我第三个参数。

示例,给定 Z=A+B

如果您知道 A=3B=6 那么您就知道 Z=9

如果你知道 A=4Z=8 那么你就知道 B=4

我如何在软件中最好地执行这些类型的任务?

另一个想法是使用数学表达式求值,比如 ncalc。他们可以解释数学表达式,例如将 3*(8+2) 转换为 30,但不能求解像 3*(8+x)=30 这样的方程式 --> x=2.

最佳答案

您确定 NCalc 不会执行您需要的操作吗?看一个来自 http://ncalc.codeplex.com/ 的例子.

Define parameters, even dynamic or expressions

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# 求解最简单的方程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18674416/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com