Моделирование в MATLAB/Simulink и SCILAB/Scicos - page 227

225
Далее приведен пример использования функции
inttrap
с одним
аргументом.
Как видим, в первом случае значение интеграла вычисленного при
помощи этой функции не точно и совпадает со значением, полученным
функцией
inttrap
(
x
,
y
) на интервале [5;13] с шагом 1. То есть мы нашли сумму
площадей восьми прямолинейных трапеций с основанием
h
=1 и боковыми
сторонами, заданными вектором
y
. Во втором случае, при попытке увеличить
точность интегрирования, значение интеграла существенно увеличивается.
Дело в том что, уменьшив шаг разбиения интервала интегрирования до 0.1, мы
увеличили количество элементов векторов
x
и
y
и применение функции
inttrap
(
y
)приведет к вычислению суммы площадей восьмидесяти трапеций с
основанием
h
=1 и боковыми сторонами, заданными вектором
y
. Таким образом,
в первом и втором примерах вычисляются площади совершенно разных фигур.
-->x=a:b;
-->y=sqrt(2*x-1);
-->inttrap(y)
ans =
32.655571
-------------------------------------------
-->h=0.1;
-->x=a:h:b;
-->y=sqrt(2*x-1);
-->inttrap(y)
ans =
326.66556
24. 2. Интегрирование по квадратуре
Методы трапеций являются частными случаями квадратурных формул
Ньютона–Котеса, которые, вообще говоря, имеют вид
(
)
=
− =
b
a
n
i
i i
yH ab ydy
0
(24.1)
где
Н
i
– это некоторые константы называемые постоянными Ньютона–Котеса.
Если для (24.1) принять
n
=1, то получим метод трапеций, а при
n
=2 –
метод Симпсона. Эти методы называют квадратурными методами низших
порядков. Для
2
>
n
получают квадратурные формулы Ньютона–Котеса
высших порядков.
Вычислительный алгоритм квадратурных формул реализован в Scilab
функцией
integrate(fun,x,a,b,[,er1[,er2]]),
где
fun
– функция, задающая подынтегральное выражение в символьном виде;
x
– переменная интегрирования, так же задается в виде символа;
a, b
– пределы интегрирования (действительные числа);
1...,217,218,219,220,221,222,223,224,225,226 228,229,230,231,232,233,234,235,236,237,...286
Powered by FlippingBook