Преобразование неопределенных интегралов в определенные интегралы и оценка внутри выражения в Maxima

Я пытаюсь решить ОДУ 1-го порядка в Maxima (а именно 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 я не знаю, что помогает в этом? Или есть функция, которая может извлекать и заменять части выражения, чтобы я мог добавить еще 2 параметра к 'integrates, сохраняя при этом первый параметр?


person osolmaz    schedule 26.02.2015    source источник


Ответы (1)


Вы можете оценить ev(sol, nouns), чтобы заставить Maxima оценить существительные 'integrate и 'diff. После этого попробуйте ratsimp, чтобы упростить результат.

person Robert Dodier    schedule 27.02.2015