System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于公式字符串的计算方法及其装置制造方法及图纸_技高网

基于公式字符串的计算方法及其装置制造方法及图纸

技术编号:40547768 阅读:6 留言:0更新日期:2024-03-05 19:05
本发明专利技术公开了一种基于公式字符串的计算方法及其装置,该计算方法包括以下步骤:获取公式字符串;持续对所述公式字符串进行以下处理,直至所述公式字符串中不包含有函数名;所述处理包括:从所述公式字符串中识别出若干函数名,每个函数名对应的函数字符段均不嵌套有其他函数名,之后,计算每个函数名对应的函数的值,之后,在所述公式字符串中,将每个函数名对应的函数字符段替换为对应的值;基于所述公式字符串,进行计算并得到最终结果。该计算方法能够基于该字符串来进行正确的计算。

【技术实现步骤摘要】

本专利技术涉及电力,尤其涉及基于公式字符串的计算方法及其装置


技术介绍

1、在现代社会中,绝大多数的实体(例如,学校,家庭或工厂等)都会使用电能,可以将该实体理解为一个用电系统,该用电系统一般连接到电网且都包含有负载,此外,还可以包括新能源发电装置(例如,风能发电,水利发电和光伏发电等)、储能装置、柴油发电机或汽油发电机等;该新能源发电装置、柴油发电机或汽油发电机所产生的电能可以提供给负载使用,还可以存储到储能装置中,还可以反馈到电网中;同样,电网中的电能可以提供给负载使用,还可以存储到储能装置中。

2、对于用电系统,需要计算其经济性能,即需要计算其盈利或亏损,这就需要给该用电系统输入计算公式;可以理解的是,电网的不同时间段的电价有可能不同,不同地区的计算公式可能不同。这就导致管理人员需要定期或不定期的修改用电系统中的计算公式,且这些公式一般也比较复杂。

3、在实际中,管理人员通常会将计算公式转换成对应的字符串(例如,有一个计算公式为y+2√x,则对应的字符串为“y+2*sqrt(x)”),然后,通过互联网远程登录该用电系统并输入该字符串(例如,直接输入字符串,通过excel文档的方法发送等等)。

4、因此,设计出一种方法,让用电系统能够基于该字符串来进行正确的计算,就成为一个亟待解决的问题。


技术实现思路

1、有鉴于此,本专利技术的主要目的在于提供一种基于公式字符串的计算方法及其装置。

