V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
Hlianbobo
V2EX  ›  Python

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

  •  
  •   Hlianbobo · 2020-10-09 09:45:37 +08:00 · 1342 次点击
    这是一个创建于 1508 天前的主题,其中的信息可能已经有所发展或是发生改变。
    请看链接中的这道题解关于 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 等工具计算解析解时应该如何设置,才能避免计算结果出现类似错误?
    2 条回复    2020-10-09 10:30:24 +08:00
    mathzhaoliang
        1
    mathzhaoliang  
       2020-10-09 10:16:39 +08:00
    不定积分计算的是原函数,两个积分项 sqrt(2-2cosx) 与 2sinx/2 只是在 [0,2pi] 区间上相等,它俩的原函数区别很大,sage 并没有算错。计算数值积分你需要指定积分区间。
    Hlianbobo
        2
    Hlianbobo  
    OP
       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)
    数值积分当然应该在不同区间代入不同解析解求解。
    达到以上标准才能得分。

    那么我们使用数学软件,如何写代码才能避免上述沉默错误,得到完整的正确答案?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1079 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 19:46 · PVG 03:46 · LAX 11:46 · JFK 14:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.