多模式微积分计算方法、装置、设备及存储介质与流程

文档序号:18302362发布日期:2019-07-31 10:19阅读:430来源:国知局
多模式微积分计算方法、装置、设备及存储介质与流程

本发明涉及计算机技术领域,尤其涉及一种多模式微积分计算方法、装置、设备及存储介质。



背景技术:

目前对于用于进行微积分计算的计算装置功能大多都比较单一,例如到目前为止,已有计算二重积分的独立计算器和计算三重积分的独立计算器,但没有一个既能计算二重积分又能计算三重积分的计算装置,这样用户在需要进行微积分计算时,效率比较低,同时必须购买不同微积分模式的计算器,增加了用户的成本。



技术实现要素:

本发明的主要目的在于提供了一种多模式微积分计算方法、装置、设备以及存储介质,旨在解决目前用于进行微积分计算的独立计算装置功能单一,使用不够灵活的问题。

为实现上述目的,本发明提供了一种多模式微积分计算方法,所述方法包括以下步骤:

在接收到用户输入的当前字符串信息时,通过调用预设接口函数来判断所述当前字符串信息的格式是否满足预设积分格式条件;

在所述当前字符串信息的格式满足预设积分格式条件时,判定所述当前字符串信息为微积分信息;

从所述当前字符串信息中识别出目标标识符,按照所述目标标识符对所述当前字符串信息进行分割;

根据分割结果从所述预设接口函数中选取对应的积分计算模式,通过所述积分计算模式对所述当前字符串信息进行微积分计算。

优选地,所述在所述当前字符串信息的格式满足预设积分格式条件时,判定所述当前字符串信息为微积分信息的步骤之后,还包括:

获取被所述当前字符串信息触发的文本框控件、以及各个文本框控件对应的单位微积分信息,并获取各个文本框控件之间的预设优先级;

设置初始目标变量;

按照所述预设优先级的顺序将各个文本框控件对应的单位微积分信息给所述初始目标变量赋值,将赋值结果作为目标微积分信息。

优选地,所述从所述当前字符串信息中识别出目标标识符,按照所述目标标识符对所述当前字符串信息进行分割的步骤,具体包括:

从所述目标微积分信息中识别出预设分隔符,获取识别出的预设分隔符的数量,按照所述预设分隔符对所述目标微积分信息进行分割;

根据所述预设分隔符的数量确定所述目标微积分信息的积分类型;

相应地,所述根据分割结果从所述预设接口函数中选取对应的积分计算模式,通过所述积分计算模式对所述当前字符串信息进行微积分计算,具体包括:

根据分割结果从所述预设接口函数中确定与所述目标微积分信息的积分类型对应的目标积分计算模式;

通过所述目标积分计算模式对所述目标微积分信息进行微积分计算。

优选地,所述积分类型包括定积分、二重积分、以及三重积分;

相应地,随时根据所述预设分隔符的数量确定所述目标微积分信息的积分类型,具体包括:

若所述预设分隔符的数量为1,则确定所述目标微积分信息的积分类型为定积分;若所述预设分隔符的数量为2,则确定所述目标微积分信息的积分类型为二重积分;若所述预设分隔符的数量为3,则确定所述目标微积分信息的积分类型为三重积分。

优选地,所述从所述当前字符串信息中识别出目标标识符,按照所述目标标识符对所述当前字符串信息进行分割的步骤,具体包括:

从所述目标微积分信息中识别出预设分隔符和目标运算符,获取识别出的目标运算符的数量,按照所述预设分隔符对所述目标微积分信息进行分割;

根据所述目标运算符的数量确定所述目标微积分信息的积分类型;

相应地,所述根据分割结果从所述预设接口函数中选取对应的积分计算模式,通过所述积分计算模式对所述当前字符串信息进行微积分计算的步骤,具体包括:

根据分割结果从所述预设接口函数中确定与所述目标微积分信息的积分类型对应的目标积分计算模式,通过所述目标积分计算模式对所述目标微积分信息进行微积分计算。

优选地,所述积分类型包括定积分、二重积分、以及三重积分;

相应地,所述根据所述目标运算符的数量确定所述目标微积分信息的积分类型的步骤,具体包括:

若所述目标运算符的数量为2,则确定所述目标微积分信息的积分类型为定积分;若所述目标运算符的数量为4,则确定所述目标微积分信息的积分类型为二重积分;若所述目标运算符的数量为6,则确定所述目标微积分信息的积分类型为三重积分。

优选地,所述在所述当前字符串信息的格式满足预设积分格式条件时,判定所述当前字符串信息为微积分信息的步骤,具体包括:

对所述当前字符串信息进行遍历,在遍历结果中存在与被积函数格式、以及参变量格式相匹配的字符串时,判定所述当前字符串信息为微积分信息。

此外,为实现上述目的,本发明还提出一种多模式微积分计算的装置,所述装置包括:

接收模块,用于在接收到用户输入的当前字符串信息时,通过调用预设接口函数来判断所述当前字符串信息的格式是否满足预设积分格式条件;

判定模块,用于在所述当前字符串信息的格式满足预设积分格式条件时,判定所述当前字符串信息为微积分信息;

分割模块,用于从所述当前字符串信息中识别出目标标识符,按照所述目标标识符对所述当前字符串信息进行分割;

计算模块,用于根据分割结果从所述预设接口函数中选取对应的积分计算模式,通过所述积分计算模式对所述当前字符串信息进行微积分计算。

此外,为实现上述目的,本发明还提出一种多模式微积分计算设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的多模式微积分计算程序,所述多模式微积分计算程序配置为实现如上所述的多模式微积分计算的方法的步骤。

此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有多模式微积分计算程序,所述多模式微积分计算程序配置为实现如上所述的多模式微积分计算方法的步骤。

