想请问一下这个是怎么回事?
mathematica吧
全部回复
仅看楼主
level 6
nhwssss12138 楼主
第一张图片的内容如下:
f[x_/;0<x<1]:=x
f[x_/;1<x<2]:=2-x
Integrate[f[x],{x,0.1,0.5}]
用Condition对定义域限制之后再使用Integrate做积分就没办法正常返回值了,即使积分区间取在分段的某一段也没有用,只能用NIntergrate返回数值。
第二张图片内容如下:
f[x_]:=If[x<1,x,2-x]
Integrate[f[x],{x,1/3,3/2}]
更换If来做分段函数的时候就可以正常的计算积分的数值了,还可以返回分数,想请问下使用Condition为什么不能正常计算,或者如果可以正常计算的话,我应该做什么改动,恳请吧里大佬解答
2022年01月02日 06点01分 1
level 14
mma没有智能到可以根据基于模式的定义来符号计算,相反,模式和规则本身往往是用来构建符号计算的。
因此这样也不行
f1[x_Real] := If[x < 1, x, 2 - x]
Integrate[f1[x], {x, 1/3, 3/2}]
甚至这样也不行
f2[x_] := If[x < 1, x, 2 - x, Indeterminate]
Integrate[f2[x], {x, 1/3, 3/2}]
2022年01月02日 12点01分 2
原来是这样,谢谢大佬指教[小乖]也就是说利用模式做限制的情况下想要做这样的运算基本是没可能的了对吧
2022年01月02日 14点01分
吧务
level 15
…所以说你这是从哪学来的?:https://tieba.baidu.com/p/5411456938
2022年02月05日 05点02分 3
是我们选修课老师教的,虽然我去问他为什么都时候他告诉我他也不知道[不高兴]
2022年02月05日 10点02分
1