2、为达到上述目的,本专利技术的技术方案是这样实现的:一种基于公式字符串的计算方法,包括以下步骤:获取公式字符串;持续对所述公式字符串进行以下处理,直至所述公式字符串中不包含有函数名;所述处理包括:从所述公式字符串中识别出若干函数名,每个函数名对应的函数字符段均不嵌套有其他函数名,之后,计算每个函数名对应的函数的值,之后,在所述公式字符串中,将每个函数名对应的函数字符段替换为对应的值;其中,函数名对应的函数字符段包括:函数名、函数名后面的字符“(”、与字符“(”匹配的字符“)”,位于字符“(”和字符“)”之间的字符;基于所述公式字符串,进行计算并得到最终结果。

3、作为本专利技术实施例的一种改进,所述“计算每个函数名对应的函数的值”具体包括:对每个函数名,获取函数名对应的函数;获取每个参数对应的参数字符段,基于对应的参数字符段计算每个参数的值;将所有参数的值代入到所述函数中,计算函数名对应的函数的值。

4、作为本专利技术实施例的一种改进,所述“基于对应的参数字符段计算每个参数的值”具体包括:对每个参数字符段,均首先将参数字符段转换成第一逆波兰表达式,然后,基于第一逆波兰表达式计算对应的参数的值;所述“基于所述公式字符串,进行计算并得到最终结果”具体包括:首先将所述公式字符串转换成第二逆波兰表达式,然后,基于第二逆波兰表达式计算并得到最终结果。

5、作为本专利技术实施例的一种改进,所述“获取公式字符串”具体包括:获取公式字符串、若干变量以及每个变量对应的值;在所述公式字符串中,将变量修改对其对应的值。

6、作为本专利技术实施例的一种改进,所述“获取公式字符串”具体包括:从excel文件中获取公式字符串。

7、本专利技术实施例还提供了一种基于公式字符串的计算装置,包括以下模块:字符串接收模块,用于获取公式字符串;预处理模块,用于持续对所述公式字符串进行以下处理,直至所述公式字符串中不包含有函数名;所述处理包括:从所述公式字符串中识别出若干函数名,每个函数名对应的函数字符段均不嵌套有其他函数名,之后,计算每个函数名对应的函数的值,之后,在所述公式字符串中,将每个函数名对应的函数字符段替换为对应的值;其中,函数名对应的函数字符段包括:函数名、函数名后面的字符“(”、与字符“(”匹配的字符“)”,位于字符“(”和字符“)”之间的字符;最终模块,用于基于所述公式字符串,进行计算并得到最终结果。

8、作为本专利技术实施例的一种改进,所述预处理模块还用于:对每个函数名,获取函数名对应的函数;获取每个参数对应的参数字符段,基于对应的参数字符段计算每个参数的值;将所有参数的值代入到所述函数中,计算函数名对应的函数的值。

9、作为本专利技术实施例的一种改进,所述预处理模块还用于:对每个参数字符段,均首先将参数字符段转换成第一逆波兰表达式,然后,基于第一逆波兰表达式计算对应的参数的值;所述最终模块还用于:首先将所述公式字符串转换成第二逆波兰表达式,然后,基于第二逆波兰表达式计算并得到最终结果。

10、作为本专利技术实施例的一种改进,所述字符串接收模块还用于:获取公式字符串、若干变量以及每个变量对应的值;在所述公式字符串中,将变量修改对其对应的值。

11、作为本专利技术实施例的一种改进,所述字符串接收模块还用于:从excel文件中获取公式字符串。

12、本专利技术实施例所提供的基于公式字符串的计算方法及其装置具有以下优点:本专利技术实施例公开了一种基于公式字符串的计算方法及其装置,该计算方法包括以下步骤:获取公式字符串;持续对所述公式字符串进行以下处理,直至所述公式字符串中不包含有函数名;所述处理包括:从所述公式字符串中识别出若干函数名,每个函数名对应的函数字符段均不嵌套有其他函数名,之后,计算每个函数名对应的函数的值,之后,在所述公式字符串中,将每个函数名对应的函数字符段替换为对应的值;基于所述公式字符串,进行计算并得到最终结果。该计算方法能够基于该字符串来进行正确的计算。

本文档来自技高网...

【技术保护点】

1.一种基于公式字符串的计算方法,其特征在于,包括以下步骤:

2.根据权利要求1的所述计算方法,其特征在于,所述“计算每个函数名对应的函数的值”具体包括:

3.根据权利要求2的所述计算方法,其特征在于,

4.根据权利要求1的所述计算方法,其特征在于,所述“获取公式字符串”具体包括:

5.根据权利要求1的所述计算方法,其特征在于,所述“获取公式字符串”具体包括:

6.一种基于公式字符串的计算装置,其特征在于,包括以下模块:

7.根据权利要求6的所述计算装置,其特征在于,所述预处理模块还用于:

8.根据权利要求7的所述计算装置,其特征在于,

9.根据权利要求6的所述计算装置,其特征在于,所述字符串接收模块还用于:

10.根据权利要求6的所述计算装置,其特征在于,所述字符串接收模块还用于:

【技术特征摘要】

1.一种基于公式字符串的计算方法,其特征在于,包括以下步骤:

2.根据权利要求1的所述计算方法,其特征在于,所述“计算每个函数名对应的函数的值”具体包括:

3.根据权利要求2的所述计算方法,其特征在于,

4.根据权利要求1的所述计算方法,其特征在于,所述“获取公式字符串”具体包括:

5.根据权利要求1的所述计算方法,其特征在于,所述“获取公式字符串”...

【专利技术属性】
技术研发人员:吴明杨帆洪星石峰何辉于琪奥洪佳音陈超
申请(专利权)人:安徽固太新能源有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1