本发明在接收到用户输入的当前字符串信息时,通过调用预设接口函数来判断所述当前字符串信息的格式是否满足预设积分格式条件;在所述当前字符串信息的格式满足预设积分格式条件时,判定所述当前字符串信息为微积分信息;从所述当前字符串信息中识别出目标标识符,按照所述目标标识符对所述当前字符串信息进行分割;最后根据分割结果从所述预设接口函数中选取对应的积分计算模式,通过所述积分计算模式对所述当前字符串信息进行微积分计算,进而能够对不同模式的微积分计算进行区分和识别,在识别成功之后进行相应的微积分计算,将上述微积分计算方法应用到独立计算设备中,使得用户使用该设备进行微积分计算时更加灵活。

附图说明

图1为本发明实施例方案涉及的硬件运行环境的多模式微积分计算设备的结构示意图;

图2为本发明一种多模式微积分计算的方法的第一实施例的流程示意图;

图3为本发明一种多模式微积分计算的方法的第二实施例的流程示意图;

图4为本发明一种多模式微积分计算的方法的第三实施例的流程示意图;

图5为本发明一种多模式微积分计算的方法的装置的结构框图;

图6为本发明多模式微积分计算装置对应的输入界面的示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

参照图1,图1为本发明实施例方案涉及的硬件运行环境的多模式微积分计算设备结构示意图。

如图1所示,所述多模式微积分计算设备可以包括:处理器1001,例如控制器或者微处理器,通信总线1002、用户接口1003,存储器1004。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如界面按钮。存储器1004可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory)。

本领域技术人员可以理解,图1中示出的结构并不构成对所述用于获取信号冲击响应的簇信息的设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。本实施例的处理器1001也可与只读存储器配合复杂的运算程序,有较多的随机存储单元以存放输入程序和数据

如图1所示,作为一种存储介质的存储器1004中可以包括操作系统、用户接收模块以及多模式微积分计算程序。

可理解的是,本实施例的多模式微积分计算设备可以是一种用于进行微积分计算的计算器;本发明的设备通过处理器1001调用存储器1005中存储的多模式微积分计算程序,来执行不同模式的微积分计算。

参照图2图2本发明一种多模式微积分计算方法实施例的流程示意图。

本实施例中,所述多模式微积分计算方法包括以下步骤:

步骤s10:响应用户输入的当前字符串信息,调用预设接口函数判断所述当前字符串信息的格式是否满足预设积分格式条件。

需要说明的是,本实施例的执行主体为上述多模式微积分计算设备的处理器。

本实施例以面向对象编程设计为例,在面向对象编程设计中,需要设计一个标准的输入接口interface,该输入接口具有对用户输入的字符信息进行解析的功能。

相应地,所述输入接口可用理解为装载于上述多模式微积分计算程序中的一种子程序,该子程序对应的输入界面如图6所示;为实现用户的自由输入,对图6中的输入框没有任何要求。图6的输入界面可以有几个输入框,也可以只输入框。也就是说,全部的积分信息可以在一个框中输入,也可以在几个框中输入。为了实现这种自由输入功能,关键是对输入接口的数据收集。

在具体实现中,响应用户输入的当前字符串信息,调用预设接口函数对所述当前字符串信息进行遍历,根据遍历结果来判断所述当前字符串信息的格式是否满足预设积分格式条件。

步骤s20:在所述当前字符串信息的格式满足预设积分格式条件时,判定所述当前字符串信息为微积分信息。

具体地,在遍历结果中存在与被积函数格式、以及参变量格式相匹配的字符串时,判定所述当前字符串信息为微积分信息。

进一步地,本实施例在所述当前字符串信息的格式满足预设积分格式条件时,判定所述当前字符串信息为微积分信息的步骤之后,还包括:

获取被所述当前字符串信息触发的文本框控件、以及各个文本框控件对应的单位微积分信息,并获取各个文本框控件之间的预设优先级;

设置初始目标变量s;

按照所述预设优先级的顺序将各个文本框控件对应的单位微积分信息给所述初始目标变量赋值,将赋值结果作为目标微积分信息。

可理解的是,本实施例会预先对各个输入框的优先级进行设置,本实施可以将图6中对输入框从上往下数的顺序作为各个文本框控件之间的预设优先级。

第一个输入框的信息由变量stage1接收,第二个输入框的信息由变量stage2接收,第三个输入框的信息由变量stage3接收,第四个输入框的信息由变量stage4接收。

stage1、stage2、stage3和stage4与各个文本框控件具有预设绑定关系;stage1、stage2、stage3和stage4均用于接收单位微积分信息。一旦用户点击了“计算积分”按钮,则系统的用户输入积分信息的收集过程如下:

初始化变量

如果则执行s=stage1;

如果则收集过程如下:若则使s=s+‘,’+stage2;若则使s=stage2;

如果则收集过程如下:若则使s=s+‘,’+stage3;若则使s=stage3;

如果则收集过程如下:若则使s=s+‘,’+stage4;若则使s=stage4。

从以上过程可以看出,多模式微积分计算程序能收集用户输入的全部积分信息,而且保证用户的输入是自由的。

步骤s30:从所述当前字符串信息中识别出目标标识符,按照所述目标标识符对所述当前字符串信息进行分割。

在具体实现中,所述目标标识符可以是定积分、二重积分和三重积分等积分类型共有的运算符号或者标点符号(例如逗号“,”或者小于等于运算符“<=”),可通过这些目标标识符对当前字符串信息中进行分割。

步骤s40:根据分割结果从所述预设接口函数中选取对应的积分计算模式,通过所述积分计算模式对所述当前字符串信息进行微积分计算。

