Я не знаю, почему Sage не ретрансляции вопросов Maxima, но без них, вы не можете сказать (в Sage), что результат отличается в зависимости от параметров.
Вот вывод в Maxima. Я перефразировал интеграл как от 0 до x
вместо x
до 10. Так как подынтегральное выражение является pdf, мы должны видеть, что интеграл переходит от 0 до 1, так как увеличивается x
.
Оригинальная формула.
(%i2) foo : 0.453*exp(-1.036*o)*sinh(sqrt(2.29*o)) $
Экспресс, что символы вместо цифр.
(%i3) foo1 : a * exp(-b*o) * sinh(sqrt(c*o)) $
Forestall несколько вопросов из integrate
.Это не обязательно нужно делать; integrate
просто задаст дополнительные вопросы, если эти предположения не указаны.
(%i4) assume (equal (a, ratsimp (0.453)), equal (b, ratsimp (1.036)), equal (c, ratsimp (2.29))) $
rat: replaced 0.453 by 453/1000 = 0.453
rat: replaced 1.036 by 259/250 = 1.036
rat: replaced 2.29 by 229/100 = 2.29
(%i5) assume (x > 0) $
Вычислить интеграл. integrate
спрашивает о x
по отношению к параметрам a
, b
и c
. Я дам каждый ответ по очереди и посмотрю, что я получу. I1
, I2
и I3
- это результаты для всех ответов. Сначала я отвечу p
(положительный).
(%i6) I1 : integrate (foo1, o, 0, x);
Is 4*b^2*x-c positive, negative or zero?
p;
(%o6) a*(-gamma_incomplete(1/2,-(-4*b^2*x+4*b*sqrt(c)*sqrt(x)-c)/(4*b))
*sqrt(c)*%e^(c/(4*b))*sqrt(x)
/(2*sqrt(b)*abs(2*b*sqrt(x)-sqrt(c)))
+gamma_incomplete(1/2,-(-4*b^2*x+4*b*sqrt(c)*sqrt(x)-c)/(4*b))
*c*%e^(c/(4*b))
/(4*b^(3/2)*abs(2*b*sqrt(x)-sqrt(c)))
-gamma_incomplete(1/2,(4*b^2*x+4*b*sqrt(c)*sqrt(x)+c)/(4*b))
*sqrt(c)*%e^(c/(4*b))
/(4*b^(3/2))+sqrt(%pi)*sqrt(c)*%e^(c/(4*b))/(2*b^(3/2))
+gamma_incomplete(1,(4*b^2*x+4*b*sqrt(c)*sqrt(x)+c)/(4*b))
*%e^(c/(4*b))
/(2*b)
-gamma_incomplete(1,-(-4*b^2*x+4*b*sqrt(c)*sqrt(x)-c)/(4*b))
*%e^(c/(4*b))
/(2*b))
Теперь я отвечу n
(отрицательный).
(%i7) I2 : integrate (foo1, o, 0, x);
Is 4*b^2*x-c positive, negative or zero?
n;
(%o7) a*(-gamma_incomplete(1/2,-(-4*b^2*x+4*b*sqrt(c)*sqrt(x)-c)/(4*b))
*sqrt(c)*%e^(c/(4*b))*sqrt(x)
/(2*sqrt(b)*abs(2*b*sqrt(x)-sqrt(c)))
+gamma_incomplete(1/2,-(-4*b^2*x+4*b*sqrt(c)*sqrt(x)-c)/(4*b))
*c*%e^(c/(4*b))
/(4*b^(3/2)*abs(2*b*sqrt(x)-sqrt(c)))
-gamma_incomplete(1/2,(4*b^2*x+4*b*sqrt(c)*sqrt(x)+c)/(4*b))
*sqrt(c)*%e^(c/(4*b))
/(4*b^(3/2))
+gamma_incomplete(1,(4*b^2*x+4*b*sqrt(c)*sqrt(x)+c)/(4*b))
*%e^(c/(4*b))
/(2*b)
-gamma_incomplete(1,-(-4*b^2*x+4*b*sqrt(c)*sqrt(x)-c)/(4*b))
*%e^(c/(4*b))
/(2*b))
И вот z
(ноль).
(%i8) I3 : integrate (foo1, o, 0, x);
Is 4*b^2*x-c positive, negative or zero?
z;
(%o8) a*(-gamma_incomplete(1/2,-(-4*b^2*x+4*b*sqrt(c)*sqrt(x)-c)/(4*b))
*sqrt(c)*%e^(c/(4*b))*sqrt(x)
/(2*sqrt(b)*abs(2*b*sqrt(x)-sqrt(c)))
+gamma_incomplete(1/2,-(-4*b^2*x+4*b*sqrt(c)*sqrt(x)-c)/(4*b))
*c*%e^(c/(4*b))
/(4*b^(3/2)*abs(2*b*sqrt(x)-sqrt(c)))
-gamma_incomplete(1/2,(4*b^2*x+4*b*sqrt(c)*sqrt(x)+c)/(4*b))
*sqrt(c)*%e^(c/(4*b))
/(4*b^(3/2))
+gamma_incomplete(1,(4*b^2*x+4*b*sqrt(c)*sqrt(x)+c)/(4*b))
*%e^(c/(4*b))
/(2*b)
-gamma_incomplete(1,-(-4*b^2*x+4*b*sqrt(c)*sqrt(x)-c)/(4*b))
*%e^(c/(4*b))
/(2*b))
Я не могу сказать, просто посмотрев, возможно, некоторые из этих результатов одинаковы. Давай проверим.
(%i9) is (I1 = I2);
(%o9) false
(%i10) is (I1 = I3);
(%o10) false
(%i11) is (I2 = I3);
(%o11) true
ОК, так что есть два отличных результатов: I1
(ответил p
) и I2
(ответил n
и z
). Я помещу эти два в одно условное выражение, в котором тест - это вопрос, который задал integrate
. Обратите внимание, что c/(4*b^2)
составляет около 0,533, что представляется точкой, в которой график, показанный OP, имеет скачок.
(%i12) I : if x < c/(4*b^2) then ''I2 else ''I1;
(%o12) if x < c/(4*b^2)
then a*(-gamma_incomplete(1/2,
-(-4*b^2*x+4*b*sqrt(c)*sqrt(x)-c)/(4*b))
*sqrt(c)*%e^(c/(4*b))*sqrt(x)
/(2*sqrt(b)*abs(2*b*sqrt(x)-sqrt(c)))
+gamma_incomplete(1/2,
-(-4*b^2*x+4*b*sqrt(c)*sqrt(x)-c)/(4*b))
*c*%e^(c/(4*b))
/(4*b^(3/2)*abs(2*b*sqrt(x)-sqrt(c)))
-gamma_incomplete(1/2,(4*b^2*x+4*b*sqrt(c)*sqrt(x)+c)/(4*b))
*sqrt(c)*%e^(c/(4*b))
/(4*b^(3/2))
+gamma_incomplete(1,(4*b^2*x+4*b*sqrt(c)*sqrt(x)+c)/(4*b))
*%e^(c/(4*b))
/(2*b)
-gamma_incomplete(1,-(-4*b^2*x+4*b*sqrt(c)*sqrt(x)-c)/(4*b))
*%e^(c/(4*b))
/(2*b))
else a*(-gamma_incomplete(1/2,
-(-4*b^2*x+4*b*sqrt(c)*sqrt(x)-c)/(4*b))
*sqrt(c)*%e^(c/(4*b))*sqrt(x)
/(2*sqrt(b)*abs(2*b*sqrt(x)-sqrt(c)))
+gamma_incomplete(1/2,
-(-4*b^2*x+4*b*sqrt(c)*sqrt(x)-c)/(4*b))
*c*%e^(c/(4*b))
/(4*b^(3/2)*abs(2*b*sqrt(x)-sqrt(c)))
-gamma_incomplete(1/2,(4*b^2*x+4*b*sqrt(c)*sqrt(x)+c)/(4*b))
*sqrt(c)*%e^(c/(4*b))
/(4*b^(3/2))+sqrt(%pi)*sqrt(c)*%e^(c/(4*b))/(2*b^(3/2))
+gamma_incomplete(1,(4*b^2*x+4*b*sqrt(c)*sqrt(x)+c)/(4*b))
*%e^(c/(4*b))
/(2*b)
-gamma_incomplete(1,-(-4*b^2*x+4*b*sqrt(c)*sqrt(x)-c)/(4*b))
*%e^(c/(4*b))
/(2*b))
Теперь я заговорю это. plot2d
оценивается с помощью a
, b
и c
, временно привязанных к определенным значениям. Участок выглядит так, как ожидалось.
(%i13) plot2d (I, [x, 0, 10]), a=0.453, b=1.036, c=2.29;
![enter image description here](https://i.stack.imgur.com/D23hg.png)
Wow thanks! Интересно, как работают эти предположения. Немного страшно, как легко разбить интеграл, когда вы не знаете, как эти системы работают в бэкэнд. Я попытаюсь поднять вопрос с людьми Sage, что сообщения не передаются от Maxima –