如何在sage或mathematica中写代码才能得到正确的分段解,避免沉默错误?

  数学 微积分 数值计算 Matlab Mathematica    浏览次数:98        分享
0

例如我们要求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=eJyrsC1LLNJQr1DX5MpJLEmt0MjMK0lNL0rM0dAw0jXSSs4v1qjQ1Iwz0DPVAdIAW0IN5Q==&lang=sage&interacts=eJyLjgUAARUAuQ==

只有将计算步骤推进到2*sin(x/2) 求不定积分。才能得到正确答案。不知道应该怎样写代码才能从第一步开始计算就能得到正确答案?

 

wufaxian   2020-10-09 11:06



    还没有回答。我来答!  


  相关主题

怎么在python中读取mat格式数据文件?   1回答

不用洛必达法则证明sin x比上x的极限是1   3回答

geogebra绘制向量值函数位置图象方法对么?   0回答

随机梯度下降(SGD)可以被并行计算吗?   1回答

关于随机梯度下降法(SGD)的问题   1回答

能不能用梯度下降法求平方根或者立方根?   2回答

计算中的截断误差是什么意思?   1回答

怎么用牛顿法近似求解根号2?   2回答

SGD with clipping是什么意思?   2回答

部分主元   1回答

常说的低秩分解或者低秩逼近是什么意思?   1回答

python里怎么求矩阵的条件数?   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!