我使用DDMathParser解析字符串表达式。我正在处理一个表达式,即"(2+x)6+2x+2y=5y+2x",我试图解析它并使用DDMathParser对它进行评估。它可以被认为是一次函数,我需要用目标C来求解。
伙计们有什么想法吗?
我将非常感谢你的帮助。
DDExpression * e = [DDExpression expressionFromString:expression error:error];
NSNumber *num = [e evaluateWithSubstitutions:substitutions evaluator:nil error:error];发布于 2013-12-14 09:18:12
我对DDMathParser不太了解(好的,我对它一无所知),但是看一下文档给出了一些关于代码错误的线索。
根据文档,我找不到DDMathParser可以处理符号表达式的例子。“使用”页面上的所有示例都显示数字表达式。
有关符号数学,请参见C/C++/Obj-C中的符号数学库。
此外,它看起来像,您试图用单一方程来求解两个变量,这肯定不会导致数值解。
但是,如果您只是试图替换x和y中的值,就应该像文档所说的那样在它们前面使用$符号:
如果您不知道在构造字符串时某个特定术语的值应该是什么,这是可以的;只需使用一个变量: NSString *$a=@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]);https://stackoverflow.com/questions/20563576
复制相似问题