首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不能用DDMathParser求解数学表达式

不能用DDMathParser求解数学表达式
EN

Stack Overflow用户
提问于 2013-12-13 09:57:38
回答 1查看 683关注 0票数 0

我使用DDMathParser解析字符串表达式。我正在处理一个表达式,即"(2+x)6+2x+2y=5y+2x",我试图解析它并使用DDMathParser对它进行评估。它可以被认为是一次函数,我需要用目标C来求解。

伙计们有什么想法吗?

我将非常感谢你的帮助。

代码语言:javascript
复制
DDExpression * e = [DDExpression expressionFromString:expression error:error];
NSNumber *num = [e evaluateWithSubstitutions:substitutions evaluator:nil error:error];
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-14 09:18:12

我对DDMathParser不太了解(好的,我对它一无所知),但是看一下文档给出了一些关于代码错误的线索。

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

有关符号数学,请参见C/C++/Obj-C中的符号数学库

此外,它看起来像,您试图用单一方程来求解两个变量,这肯定不会导致数值解。

但是,如果您只是试图替换xy中的值,就应该像文档所说的那样在它们前面使用$符号:

如果您不知道在构造字符串时某个特定术语的值应该是什么,这是可以的;只需使用一个变量: NSString *$a=@6*$a;

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

代码语言:javascript
复制
string expression = @"(2+$x)6+2*$x+2*$y";

然后填上价值。

代码语言:javascript
复制
NSDictionary *s = @{@"x" : 42, @"y" : 43};

并进行评估。

代码语言:javascript
复制
DDMathEvaluator *eval = [DDMathEvaluator sharedMathEvaluator];
NSLog(@"%@", [eval evaluateString:expression withSubstitutions:s]);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20563576

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档