Please note that the recommended version of Scilab is 2026.0.0. This page might be outdated.
See the recommended documentation of this function
int2d
определённый двумерный интеграл методом квадратуры и кубатуры
Последовательность вызова
[I,err]=int2d(X,Y,f [,params])
Аргументы
- X
массив 3 на
N, содержащий абсциссы вершинNтреугольников.- Y
массив 3 на
N, содержащий ординаты вершинNтреугольников.- f
внешняя (функция или список или строка), определяющая подынтегральное выражение.
f(u,v)- params
вещественный вектор
[tol, iclose, maxtri, mevals, iflag]. Значение по умолчанию[1.d-10, 1, 50, 4000, 1].- tol
желаемые пределы ошибки. Если
iflag=0, тоtolинтерпретируется как предел по относительной ошибке; еслиiflag=1, то предел по абсолютной ошибке.- iclose
целочисленный параметр, который определяет выбор методов LQM0 или LQM1. Если
iclose=1, то используется LQM1. Любое другое значениеicloseприводит к использованию LQM0. LQM0 использует значения функции только во внутренних точках треугольника. LQM1 обычно гораздо точнее, чем LQM0, но включает в себя вычисление подынтегральной функции на большем количестве точек, включая некоторые на границах треугольника. Обычно лучше использовать LQM1 несмотря на то, что подынтегральное выражение имеет точки неопределённости на границах треугольника.- maxtri
максимальное количество треугольников в конечной триангуляции области.
- mevals
максимальное число разрешённых вычислений функции. Это число будет эффективным в ограничении вычислений только если оно меньше, чем
94*maxtri, когда определён LQM1, либо56*maxtri, когда определён LQM0.- iflag
если
iflag=0, тоtolинтерпретируется как предел по относительной ошибке; еслиiflag=1, то предел по абсолютной ошибке.
- I
целочисленное значение.
- err
оцененная ошибка.
Описание
Функция int2d вычисляет двумерный интеграл фукнции f
по области, состоящей из n треугольников. Оценка общей ошибки получается
и сравнивается с допуском tol, который является входным аргументом функции. Допуск
ошибки считается либо относительным, либо абсолютным в зависимости от входного значения iflag.
Метод "локальный квадратурный модуль" (LQM) применяется к каждому входному треугольнику и оценивает общий
интеграл и вычисляются оценки общего интеграла и общей ошибки. Локальный квадратурный модуль является
либо процедурой LQM0, либо процедурой LQM1 и выбор между ними определяется значением
входной переменной iclose.
Если оценка общей ошибки превышает допуск, то треугольник с наибольшей абсолютной ошибкой
делится на два треугольника медианой к его наибольшей стороне. Локальный квадратурный модуль
затем применяется к каждому из этих треугольников для получения новых оценок интеграла и ошибки.
Этот процесс повторяется до тех пор, пока (1) допуск ошибки не будет удовлетворён,
(2) количество сформированных треугольников не превысит входной параметр maxtri,
(3) количество вычислений подынтегральной функции не превысит входной параметр mevals,
либо (4) функция не почувствует, что ошибки округления начинают портить результат.
Примеры
X=[0,0;1,1;1,0]; Y=[0,0;0,1;1,1]; deff('z=f(x,y)','z=cos(x+y)') [I,e]=int2d(X,Y,f) // вычисляет подынтегральное выражение по площади [0 1]x[0 1]
Смотрите также
| Report an issue | ||
| << impl | Differential calculus, Integration | int3d >> |