Как я могу оценить интеграцию в число?
-
12-10-2019 - |
Вопрос
У меня есть некоторые функции, настроенные так:
f(x):=1-2**-x$
g(y):=integrate(f(x), x, 0, y)$
и оценил их:
f(1)$float(%);
g(1)$float(%);
Но для G (1) я получил символический ответ вместо численного ответа. Использование float () было попыткой получить числовой ответ, но он просто превратил все термины в интеграл в поплавки.
Как я могу получить g (1) в качестве числа?
Решение
Почему бы просто не сделать (по определению определенного интеграла):
f(x):=1-2**-x$
gg(x):=''(integrate(f(x), x))$
g(y):=gg(y) - gg(0)$
«(Quote-Quote) Оператор используется для подготовки оценки правой стороны: = 'перед назначением.
Другие советы
Если вы заинтересованы только в численном решении, то вы можете использовать численную интеграцию. Например, вы можете использовать quad_qag (f(x), x, a, b, key, [epsrel, epsabs, limit])
.
Я старался:
f(x) := 1-2^(-x);
g(y):= quad_qag(f(x), x, 0, y, 3, epsrel=10d-8)$
g(1);
Что возвращается:
[0.27865247955552,3.093663986714272*10^-15,31,0]
Первая запись - это числовое решение,
Вторая запись - приблизительная относительная ошибка,
Третья запись - это количество итераций, необходимых для достижения решения,
и последняя запись - код ошибки; Коды ошибок есть
- 0, если не возникали проблем;
- 1, если было сделано слишком много подэнтервалов;
- 2, если обнаружена чрезмерная ошибка заурядка;
- 3 Если происходит чрезвычайно плохое поведение интеграции;
- 6 Если ввод недействителен.
Кстати, точное решение составляет 1-1/(2*log (2)), что составляет приблизительно 0,27865.