需要说明的是,本实施例会对定积分、二重积分以及三重积分进行约定设置,并将这些约定设置封装到所述预设接口函数中,这些约定设置包括:

首先,是定积分计算方法的选择,为了识别用户输入的定积分信息,需要做如下约定设置:

(1)s=s1s2…sn,其中s为当前字符串信息,等号右边的数据表征用户的积分计算模式;

(2)f1表示s中存在′<=x<=′的位置;

(3)f2表示s中存在′<=y<=′的位置;

(4)f3表示s中存在′<=x<=′的位置;

(5)ft1表示s中第1个′,′的位置;

设s=s1s2…sn是用户输入的积分信息,则对字符串s的分割过程如下:

步骤一,如果f1>0,f2=0和f3=0,则意味对变量x求定积分:

(1)如果用户输入”f(x),a<=x<=b”,则直接进行计算;

(2)如果用户输入a<=x<=b,f(x),则先变为”f(x),a<=x<=b”,然后再求定积分;

步骤二,如果f1=0,f2>和f3=0,则意味对变量y求定积分:

(1)如果用户输入”f(y),c<=y<=d”,则直接进行计算;

(2)如果用户输入c<=y<=b,f(y),则先变为”f(y),c<=y<=d”,然后再求定积分;

步骤三,如果f1=0,f2=和f3>0,则意味对变量z求定积分:

(1)如果用户输入”f(z),p<=y<=q”,则直接进行计算;

(2)如果用户输入p<=z<=q,f(z),则先变为”f(z),p<=z<=q”,然后再求定积分。

其次,是二重积分计算方法的选择,为了识别用户输入的二重积分信息,需要做如下约定设置:

(1)f1表示用户输入的信息中存在子串′<=x<=′的位置;

(2)f2表示用户输入的信息中存在子串′<=y<=′的位置;

(3)f3表示用户输入的信息中存在子串′<=t<=′的位置;

(4)f4表示用户输入的信息中存在子串′<=yx<=′的位置;

(5)f5表示用户输入的信息中存在子串′<=xy<=′的位置;

(6)f6表示用户输入的信息中存在子串′<=rt<=′的位置;

(7)fs1表示用户输入的信息中第一个逗号的位置;

(8)fs2表示用户输入的信息中第二个逗号的位置;

(9)stage1表示用来存储y1(x)<=yx<=y2(x)或x1(y)<=xy<=x2(y)或r1(t)<=rt<=r2(t)的变量;

(10)stage2表示用来存储a<=x<=b或c<=y<=d或α<=t<=β的变量;

(11)func表示用来存储二元函数f(x,y)的变量;

例如,s=s1s2…sn是用户输入的积分信息,则对字符串s的分割过程如下:

步骤一,如果f1>0和f4>0,则被积函数和积分区间分割如下:

(1)如果f1<fs1和fs1<f4<fs2,则stage1=sfs1+1sfs1+2…sfs2-1,stage2=s1s2…sfs1-1,func=sfs2+1sfs2+2…sn;即用户输入的积分信息为:

a<=x<=b,y1(x)<=yx<=y2(x),f(x,y)

(2)如果f4<fs1和fs1<f1<fs2,则stage2=sfs1+1sfs1+2…sfs2-1,stage1=s1s2…sfs1-1,func=sfs2+1sfs2+2…sn;即用户输入的积分信息为:

y1(x)<=yx<=y2(x),a<=x<=b,f(x,y)

(3)如果f1<fs1和f4>fs2,则func=sfs1+1sfs1+2…sfs2-1,stage2=s1s2…sfs1-1,stage1=sfs2+1sfs2+2…sn;即用户输入的积分信息为:

a<=x<=b,f(x,y),y1(x)<=yx<=y2(x)

(4)如果fs1<f1<fs2和f4>fs2,则stage2=sfs1+1sfs1+2…sfs2-1,func=s1s2…sfs1-1,stage1=sfs2+1sfs2+2…sn;即用户输入的积分信息为:

f(x,y),a<=x<=b,y1(x)<=yx<=y2(x)

(5)如果f4<fs1和f1>fs2,则func=sfs1+1sfs1+2…sfs2-1,stage1=s1s2…sfs1-1,stage2=sfs2+1sfs2+2…sn;即用户输入的积分信息为:

y1(x)<=yx<=y2(x),f(x,y),a<=x<=b

(6)如果fs1<f4<fs2和f1>fs2,则stage1=sfs1+1sfs1+2…sfs2-1,func=s1s2…sfs1-1,stage2=sfs2+1sfs2+2…sn。即用户输入的积分信息为:

f(x,y),y1(x)<=yx<=y2(x),a<=x<=b

步骤二,如果f2>0和f5>0,则被积函数和积分区间分割如下:

(1)如果f2<fs1和fs1<f5<fs2,则stage1=sfs1+1sfs1+2…sfs2-1,stage2=s1s2…sfs1-1,func=sfs2+1sfs2+2…sn;即用户输入的积分信息为:

c<=y<=d,x1(y)<=xy<=x2(y),f(x,y)

(2)如果f5<fs1和fs1<f2<fs2,则stage2=sfs1+1sfs1+2…sfs2-1,stage1=s1s2…sfs1-1,func=sfs2+1sfs2+2…sn;即用户输入的积分信息为:

x1(y)<=xy<=x2(y),c<=y<=d,f(x,y)

(3)如果f2<fs1和f5>fs2,则func=sfs1+1sfs1+2…sfs2-1,stage2=s1s2…sfs1-1,stage1=sfs2+1sfs2+2…sn;即用户输入的积分信息为:

c<=y<=d,f(x,y),x1(y)<=xy<=x2(y)

