Wolfram mathematica Mathematica赢得';t整合条件函数
为了说明我的问题,这里有一个玩具示例:Wolfram mathematica Mathematica赢得';t整合条件函数,wolfram-mathematica,Wolfram Mathematica,为了说明我的问题,这里有一个玩具示例: F[x_] := Module[{out}, If[x > 1, out = 1/2, out = 1 ]; out ]; 可以计算并绘制函数。然而,当我尝试对它进行数值积分时,我得到了一个错误 NIntegrate[F[x], {x, 0, 2}] NIntegrate::inumr:被积函数out$831已对边界为{{0,2}的区域中的所有采样点求值为非数值。>> Integrate和其他一些函数将首
F[x_] := Module[{out},
If[x > 1,
out = 1/2,
out = 1
];
out
];
可以计算并绘制函数。然而,当我尝试对它进行数值积分时,我得到了一个错误
NIntegrate[F[x], {x, 0, 2}]
NIntegrate::inumr:被积函数out$831已对边界为{{0,2}的区域中的所有采样点求值为非数值。>>
Integrate和其他一些函数将首先对符号值进行一些探索。当只给模块指定符号x时,模块将只返回(别名)输出 通过仅为数值定义F来解决此问题。NIntegrate将发现这一点,然后使用数值
In[1]:= F[x_?NumericQ] := Module[{out},
If[x > 1, out = 1/2, out = 1]; out];
NIntegrate[F[x], {x, 0, 2}]
Out[2]= 1.5
不要忘记清除[F](或重新启动内核…)