最大值数值积分语法
Maxima numerical integration syntax
我正在尝试获得以下积分的数值解:
1
正确答案是 -0.324 + 0.382i 但如下图所示,我没有得到数字答案,希望得到有关 Maxima 语法的帮助。
2
可能与为什么我没有得到数字输出有关的是两个具体问题:
- 我读到 Maxima 中的 e 和 i 需要在输入中以 % 开头,但它们是否也应该像 Maxima 输出中看到的那样显示为 %e 和 %i?
- 为什么在 Maxima 输出的积分末尾缺少 dy?
谢谢!
在我看来,您的输入没有问题,但是,计算积分近似值的函数名为 quad_qags
。 (实际上有几个相关的函数。有关更多信息,请参见 ?? quad_
。)此外,这里的一个问题是被积函数是一个复值函数(实变量),并且 quad_qags
只能工作在实值被积函数上,所以我们必须解决它。我会这样安排。
myintegrand: exp(%i*(1 + %i*y))/(1 + %i*y + 1/(1 + %i*y));
result_realpart: quad_qags (realpart (myintegrand), y, 0, 6);
result_imagpart: quad_qags (imagpart (myintegrand), y, 0, 6);
result: result_realpart[1] + %i*result_imagpart[1];
我得到 0.3243496676292901*%i + 0.3820529930785175
作为最终结果。这和你说的有点不同;也许减号不见了?或者 %i
?
缺少或额外的因子
快速近似
0.1 * lsum (x, x, float (rectform (makelist (ev (myintegrand, y = k/10), k, 0, 60))));
似乎表明 quad_qags
的结果是合理的。
我正在尝试获得以下积分的数值解:
正确答案是 -0.324 + 0.382i 但如下图所示,我没有得到数字答案,希望得到有关 Maxima 语法的帮助。
可能与为什么我没有得到数字输出有关的是两个具体问题:
- 我读到 Maxima 中的 e 和 i 需要在输入中以 % 开头,但它们是否也应该像 Maxima 输出中看到的那样显示为 %e 和 %i?
- 为什么在 Maxima 输出的积分末尾缺少 dy?
谢谢!
在我看来,您的输入没有问题,但是,计算积分近似值的函数名为 quad_qags
。 (实际上有几个相关的函数。有关更多信息,请参见 ?? quad_
。)此外,这里的一个问题是被积函数是一个复值函数(实变量),并且 quad_qags
只能工作在实值被积函数上,所以我们必须解决它。我会这样安排。
myintegrand: exp(%i*(1 + %i*y))/(1 + %i*y + 1/(1 + %i*y));
result_realpart: quad_qags (realpart (myintegrand), y, 0, 6);
result_imagpart: quad_qags (imagpart (myintegrand), y, 0, 6);
result: result_realpart[1] + %i*result_imagpart[1];
我得到 0.3243496676292901*%i + 0.3820529930785175
作为最终结果。这和你说的有点不同;也许减号不见了?或者 %i
?
快速近似
0.1 * lsum (x, x, float (rectform (makelist (ev (myintegrand, y = k/10), k, 0, 60))));
似乎表明 quad_qags
的结果是合理的。