(4)如果fs1<f2<fs2和f5>fs2,则stage2=sfs1+1sfs1+2…sfs2-1,func=s1s2…sfs1-1,stage1=sfs2+1sfs2+2…sn;即用户输入的积分信息为:

f(x,y),c<=y<=d,x1(y)<=xy<=x2(y)

(5)如果f5<fs1和t2>fs2,则func=sfs1+1sfs1+2…sfs2-1,stage1=s1s2…sfs1-1,stage2=sfs2+1sfs2+2…sn;即用户输入的积分信息为:

x1(y)<=xy<=x2(y),f(x,y),c<=y<=d

(6)如果fs1<f5<fs2和f2>fs2,则stage1=sfs1+1sfs1+2…sfs2-1,func=s1s2…sfs1-1,stage2=sfs2+1sfs2+2…sn。即用户输入的积分信息为:

f(x,y),x1(y)<=xy<=x2(y),c<=y<=d

步骤三,如果f3>0和f6>0,则被积函数和积分区间分割如下:

(1)如果f3<fs1和fs1<f6<fs2,则stage1=sfs1+1sfs1+2…sfs2-1,stage2=s1s2…sfs1-1,func=sfs2+1sfs2+2…sn;即用户输入的积分信息为:

α<=t<=β,r1(t)<=rt<=r2(t),f(x,y)

(2)如果f6<fs1和fs1<f3<fs2,则stage2=sfs1+1sfs1+2…sfs2-1,stage1=s1s2…sfs1-1,func=sfs2+1sfs2+2…sn;即用户输入的积分信息为:

r1(t)<=rt<=r2(t),α<=t<=β,f(x,y)

(3)如果f3<fs1和f6>fs2,则func=sfs1+1sfs1+2…sfs2-1,stage2=s1s2…sfs1-1,stage1=sfs2+1sfs2+2…sn;即用户输入的积分信息为:

α<=t<=β,f(x,y),r1(t)<=rt<=r2(t)

(4)如果fs1<f3<fs2和f6>fs2,则stage2=sfs1+1sfs1+2…sfs2-1,func=s1s2…sfs1-1,stage1=sfs2+1sfs2+2…sn;即用户输入的积分信息为:

f(x,y),α<=t<=β,r1(t)<=rt<=r2(t)

(5)如果f6<fs1和f3>fs2,则func=sfs1+1sfs1+2…sfs2-1,stage1=s1s2…sfs1-1,stage2=sfs2+1sfs2+2…sn;即用户输入的积分信息为:

r1(t)<=rt<=r2(t),f(x,y),α<=t<=β

(6)如果fs1<f6<fs2和f3>fs2,则stage1=sfs1+1sfs1+2…sfs2-1,func=s1s2…sfs1-1,stage2=sfs2+1sfs2+2…sn。即用户输入的积分信息为:

f(x,y),r1(t)<=rt<=r2(t),α<=t<=β

最后,是三重积分计算方法的选择,需要做如下约定:

(1)s=s1s2…sn是用户的输入模式;

(2)f1表示s中存在′<=xyz<=′的位置;

(3)f2表示s中存在′<=yxz<=′的位置;

(4)f3表示s中存在′<=xzy<=′的位置;

(5)f4表示s中存在′<=zxy<=′的位置;

(6)f5表示s中存在′<=yzx<=′的位置;

(7)f6表示s中存在′<=zyx<=′的位置;

(8)f7表示s中存在′<=xy<=′的位置;

(9)f8表示s中存在′<=yx<=′的位置;

(10)f9表示s中存在′<=xz<=′的位置;

(11)f10表示s中存在′<=zx<=′的位置;

(12)f11表示s中存在′<=yz<=′的位置;

(13)f12表示s中存在′<=zy<=′的位置;

(14)f13表示s中存在′<=x<=′的位置;

(15)f14表示s中存在′<=y<=′的位置;

(16)f15表示s中存在′<=z<=′的位置;

(17)f16表示s中存在′<=t<=′的位置;

(18)f17表示s中存在′<=r<=′的位置;

(19)f18表示s中存在′<=a<=′的位置;

(20)f19表示s中存在′<=rx<=′的位置;

(21)f20表示s中存在′<=ry<=′的位置;

(22)f21表示s中存在′<=rz<=′的位置;

(23)ft1表示s中第1个′,′的位置;

(24)ft2表示s中第2个′,′的位置;

(25)ft3表示s中第3个′,′的位置;

一旦通过用户的输入模式确认用户需要求三重积分,则必须将等价模式转化为标准模式,即对用户的输入信息重新排列组合,以便转化为系统能够用于计算的标准模式。因此,用户输入的信息重组过程如下:

步骤一,如果f1>0,f11>0和f15>0,则意味着用户输入的是

f(x,y,z),x1(y,z)≤x≤x2(y,z),y1(z)≤y≤y2(z),p≤z≤q

的等价模式,故从s中分离出被积函数和各变量积分上下限的过程如下:

(1)令p=q=f1;

(2)重复执行p=p-1,直到sp=′,′或p=1为止;

(3)重复执行q=q+1,直到sq=′,′或p=n为止;

(4)如果sp=′,′,则执行p=p+1;

(5)如果sq=′,′,则执行q=q-1;

(6)stage1=spsp+1…sq;

(7)令p=q=f11;

(8)重复执行p=p-1,直到sp=′,′或p=1为止;

(9)重复执行q=q+1,直到sq=′,′或p=n为止;

(10)如果sp=′,′,则执行p=p+1;

(11)如果sq=′,′,则执行q=q-1;

(12)stage2=spsp+1…sq;

(13)令p=q=f15;

(14)重复执行p=p-1,直到sp=′,′或p=1为止;

(15)重复执行q=q+1,直到sq=′,′或p=n为止;

(16)如果sp=′,′,则执行p=p+1;

