sage 在同一道题不同步化简阶段求不定积分。得到的结果却不一样,这是为什么?

2020-10-09 09:45:37 +08:00
 Hlianbobo
请看链接中的这道题解关于 L 的不定积分: http://www.mathchina.com/bbs/data/attachment/forum/202010/08/182145aridzif5jrcv5zko.jpg

当使用 sage 从(2-2cos(θ))的不定积分时,得到如下结果: https://sagecell.sagemath.org/?z=eJyrsC1LLNJQr1DX5MpJLEmt0MjMK0lNL0rM0dAw0jXSSs4v1qjQ1Iwz0DPVAdIAW0IN5Q==&lang=sage&interacts=eJyLjgUAARUAuQ==

但是当使用 sage 从 2*sin(θ/2)这一步 开始计算不定积分的时候就会得到如下结果: https://sagecell.sagemath.org/?z=eJyrsC1LLNJQr1DX5MpJLEmt0MjMK0lNL0rM0dAw0irOzNOo0DfS1NSp0NQEACcyDPs=&lang=sage&interacts=eJyLjgUAARUAuQ==

该结果与图片中的结果一致。请问造成以上结果差异是因为倒数第三步 到 倒数第二步 求绝对值结果造成的么?如果是。那么在我们那使用 sage 或 mathematics 或 sympy 等工具计算解析解时应该如何设置,才能避免计算结果出现类似错误?
1346 次点击
所在节点    Python
2 条回复
mathzhaoliang
2020-10-09 10:16:39 +08:00
不定积分计算的是原函数,两个积分项 sqrt(2-2cosx) 与 2sinx/2 只是在 [0,2pi] 区间上相等,它俩的原函数区别很大,sage 并没有算错。计算数值积分你需要指定积分区间。
Hlianbobo
2020-10-09 10:30:24 +08:00
@mathzhaoliang 你说的对。我赞同你的结论。我的困惑在于如何让数学软件给出正确的解析解和数值解。避免我们在使用软件的时候陷入沉默错误而不知。

举个与上题稍稍不同的例子(减号变加号),因为我刚刚验证过。sqrt(2+2cosx) 。开根号后得到 abs(2cos(θ/2)) ,如果我们要求这个绝对值的不定积分或 0 到 2pi 的数值积分。假设我们在考试。
那么不定积分应该写成:θ属于 0-pi: 4sin(θ/2)
θ属于 pi-2pi: -4sin(θ/2)
数值积分当然应该在不同区间代入不同解析解求解。
达到以上标准才能得分。

那么我们使用数学软件,如何写代码才能避免上述沉默错误,得到完整的正确答案?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/713193

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX