Смекни!
smekni.com

Современное состояние вычислительной техники (стр. 4 из 7)

Метод последовательных приближений или итераций для больших n даёт сокращение времени решения на 20-30% по сравнению с точными методами.

В методе итераций число действий пропорционально числу n2, тогда как в точных методах n3.

Метод итераций особенно выгоден при решении систем, в которых много коэффициентов равно нулю. Рассмотрим метод на примере 3-х уравнений с тремя неизвестными.

Дана система:

Для сходимости метода итераций диагональные элементы системы должны быть преобладающие, т.е.

|aii|>>|aij|

Если это условие не выполняется, то делают элементарные преобразования системы.

Например:

Из 1-го уравнения преобразованной системы найдём х1, из 2-го х2 из 3-го х3. Получим:


Для удобства реализации алгоритма вычисляемое значение обозначим yi. Получим:

Для нашего примера система примет вид:

В качестве начального приближения для х1;x2;x3, берётся 0 или 1. Подставляется в правую часть системы, получается новое значение xi, которое снова подставляется в правую часть и т.д. Пока разность между приближениями не станет меньше d).

<=10-5

program lin;

var

b1,d,x1,x2,x3,x4,e,y1,y2,y3,y4:real;

begin

x1:=0; x2:=0; x3:=0; x4:=0; e:=1e-5;

repeat

y1:=(-9-x2+x4)/4;

y2:=(-y1+x3-3*x4)/2;

y3:=(-7-x1+3*y2)/4;

y4:=(2-3*x2+2*y3)/4;

d:=sqrt(sqr(x1-y1)+sqr(x2-y2)+sqr(x3-y3)+sqr(x4-y4));

x1:=y1; x2:=y2; x3:=y3; x4:=y4;

until d>E;

b1:=x1+2*x2-x3-3*x4;

writeln('x1= ',x1:8:5,' x2= ',x2:8:5,

'x3= ',x3:8:5,' x4= ',x4:8:5,' b1= ',b1:8:5);
end.

ответы:
x1= -2.99999

x2= 4.00000

x3= 1.99999
x4= -1.00000

b1= 0.000000

Проверка в ППП "Eureka"

4*x1+x2-x4=-9

x1-3*x2+4*x3=-7

3*x2-2*x3+4*x4=12

x1+2*x2-x3-3*x4=0

Ответ:

Х1=-3.000000

Х2=4.000000

Х3=2.000000

X4=1.000000

2.3. Методы вычисления определённых интегралов

Если функция f(x) непрерывна на отрезке [a,b] и известна ее первообразная F(x), то определенный интеграл от этой функции в пределах от а до b может быть вычислен по формуле Ньютона-Лейбница

.

Как правило, выразить первообразную функцию удаётся не всегда, поэтому приходиться прибегать к приближённому интегрированию. Существует много численных методов: прямоугольников, трапеций, парабол или Симпсона и т.д.

Метод прямоугольников

Из математики известно, что интеграл равен площади криволинейной трапеции, ограниченной кривой f(x) осью Х и ординатами в точках а и b.

Для приближенного вычисления площади разобьём отрезок [а,b] на n части длинной h =(b-a)/n.

В точках разбиения проведем ординаты до пересечения с кривой y=f(x), а концы ординат соединим прямоугольными отрезками, тогда площадь криволинейного приближенного прямоугольника можно считать равной площади фигуры ограниченной ломанной линией aABb. Площадь этой фигуры, которую обозначим через S, равна сумме площадей прямоугольников.

S=h(y0+y1+y2+…+yn)

Таким образом, приближенное значение интеграла по формуле прямоугольников запишется в виде

Точность метода с постоянным шагом h примерно e

h.

Метод трапеции

В этом методе начальные построения те же, только при вычислении площади криволинейной трапеции ординаты сверху соединяются ломаной линией.


Получается множество прямоугольных трапеций. Площадь одной трапеции равна:

Sтр=

.h

Отсюда: y

.h +
.h + … +
.h =

= h.

+ f(a + h) +…+ f(в-h)
=
+

Точность Е

h2

Метод Симпсона (парабол)

В этом методе отрезок [a,в] разбивается на 2n частей, длинной h=

и ординаты сверху соединяются кривой второго порядка (3 соседних точки).

Расчетная формула имеет вид :

у

(y0 + 4y1+ 2y2 + 4y3 + …+ 4y2n*1 + y2n)

y0= f(a), y1= f(a+2h), y2= f(a+2h)… y2n-1= f(в-h)

y2n= f(в).

Для упрощения расчётов введём переменную сi

ci=

, тогда формула примет вид:

у

(f(a)+f(в)+
(3+ci))

PROGRAM PRYAMOUGOLNIK;

CONST a= 0.4 ; b= 1.2; n=100;

var x,y:real;
i: integer;

function f (x:real):real;

begin