(17)如果sq=′,′,则执行q=q-1;

(18)stage3=spsp+1…sq;

(19)从s中删除stage1,stage2和stage3,即s=s-stage1-stage2-stage3;(20)f=s。

(21)将stage1中的”<=xyz<=”用”<=x<=”替换;

(22)将stage2中的”<=yz<=”用”<=y<=”替换;

(23)重新拼接s=f+′,′+stage1+′,′+stage2+′,′+stage3;

步骤二,如果f2>0,f9>0和f15>0,则意味着用户输入的是

f(x,y,z),y1(x,z)≤y≤y2(x,z),x1(z)≤x≤x2(z),p≤z≤q

的等价模式,从s中分离出被积函数和各变量积分上下限的过程如下:

(1)令p=q=f2;

(2)重复执行p=p-1,直到sp=′,′或p=1为止;

(3)重复执行q=q+1,直到sq=′,′或p=n为止;

(4)如果sp=′,′,则执行p=p+1;

(5)如果sq=′,′,则执行q=q-1;

(6)stage1=spsp+1…sq;

(7)令p=q=f9;

(8)重复执行p=p-1,直到sp=′,′或p=1为止;

(9)重复执行q=q+1,直到sq=′,′或p=n为止;

(10)如果sp=′,′,则执行p=p+1;

(11)如果sq=′,′,则执行q=q-1;

(12)stage2=spsp+1…sq;

(13)令p=q=f15;

(14)重复执行p=p-1,直到sp=′,′或p=1为止;

(15)重复执行q=q+1,直到sq=′,′或p=n为止;

(16)如果sp=′,′,则执行p=p+1;

(17)如果sq=′,′,则执行q=q-1;

(18)stage3=spsp+1…sq;

(19)从s中删除stage1,stage2和stage3,即s=s-stage1-stage2-stage3;(20)f=s。

(21)将stage1中的”<=yxz<=”用”<=y<=”替换;

(22)将stage2中的”<=xz<=”用”<=x<=”替换;

(23)重新拼接s=f+′,′+stage1+′,′+stage2+′,′+stage3;

步骤三,如果f3>0,f12>0和f14>0,则表示用户输入的是f(x,y,z),x1(y,z)≤x≤x2(y,z),z1(y)≤z≤z2(y),c≤y≤d,故从s中分离出被积函数和各变量积分上下限的过程如下:

(1)令p=q=f3;

(2)重复执行p=p-1,直到sp=′,′或p=1为止;

(3)重复执行q=q+1,直到sq=′,′或p=n为止;

(4)如果sp=′,′,则执行p=p+1;

(5)如果sq=′,′,则执行q=q-1;

(6)stage1=spsp+1…sq;

(7)令p=q=f12;

(8)重复执行p=p-1,直到sp=′,′或p=1为止;

(9)重复执行q=q+1,直到sq=′,′或p=n为止;

(10)如果sp=′,′,则执行p=p+1;

(11)如果sq=′,′,则执行q=q-1;

(12)stage2=spsp+1…sq;

(13)令p=q=f14;

(14)重复执行p=p-1,直到sp=′,′或p=1为止;

(15)重复执行q=q+1,直到sq=′,′或p=n为止;

(16)如果sp=′,′,则执行p=p+1;

(17)如果sq=′,′,则执行q=q-1;

(18)stage3=spsp+1…sq;

(19)从s中删除stage1,stage2和stage3,即s=s-stage1-stage2-stage3;

(20)f=s。

(21)将stage1中的”<=xzy<=”用”<=x<=”替换;

(22)将stage2中的”<=zy<=”用”<=z<=”替换;

(23)重新拼接s=f+′,′+stage1+′,′+stage2+′,′+stage3;

步骤四,如果f4>0,f7>0和f14>0,则表示用户输入的是,f(x,y,z),z1(x,y)≤z≤z2(x,y),x1(y)≤x≤x2(y),c≤y≤d

,故从s中分离出被积函数和各变量积分上下限的过程如下:

(1)令p=q=f4;

(2)重复执行p=p-1,直到sp=′,′或p=1为止;

(3)重复执行q=q+1,直到sq=′,′或p=n为止;

(4)如果sp=′,′,则执行p=p+1;

(5)如果sq=′,′,则执行q=q-1;

(6)stage1=spsp+1…sq;

(7)令p=q=f7;

(8)重复执行p=p-1,直到sp=′,′或p=1为止;

(9)重复执行q=q+1,直到sq=′,′或p=n为止;

(10)如果sp=′,′,则执行p=p+1;

(11)如果sq=′,′,则执行q=q-1;

(12)stage2=spsp+1…sq;

(13)令p=q=f14;

(14)重复执行p=p-1,直到sp=′,′或p=1为止;

(15)重复执行q=q+1,直到sq=′,′或p=n为止;

(16)如果sp=′,′,则执行p=p+1;

(17)如果sq=′,′,则执行q=q-1;

(18)stage3=spsp+1…sq;

(19)从s中删除stage1,stage2和stage3,即s=s-stage1-stage2-stage3;

(20)f=s。

(21)将stage1中的”<=zxy<=”用”<=z<=”替换;

(22)将stage2中的”<=xy<=”用”<=x<=”替换;

(23)重新拼接s=f+′,′+stage1+′,′+stage2+′,′+stage3;

步骤五,如果f5>0,f10>0和f13>0,则表示用户输入的是f(x,y,z),y1(x,z)≤y≤y2(x,z),z1(x)≤z≤z2(x),a≤x≤b,故从s中分离出被积函数和各变量积分上下限的过程如下:

(1)令p=q=f5;

(2)重复执行p=p-1,直到sp=′,′或p=1为止;

(3)重复执行q=q+1,直到sq=′,′或p=n为止;

