gpt4 book ai didi

ios - 无法使用 DDMathParser 求解数学表达式

转载 作者:行者123 更新时间:2023-11-28 20:10:23 24 4
gpt4 key购买 nike

我正在使用 DDMathParser 来解析字符串表达式。我正在处理一个表达式“(2+x)6+2x+2y=5y+2x”,我正在尝试解析它并使用 DDMathParser 对其进行评估.它可以被认为是我需要使用 Objective C 解决的一次函数。

大家有什么想法吗?

非常感谢您的帮助。

DDExpression * e = [DDExpression expressionFromString:expression error:error];
NSNumber *num = [e evaluateWithSubstitutions:substitutions evaluator:nil error:error];

最佳答案

我不太了解DDMathParser(好吧,我对此一无所知),但是taking a look at the documentation提供有关您的代码出了什么问题的一些线索。

根据文档,我找不到DDMathParser 可以处理符号 表达式的示例。 “用法”页面上的所有示例均显示数值表达式。

有关符号数学,请参阅 Symbolic Math Library in C/C++/Obj-C .

此外,看起来您正在尝试用一个方程求解两个变量,这肯定不会产生数值解。

但是,如果您只是想用 xy 替换值,您应该在它们之前使用 $ 符号作为documentation说:

If you don't know what the value of a particular term should be when the string is constructed, that's ok; simply use a variable:

     NSString *math = @"6 * $a";

因此,如果您只想替换表达式中的值,请尝试使用:

string expression = @"(2+$x)6+2*$x+2*$y";

然后填写值。

NSDictionary *s = @{@"x" : 42, @"y" : 43};

并评估。

DDMathEvaluator *eval = [DDMathEvaluator sharedMathEvaluator];
NSLog(@"%@", [eval evaluateString:expression withSubstitutions:s]);

关于ios - 无法使用 DDMathParser 求解数学表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20563576/

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