数学表达式解析器简介

194 篇文章 13 订阅
189 篇文章 407 订阅

      在实际项目开发中如果需要解析数学公式,无须再运用解释器模式进行设计,可以直接使用一些第三方解析工具包,它们可以统称为数学表达式解析器(Math Expression Parser, MEP),如Expression4JJepJbcParserSymjaMath Expression String Parser(MESP)等来取代解释器模式,它们可以方便地解释一些较为复杂的文法,功能强大,且使用简单,效率较好。

      下面简单介绍两个常用的基于Java语言的第三方解析工具包:

      (1) Expression4J

      Expression4J是一个基于Java的开源框架,它用于对数学表达式进行操作,是一个数学公式解析器,在Expression4J中可以将数学表达式存储在字符串对象中,如“f(x,b)=2*x-cos(b)”和“g(x,y)=f(y,x)*-2”等。Expression4J是高度定制的,用户可以自定义文法,其主要功能包括实数和复数的基本数学运算,支持基本数学函数(如sincos等函数)、复杂函数(如f(x)=2*x+5g(x)=3*f(x+2)-x等)以及用户使用Java语言自定义的函数和文法,还可以定义函数目录(函数集)、支持XML配置文件等。目前它还不是一个十分成熟的框架,仍在不断完善中。关于Expression4J的更多资料可以参考网站:http://expression4j.sourceforge.net/

      (2) Jep

      Jep(JavaMathematical Expression Parser)是一个用于解析和求解数学表达式的Java类库。通过使用Jep提供的包,我们可以输入一个以字符串表示的任意数学公式,然后立即对其进行求解。Jep支持用户自定义变量、常量和自定义函数,同时还包含了大量通用的数学函数和常量。关于Jep的更多资料可以参考网站:http://www.singularsys.com/jep/

 

【作者:刘伟   http://blog.csdn.net/lovelion

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值