(4)如果sp=′,′,则执行p=p+1;

(5)如果sq=′,′,则执行q=q-1;

(6)stage1=spsp+1…sq;

(7)令p=q=f10;

(8)重复执行p=p-1,直到sp=′,′或p=1为止;

(9)重复执行q=q+1,直到sq=′,′或p=n为止;

(10)如果sp=′,′,则执行p=p+1;

(11)如果sq=′,′,则执行q=q-1;

(12)stage2=spsp+1…sq;

(13)令p=q=f13;

(14)重复执行p=p-1,直到sp=′,′或p=1为止;

(15)重复执行q=q+1,直到sq=′,′或p=n为止;

(16)如果sp=′,′,则执行p=p+1;

(17)如果sq=′,′,则执行q=q-1;

(18)stage3=spsp+1…sq;

(19)从s中删除stage1,stage2和stage3,即s=s-stage1-stage2-stage3;(20)f=s。

(21)将stage1中的”<=yzx<=”用”<=y<=”替换;

(22)将stage2中的”<=zx<=”用”<=z<=”替换;

(23)重新拼接s=f+′,′+stage1+′,′+stage2+′,′+stage3;

步骤六,如果f6>0,f8>0和f13>0,则表示用户输入的是f(x,y,z),z1(x,y)≤z≤z2(x,y),y1(x)≤y≤y2(x),a≤x≤b,故从s中分离出被积函数和各变量积分上下限的过程如下:

(1)令p=q=f6;

(2)重复执行p=p-1,直到sp=′,′或p=1为止;

(3)重复执行q=q+1,直到sq=′,′或p=n为止;

(4)如果sp=′,′,则执行p=p+1;

(5)如果sq=′,′,则执行q=q-1;

(6)stage1=spsp+1…sq;

(7)令p=q=f8;

(8)重复执行p=p-1,直到sp=′,′或p=1为止;

(9)重复执行q=q+1,直到sq=′,′或p=n为止;

(10)如果sp=′,′,则执行p=p+1;

(11)如果sq=′,′,则执行q=q-1;

(12)stage2=spsp+1…sq;

(13)令p=q=f13;

(14)重复执行p=p-1,直到sp=′,′或p=1为止;

(15)重复执行q=q+1,直到sq=′,′或p=n为止;

(16)如果sp=′,′,则执行p=p+1;

(17)如果sq=′,′,则执行q=q-1;

(18)stage3=spsp+1…sq;

(19)从s中删除stage1,stage2和stage3,即s=s-stage1-stage2-stage3;

(20)f=s。

(21)将stage1中的”<=zyx<=”用”<=z<=”替换;

(22)将stage2中的”<=yx<=”用”<=y<=”替换;

(23)重新拼接s=f+′,′+stage1+′,′+stage2+′,′+stage3;

步骤七,如果f13>0,f17>0和f16>0,则表示用户输入的是f(x,rcost,rsint),x1(r,t)≤x≤x2(r,t),r1(t)≤r≤r2(t),α≤t≤β,故从s中分离出被积函数和各变量积分上下限的过程如下:

(1)令p=q=f13;

(2)重复执行p=p-1,直到sp=′,′或p=1为止;

(3)重复执行q=q+1,直到sq=′,′或p=n为止;

(4)如果sp=′,′,则执行p=p+1;

(5)如果sq=′,′,则执行q=q-1;

(6)stage1=spsp+1…sq;

(7)令p=q=f17;

(8)重复执行p=p-1,直到sp=′,′或p=1为止;

(9)重复执行q=q+1,直到sq=′,′或p=n为止;

(10)如果sp=′,′,则执行p=p+1;

(11)如果sq=′,′,则执行q=q-1;

(12)stage2=spsp+1…sq;

(13)令p=q=f16;

(14)重复执行p=p-1,直到sp=′,′或p=1为止;

(15)重复执行q=q+1,直到sq=′,′或p=n为止;

(16)如果sp=′,′,则执行p=p+1;

(17)如果sq=′,′,则执行q=q-1;

(18)stage3=spsp+1…sq;

(19)从s中删除stage1,stage2和stage3,即s=s-stage1-stage2-stage3;(20)f=s。

(21)重新拼接s=f+′,′+stage1+′,′+stage2+′,′+stage3;

步骤八,如果f14>0,f17>0和f16>0,则表示用户输入的是f(rcost,y,rsint),y1(r,t)≤y≤y2(r,t),r1(t)≤r≤r2(t),α≤t≤β,故从s中分离出被积函数和各变量积分上下限的过程如下:

(1)令p=q=f14;

(2)重复执行p=p-1,直到sp=′,′或p=1为止;

(3)重复执行q=q+1,直到sq=′,′或p=n为止;

(4)如果sp=′,′,则执行p=p+1;

(5)如果sq=′,′,则执行q=q-1;

(6)stage1=spsp+1…sq;

(7)令p=q=f17;

(8)重复执行p=p-1,直到sp=′,′或p=1为止;

(9)重复执行q=q+1,直到sq=′,′或p=n为止;

(10)如果sp=′,′,则执行p=p+1;

(11)如果sq=′,′,则执行q=q-1;

(12)stage2=spsp+1…sq;

(13)令p=q=f16;

(14)重复执行p=p-1,直到sp=′,′或p=1为止;

(15)重复执行q=q+1,直到sq=′,′或p=n为止;

(16)如果sp=′,′,则执行p=p+1;

(17)如果sq=′,′,则执行q=q-1;

(18)stage3=spsp+1…sq;

(19)从s中删除stage1,stage2和stage3,即s=s-stage1-stage2-stage3;

(20)f=s。

(21)重新拼接s=f+′,′+stage1+′,′+stage2+′,′+stage3;

