将无限积分转换为明确的积分,并在Maxima中的表达式内进行求值

时间:2015-02-26 23:27:23

标签: differential-equations maxima

我正在尝试解决千里马的一阶ODE(即wxMaxima)。从ode2开始,我获得了一个包含无限积分的表达式,我希望在我定义的极限值下对其进行求值,即(0,t)

pta: 'diff(q,t)+(1/taub)*q = 1/(c0+c1)*'diff(Q,t)+1/(c0*taub)*Q;
Qproblem: (Q1/t1)*t;
ptap: ev(pta,Q=Qproblem);
assume(t1>0, Q1>0, t>0);
sol: ode2(ptap,q,t);
grind(sol);

如果我对解决方案表达式应用grind,我会得到以下内容

q = %e^-(t/taub)*((c0*t1*taub*'integrate(%e^(t/taub)*'diff(t*Q1/t1,t,1),t)
                 +c1*(t*taub-taub^2)*%e^(t/taub)*Q1
                 +c0*(t*taub-taub^2)*%e^(t/taub)*Q1)
                 /((c0*c1+c0^2)*t1*taub)
                 +%c)$

除非这些积分转化为明确的积分,否则无法正确评估此表达式。因此我想以某种方式转换它们。我提到了上面所希望的限制。

我应该使用什么样的方法? ode2是否有旗帜我不知道这对此有何帮助?或者是否有一个函数可以从表达式中提取和替换部分,这样我可以在保留第一个参数的同时向'integrate添加2个参数?

1 个答案:

答案 0 :(得分:0)

您可以评估ev(sol, nouns)告诉Maxima评估'integrate'diff名词。之后尝试ratsimp来简化结果。