числовой::
Численное интегрирование (атрибут Плавающий Int)
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
numeric::int(f(x
),x = a .. b
,options
) float(holdint(f(x
),x = a .. b
,options
)) float(freezeint(f(x
),x = a .. b
,options
))
numeric::int(f(x), x = a..b)
вычисляет числовое приближение.
Вызовы numeric::int(...)
, float ( freeze(int)(...))
и float ( hold(int)(...))
эквивалентны.
Вызовы numeric::int(...)
и numeric::quadrature(...)
почти эквивалентны: numeric::int
вызывает numeric::quadrature
. Числовой результат, приведенный numeric::quadrature
, возвращен, как. В противном случае hold(numeric::int)(...)
возвращен.
Смотрите страницу справки numeric::quadrature
для деталей.
Функция чувствительна к переменной окружения DIGITS
, который определяет числовую рабочую точность.
Мы демонстрируем некоторые эквивалентные призывы к численному интегрированию:
numeric::int(exp(x^2), x = -1..1), float(hold(int)(exp(x^2), x = -1..1)), float(freeze(int)(exp(x^2), x = -1..1)), numeric::quadrature(exp(x^2), x = -1..1)
numeric::int(max(1/10, cos(PI*x)), x = -2..0.0123), float(hold(int)(max(1/10, cos(PI*x)), x = -2..0.0123)), float(freeze(int)(max(1/10, cos(PI*x)), x = -2..0.0123)), numeric::quadrature(max(1/10, cos(PI*x)), x = -2..0.0123)
numeric::int(exp(-x^2), x = -2..infinity), float(hold(int)(exp(-x^2), x = -2..infinity)), float(freeze(int)(exp(-x^2), x = -2..infinity)), numeric::quadrature(exp(-x^2), x = -2..infinity)
numeric::int(sin(x)/x, x = -1..10, GaussLegendre = 5), float(hold(int)(sin(x)/x, x = -1..10, GaussLegendre = 5)), float(freeze(int)(sin(x)/x, x = -1..10, GaussLegendre = 5)), numeric::quadrature(sin(x)/x, x = -1..10, GaussLegendre = 5)
Вызовы numeric::int(...)
, float(hold(int)(...))
и numeric::quadrature(...)
эквивалентны в нескольких численном интегрировании, также:
numeric::int(numeric::int(x*y, x = 0..y), y = 0..1), numeric::int(numeric::quadrature(x*y, x = 0..y), y = 0..1), float(freeze(int)(numeric::int(x*y, x = 0..y), y = 0..1)), float(hold(int)(numeric::quadrature(x*y, x = 0..y), y = 0..1)), numeric::quadrature(numeric::int(x*y, x = 0..y), y = 0..1), numeric::quadrature(numeric::quadrature(x*y, x = 0..y), y = 0..1)
Следующий интеграл не существует. Следовательно, численное интегрирование сталкивается с проблемами:
numeric::quadrature(1/x, x = 0..infinity)
Warning: Precision goal not achieved after 10000 function calls. Increase 'MaxCalls' and try again for a more accurate result. [numeric::quadrature]
Обратите внимание на то, что numeric::int
обрабатывает ошибки, произведенные numeric::quadrature
, и отвечает на символьный звонок к numeric::int
:
numeric::int(1/x, x = 0..infinity)
| |
| |
|
Все опции numeric::quadrature
могут использоваться.
Число с плавающей точкой или символьный вызов numeric::int(f(x), x = a..b)
, если интеграл не может быть оценен численно.