level 4
whfallº
楼主
为简化问题,已经将模型中所有赋值参数带入 。贴出目标函数g(s)代码:
g[s_] := (((12*s)/11 - 1/((2*s)/9 + 7/9)^2 +
1)*(s/(9*((2*s)/9 + 7/9)^3) + 1/(4*((2*s)/9 + 7/9)^2) -
1/4))/((12*s)/
275 - (6/(11*((2*s)/9 + 7/9)^2) - 6/11)*(s/4 +
s/(4*((2*s)/9 + 7/9)^2) + 9/(4*((2*s)/9 + 7/9)) - 283/100) -
1/(25*((2*s)/9 + 7/9)^2) + 1/25)
运行后如果输入代码:
g[t]
则应该出现如下图:

接下来,我首先对这个函数求定积分(数值解),代码如下:
NIntegrate[g[s], {s, 0.3953, 1}]
结果为:1.7833。接下来,我对该函数求变上限积分(0.3953<t<=1),代码:
Integrate[g[s], {s, 0.3953, t}]
运行结果悲催了,如图:

本人是从Matlab刚刚转过来的,因为matlab在符号数学方面确实比较弱。接下来提出问题:
1.MMA运行出来的结果,也就是图中的条件表达式怎么阅读?或者是不是该结果表示此变上限积分函数无解?
2.我第一步既然求出了数值积分结果1.7833,说明此变上限积分函数至少是可以求数值解的(matlab里也利用此画出了该变上限积分函数的图像),那么可否用图中的条件表达式算出1.7833这个结果呢?
3.有人疑惑既然能出数值解,为何执着于符号表达式,原因是我下一步还要对这个变限积分函数求反函数(matlab里似乎只能通过符号表达式求反函数)。如果MMA的大神有什么办法能在不求解析式的情况下直接求目标函数g(s)变上限积分函数的反函数,我也很高兴啦!
2018年07月27日 03点07分
1
g[s_] := (((12*s)/11 - 1/((2*s)/9 + 7/9)^2 +
1)*(s/(9*((2*s)/9 + 7/9)^3) + 1/(4*((2*s)/9 + 7/9)^2) -
1/4))/((12*s)/
275 - (6/(11*((2*s)/9 + 7/9)^2) - 6/11)*(s/4 +
s/(4*((2*s)/9 + 7/9)^2) + 9/(4*((2*s)/9 + 7/9)) - 283/100) -
1/(25*((2*s)/9 + 7/9)^2) + 1/25)
运行后如果输入代码:
g[t]
则应该出现如下图:

接下来,我首先对这个函数求定积分(数值解),代码如下:NIntegrate[g[s], {s, 0.3953, 1}]
结果为:1.7833。接下来,我对该函数求变上限积分(0.3953<t<=1),代码:
Integrate[g[s], {s, 0.3953, t}]
运行结果悲催了,如图:

本人是从Matlab刚刚转过来的,因为matlab在符号数学方面确实比较弱。接下来提出问题:1.MMA运行出来的结果,也就是图中的条件表达式怎么阅读?或者是不是该结果表示此变上限积分函数无解?
2.我第一步既然求出了数值积分结果1.7833,说明此变上限积分函数至少是可以求数值解的(matlab里也利用此画出了该变上限积分函数的图像),那么可否用图中的条件表达式算出1.7833这个结果呢?
3.有人疑惑既然能出数值解,为何执着于符号表达式,原因是我下一步还要对这个变限积分函数求反函数(matlab里似乎只能通过符号表达式求反函数)。如果MMA的大神有什么办法能在不求解析式的情况下直接求目标函数g(s)变上限积分函数的反函数,我也很高兴啦!