步骤九,如果f15>0,f17>0和f16>0,则表示用户输入的是f(rcost,rsint,z),z1(r,t)≤z≤z2(r,t),r1(t)≤r≤r2(t),α≤t≤β,故从s中分离出被积函数和各变量积分上下限的过程如下:

(1)令p=q=f15;

(2)重复执行p=p-1,直到sp=′,′或p=1为止;

(3)重复执行q=q+1,直到sq=′,′或p=n为止;

(4)如果sp=′,′,则执行p=p+1;

(5)如果sq=′,′,则执行q=q-1;

(6)stage1=spsp+1…sq;

(7)令p=q=f17;

(8)重复执行p=p-1,直到sp=′,′或p=1为止;

(9)重复执行q=q+1,直到sq=′,′或p=n为止;

(10)如果sp=′,′,则执行p=p+1;

(11)如果sq=′,′,则执行q=q-1;

(12)stage2=spsp+1…sq;

(13)令p=q=f16;

(14)重复执行p=p-1,直到sp=′,′或p=1为止;

(15)重复执行q=q+1,直到sq=′,′或p=n为止;

(16)如果sp=′,′,则执行p=p+1;

(17)如果sq=′,′,则执行q=q-1;

(18)stage3=spsp+1…sq;

(19)从s中删除stage1,stage2和stage3,即s=s-stage1-stage2-stage3;

(20)f=s。

(21)重新拼接s=f+′,′+stage1+′,′+stage2+′,′+stage3;

步骤十,如果f19>0,f18>0和f16>0,则表示用户输入的是f(rcosa,rsinacost,rsinasint)r2sina,r1(a,t)≤r≤r2(a,t),a1(t)≤a≤a2(t),α≤t≤β,故从s中分离出被积函数和各变量积分上下限的过程如下:

(1)令p=q=f19;

(2)重复执行p=p-1,直到sp=′,′或p=1为止;

(3)重复执行q=q+1,直到sq=′,′或p=n为止;

(4)如果sp=′,′,则执行p=p+1;

(5)如果sq=′,′,则执行q=q-1;

(6)stage1=spsp+1…sq;

(7)令p=q=f18;

(8)重复执行p=p-1,直到sp=′,′或p=1为止;

(9)重复执行q=q+1,直到sq=′,′或p=n为止;

(10)如果sp=′,′,则执行p=p+1;

(11)如果sq=′,′,则执行q=q-1;

(12)stage2=spsp+1…sq;

(13)令p=q=f16;

(14)重复执行p=p-1,直到sp=′,′或p=1为止;

(15)重复执行q=q+1,直到sq=′,′或p=n为止;

(16)如果sp=′,′,则执行p=p+1;

(17)如果sq=′,′,则执行q=q-1;

(18)stage3=spsp+1…sq;

(19)从s中删除stage1,stage2和stage3,即s=s-stage1-stage2-stage3;

(20)f=s。

(21)重新拼接s=f+′,′+stage1+′,′+stage2+′,′+stage3;

步骤十一,如果f20>0,f18>0和f16>0,则表示用户输入的是f(rsinacost,rcosa,rsinasint)r2sina,r1(a,t)≤r≤r2(a,t),a1(t)≤a≤a2(t),α≤t≤β,从s中分离出被积函数和各变量积分上下限的过程如下:

(1)令p=q=f20;

(2)重复执行p=p-1,直到sp=′,′或p=1为止;

(3)重复执行q=q+1,直到sq=′,′或p=n为止;

(4)如果sp=′,′,则执行p=p+1;

(5)如果sq=′,′,则执行q=q-1;

(6)stage1=spsp+1…sq;

(7)令p=q=f18;

(8)重复执行p=p-1,直到sp=′,′或p=1为止;

(9)重复执行q=q+1,直到sq=′,′或p=n为止;

(10)如果sp=′,′,则执行p=p+1;

(11)如果sq=′,′,则执行q=q-1;

(12)stage2=spsp+1…sq;

(13)令p=q=f16;

(14)重复执行p=p-1,直到sp=′,′或p=1为止;

(15)重复执行q=q+1,直到sq=′,′或p=n为止;

(16)如果sp=′,′,则执行p=p+1;

(17)如果sq=′,′,则执行q=q-1;

(18)stage3=spsp+1…sq;

(19)从s中删除stage1,stage2和stage3,即s=s-stage1-stage2-stage3;

(20)f=s。

(21)重新拼接s=f+′,′+stage1+′,′+stage2+′,′+stage3;

步骤十二,如果f21>0,f18>0和f16>0,则表示用户输入的是f(rsinacost,rsinasint,rcosa)r2sina,r1(a,t)≤r≤r2(a,t),a1(t)≤a≤a2(t),α≤t≤β,故从s中分离出被积函数和各变量积分上下限的过程如下:

(1)令p=q=f21;

(2)重复执行p=p-1,直到sp=′,′或p=1为止;

(3)重复执行q=q+1,直到sq=′,′或p=n为止;

(4)如果sp=′,′,则执行p=p+1;

(5)如果sq=′,′,则执行q=q-1;

(6)stage1=spsp+1…sq;

(7)令p=q=f18;

(8)重复执行p=p-1,直到sp=′,′或p=1为止;

(9)重复执行q=q+1,直到sq=′,′或p=n为止;

(10)如果sp=′,′,则执行p=p+1;

(11)如果sq=′,′,则执行q=q-1;

(12)stage2=spsp+1…sq;

(13)令p=q=f16;

(14)重复执行p=p-1,直到sp=′,′或p=1为止;

(15)重复执行q=q+1,直到sq=′,′或p=n为止;

(16)如果sp=′,′,则执行p=p+1;

(17)如果sq=′,′,则执行q=q-1;

