Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы математического моделирования в системе Maxima. Учебное пособие для студентов агроинженерного факультета по направлению 35.03.06 - «Агроинженер.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
805 Кб
Скачать

40

3. Элементы вычислительной математики

3.3.2. Метод трапеций

При аппроксимации площади элементарной криволинейной трапеции площадью элементарной прямолинейной трапеции, с высотой, равной длине отрезка [ 1, ], и основаниями ( 1), ( ), получаем квадратурную формулу трапеций:

( ) = (

( 0) + ( )

 

1

( )) .

 

2

+

(3.10)

 

 

 

=1

 

 

При заданной допустимой погрешности аппроксимации также, как и в предыдущем случае, формируется ряд возможных значений

шага 1, 2 = 1 , . . . , для каждого из которых находят апостериор-

2

ную оценку погрешности по формуле (3.8) при = 2.

Пример 3.6. Вычислить значение определённого интеграла функ-

2

ции Гаусса ( ) = 1 2 на отрезке [1, 3] с погрешностью, не

2

превышающей = 106, используя квадратурную формулу трапеций (3.10).

Основным отличием от предыдущего примера будет определение новой функции «Jt(x)», которая вычисляет значение искомого интеграла по формуле (3.10).

Листинг 3.6 Численное интегрирование методом трапеций

(%i1) f(x):=exp(-x^2/2)/sqrt(2*%pi)$

(%i2) a:-1$ b:3$ en:1.E-6$

Jt(h):=float(h*((f(a)+f(b))/2 +

sum(f(a+h*i),i,1,(b-a)/h-1)))$

(%i6) h:1/2$ J0:Jt(2*h)$ J1:Jt(h)$

(%i9) while abs(J1-J0)/3 > en do (

h:h/2, J0:J1, J1:Jt(h))$

print("J[", h, "]=", round(J1/en)*en)$

[ 2561 ] = 0.839995

На рис.3.4 показана аппроксимация трапециями интеграла функ-

ции Гаусса на отрезке [1, 3] с начальным значением шага 1 = 1 .

2

Чёрная утолщённая линия соответствует графику функции = ( ),

3.3. Методы численного интегрирования

41

основная линия красного цвета соответствует огибающей аппроксимирующих трапеций, а точки красного цвета –– значениям функции( ), использованным для построения аппроксимации.

Рис. 3.4. Аппроксимация прямолинейными трапециями определённого интеграла для функции Гаусса ( ) на отрезке [1, 3] с шагом узлов

1 = 12

После инициализации переменных «h», «J0» и «J1» запускается цикл «while» в рамках которого происходит вычисление приближений искомого интеграла ( ) и оценки их апостериорной погрешности ( ) при последовательном уменьшении шага . Условием входа в цикл, как и в предыдущем случае, является превышение требуемой погрешности аппроксимации | ( )| > .

По завершении вычислений на экран выводится искомое приближение интеграла 1 = 0,839995 с предельной абсолютной погреш-

256

ностью = 106. Из полученного результата видно, что для достижения заданной погрешности аппроксимации при использовании формулы трапеций (3.10) в приведённом примере потребовалось сократить шаг узлов до значения 8 = ( 1 )8 = 1 , которое достигается за восемь итераций. 2 256

Сравнивая показанное на рисунках 3.3 и 3.4 положение огибающих следует отметить, что в приведённых примерах формула центральных прямоугольников будет давать положительную, а форму-

42

3. Элементы вычислительной математики

ла трапеций –– отрицательную погрешности аппроксимации, причём по абсолютному значению результат, полученный для формулы трапеций, будет незначительно отличаться от результата, полученного для формулы центральных прямоугольников.

3.3.3. Метод парабол

Ещё одним способом аппроксимации площади элементарной криволинейной трапеции является её замена площадью параболической трапеции, проходящей через три точки ( , ( )), 12 ( 12 ,( 12 )), 1( 1, ( 1)). В результате получаем квадратурную формулу парабол или формулу Симпсона:

 

 

( ( 0) + ( ) + 4

 

 

 

 

1

( )) .

 

( ) =

6

(

1

) + 2

(3.11)

2

 

 

 

=1

 

 

 

=1

 

 

При заданной допустимой погрешности аппроксимации также, как и в предыдущих случаях, формируется ряд возможных значений

шага 1, 2 = 1 , . . . , для каждого из которых находят апостериор-

2

ную оценку погрешности по формуле (3.8) при = 3.

Пример 3.7. Вычислить значение определённого интеграла функ-

ции Гаусса ( ) = 1

2

на отрезке [1, 3] с погрешностью, не

2

2

превышающей = 106, используя квадратурную формулу парабол

(3.11).

Основным отличием от предыдущих примеров будет определение новую функции «Jp(x)», которая вычисляет значение искомого интеграла по формуле (3.11).

Листинг 3.7 Численное интегрирование методом парабол

(%i1) f(x):=exp(-x^2/2)/sqrt(2*%pi)$

(%i2) a:-1$ b:3$ en:1.E-6$

Jp(h):=float(h/6*(f(a) + f(b) +

4*sum(f(a+h*(i-1/2)),i,1,(b-a)/h) +

2*sum(f(a+h*i),i,1,(b-a)/h-1)))$

(%i6) h:1/2$ J0:Jp(2*h)$ J1:Jp(h)$

(%i9) while abs(J1-J0)/7 > en do (

3.3. Методы численного интегрирования

43

h:h/2, J0:J1, J1:Jp(h))$

print("J[", h, "]=", round(J1/en)*en)$

[ 18 ] = 0.839995

На рис.3.5 показана аппроксимация параболическими трапециями интеграла функции Гаусса на отрезке [1, 3] с начальным значением шага 1 = 0.5. Чёрная утолщённая линия соответствует графику функции = ( ), основная линия красного цвета соответствует огибающей аппроксимирующих трапеций (на рис.3.5 она практически сливается с чёрной линией), а точки красного цвета–– значениям функции ( ), использованным для построения аппроксимации.

Рис. 3.5. Аппроксимация параболическими трапециями определённого интеграла для функции Гаусса ( ) на отрезке [1, 3] с шагом узлов

1 = 12

После инициализации переменных «h», «J0» и «J1» запускается цикл «while» в рамках которого происходит вычисление приближений искомого интеграла ( ) и оценки их апостериорной погрешности ( ) при последовательном уменьшении шага . Условием входа в цикл, как и в предыдущем случае, является превышение требуемой погрешности аппроксимации | ( )| > .

По завершении вычислений на экран выводится искомое прибли-

жение интеграла 1 = 0,839995 с предельной абсолютной погрешно-

8

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]