找回密码
 欢迎注册
查看: 21579|回复: 0

[求助] 如何在sage或mathematica中写代码才能得到分段解,避免沉默错误?

[复制链接]
发表于 2020-10-9 10:45:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

×
本帖最后由 wufaxian 于 2020-10-9 10:54 编辑

例如我们要求sqrt(2+2*cosx)的不定积分 和   0-2pi的数值积分

关键步骤时到了 sqrt(4*(cos(x/2))^2) 开平方后 要变成abs(2*(cos(x/2))如果我们要求这个绝对值的不定积分 或 0 到 2pi 的数值积分。假设我们在考试。
那么不定积分应该写成:x属于 0-pi: 4sin(θ/2)
                                   x属于 pi-2pi: -4sin(θ/2)

数值积分当然应该在不同区间代入不同解析解求解。
达到以上标准才能得分。

可是当我用sage直接求sqrt(2+2*cosx)的不定积分,只得到了2个解中的一个,即4sin(θ/2)  。当然计算 0 到 2pi 的数值积分自然会得到错误答案0。

考虑到分段解在数学中非常常见。如果让软件自动给出分段解?(所谓自动的意思就是让软件自动划段,而不是人工去划段再分别计算结果) 从而避免出现沉默错误?注:该问的的讨论不局限于sage,给出mathematica的代码也可以。主要是想得到一个思路,所以代码最好有注释




另外用sage求解sqrt(2-2*cosx) 的不定积分。直接给出错误答案https://sagecell.sagemath.org/?z ... ts=eJyLjgUAARUAuQ==

只有将计算步骤推进到2*sin(x/2) 求不定积分。才能得到正确答案。不知道应该怎样写代码才能从第一步开始计算就能得到正确答案?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-12-4 02:10 , Processed in 0.023688 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表