(18)stage3=spsp+1…sq;

(19)从s中删除stage1,stage2和stage3,即s=s-stage1-stage2-stage3;

(20)f=s。

(21)重新拼接s=f+′,′+stage1+′,′+stage2+′,′+stage3;

本实施例在接收到用户输入的当前字符串信息时,通过调用预设接口函数来判断所述当前字符串信息的格式是否满足预设积分格式条件;在所述当前字符串信息的格式满足预设积分格式条件时,判定所述当前字符串信息为微积分信息;从所述当前字符串信息中识别出目标标识符,按照所述目标标识符对所述当前字符串信息进行分割;最后根据分割结果从所述预设接口函数中选取对应的积分计算模式,通过所述积分计算模式对所述当前字符串信息进行微积分计算,进而能够对不同模式的微积分计算进行区分和识别,在识别成功之后进行相应的微积分计算,将上述微积分计算方法应用到独立计算设备中,使得用户使用该设备进行微积分计算时更加灵活。

参照图3,基于上述多模式微积分计算方法第一实施例,提出一种多模式微积分计算方法第二实施例,图3本发明一种多模式微积分计算方法第二实施例的流程示意图。

本实施例中,所述步骤s30具体包括:

步骤s301:从所述目标微积分信息中识别出预设分隔符,获取识别出的预设分隔符的数量,按照所述预设分隔符对所述目标微积分信息进行分割;

步骤s302:根据所述预设分隔符的数量确定所述目标微积分信息的积分类型;

需要说明的是,本实施例的积分类型包括定积分、二重积分、以及三重积分这三种积分类型。

本实施例的预设分隔符优选为逗号“,”,从用户输入模式可以发现,定积分的任意一个输入模式中只有一个逗号,二重积分的任意一个输入模式中有两个逗号,而三重积分的输入模式中都有三个逗号。因此,若所述预设分隔符的数量为1,则确定所述目标微积分信息的积分类型为定积分;若所述预设分隔符的数量为2,则确定所述目标微积分信息的积分类型为二重积分;若所述预设分隔符的数量为3,则确定所述目标微积分信息的积分类型为三重积分。

相应地,所述步骤s40,具体包括:

步骤s401:根据分割结果从所述预设接口函数中确定与所述目标微积分信息的积分类型对应的目标积分计算模式;

步骤s402:通过所述目标积分计算模式对所述目标微积分信息进行微积分计算。

对应用户输入的积分信息,如果检测到信息中只有一个逗号,则调用定积分计算模块,进行定积分计算。如果系统检测到用户输入的积分信息中有两个逗号,则调用二重积分计算模块,进行二重积分计算。如果系统检测到用户输入的积分信息中有三个逗号,则调用三重积分计算模块,进行三重积分计算。

本实施例能够根据预设分隔符在目标微积分信息中的数量快速判断用户输入的积分类型,有效地对用户输入的微积分模式进行区分。

参照图4,基于上述多模式微积分计算方法第一实施例,提出一种多模式微积分计算方法第三实施例,图4本发明一种多模式微积分计算方法第三实施例的流程示意图。

本实施例中,本实施例中,所述步骤s30具体包括:

步骤s310:从所述目标微积分信息中识别出预设分隔符和目标运算符,获取识别出的目标运算符的数量,按照所述预设分隔符对所述目标微积分信息进行分割;

步骤s320:根据所述目标运算符的数量确定所述目标微积分信息的积分类型;

需要说明的是,本实施例的积分类型包括定积分、二重积分、以及三重积分这三种积分类型,本实施例的预设分隔符优选为“,”逗号,目标运算符优选为“<=”小于等于号。

在具体实现中,若所述预设分隔符的数量为1,则确定所述目标微积分信息的积分类型为定积分;若所述预设分隔符的数量为2,则确定所述目标微积分信息的积分类型为二重积分;若所述预设分隔符的数量为3,则确定所述目标微积分信息的积分类型为三重积分。

相应地,所述步骤s40,具体包括:

步骤s410:根据分割结果从所述预设接口函数中确定与所述目标微积分信息的积分类型对应的目标积分计算模式,通过所述目标积分计算模式对所述目标微积分信息进行微积分计算。

具体地,若用户输入的积分信息中包含两个“<=”子串,则系统调用定积分计算模块,进行定积分计算。如果用户输入的积分信息中包含四个“<=”子串,则系统调用二重积分计算模块,进行二重积分计算。如果用户输入的积分信息中包含六个“<=”子串,则调用三重积分计算模块,进行三重积分计算。

本实施例能够根据目标运算符在目标微积分信息中的数量快速判断用户输入的积分类型,有效地对用户输入的微积分模式进行区分。

此外,本发明还提出一种多模式微积分计算的装置,所述装置包括:

接收模块10,用于在接收到用户输入的当前字符串信息时,通过调用预设接口函数来判断所述当前字符串信息的格式是否满足预设积分格式条件;

判定模块20,用于在所述当前字符串信息的格式满足预设积分格式条件时,判定所述当前字符串信息为微积分信息;

分割模块30,用于从所述当前字符串信息中识别出目标标识符,按照所述目标标识符对所述当前字符串信息进行分割;

计算模块40,用于根据分割结果从所述预设接口函数中选取对应的积分计算模式,通过所述积分计算模式对所述当前字符串信息进行微积分计算。

可理解的是,本实施的多模式微积分计算的装置可以是一种应用程序,该应用程序装载在上述实施例的设备中,本发明多模式微积分计算的装置的具体实现方式可参照上述多模式微积分计算方法的实施例,此处不再赘述。

此外,本发明还提供一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质上存储有多模式微积分计算程序,所述多模式微积分计算程序被处理器执行时实现如上所述的多模式微积分计算方法的步骤。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1