Решение систем линейных уравнений итерационными методами. Метод Зейделя.

Ecли||A||I=… норма матрицы по столбцам <=1, но хотя бы для одногоi выполняется строгое неравенство , то метод Зейделя сходится.

Call zeidel(eps, x, n)

For i = 1 To 4

x(i) = 0: Next i: n = 0

Do : n = n + 1: l = False

For i = 1 To 4 : x0(i) = x(i) : Next i

For i = 1 To 4 : x(i) = b(i) / a(i, i)

For j = 1 To i – 1 : x(i) = x(i) - a(i, j) / a(i, i) * x0(j) : Next j

For j = i + 1 To 4 : x(i) = x(i) - a(i, j) / a(i, i) * x(j) : Next j

If Abs(x(i) - x0(i)) > e Then : l = True : End If : Next i

Loop Until Not l : End Sub


 


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

Встречаются модификации метода прямоугольников:

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

-метод правых прямоугольников

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

Абсолютная погрешность формулы прямоугольников на отрезке от a до b равна сумме погрешностей на каждом элементарном интервале.

Абсолютная погрешность:

xn = PrN(a, b, eps, n)

k = 1: s1 = 0: n = 0

Do

s = s1: k = k * 2: n = n + 1

dx = (b - a) / k

s1 = 0

For x = a To b - dx + e Step dx

s1 = s1 + f(x)

Next x

s1 = dx * s1

Loop Until Abs(s - s1) <= e

PrN = s1

End Function

 

 

Численное интегрирование. Метод прямоугольников с избытком.

Метод прямоугольников (левые, правые)

Встречаются модификации метода прямоугольников:

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

-метод правых прямоугольников

Абсолютная погрешность формулы прямоугольников на отрезке от a до b равна сумме погрешностей на каждом элементарном интервале.

Абсолютная погрешность:

xm = PrM(a, b, eps, n)

k = 1: s1 = -1: n = 0

Do

s = s1: k = k * 2: n = n + 1

dx = (b - a) / k

s1 = 0

For x = a + dx To b + e Step dx

s1 = s1 + f(x)

Next x

s1 = dx * s1

Loop Until Abs(s - s1) <= e

PrM = s1

End Function


 

Численное интегрирование. Метод трапеций.

Формула метода трапеции:

xt = Trap(a, b, eps, n)

Dim k As Currency

Dim s, s1, x, dx As Double

k = 1: s1 = -1: n = 0

Do

s = s1: k = k * 2: n = n + 1

dx = (b - a) / k

s1 = (f(a) + f(b)) / 2

For x = a + dx To b - dx + e Step dx

s1 = s1 + f(x): Next x

s1 = dx * s1

Loop Until Abs(s - s1) <= e

Trap = s1: End Function

 

Поиск минимума функции вида f(x). Метод деления отрезка пополам.

Function Dix(a, b, e, n) As Double

Dim x1, x2 As Double

n = 0

While (b - a) > e

n = n + 1

x1 = a + 0.25 * (b - a)

x2 = a + 0.75 * (b - a)

If f(x1) < f(x2) Then

b = x2

Else

a = x1

End If

Wend

Dix = (a + b) / 2

End Function

 

 

28. Поиск минимума функции вида f(x). Метод «Золотого сечения».

Алгоритм метода:

1) Вычисляется значение f(x1),где x1=a+0,382(b-a)

2) Вычисляется f(x2), x2=b-0,382(b-a)

3) Определяется новый интервал: (a;x2) – 1ый случай или(x1;b) – 2ой случай, в котором локализован минимум.

4) Внутри получившегося интервала находится новая точка в 1ом случае x1, во 2ом случае x2, стоящие от его конца на расстоянии, составляющем 0,382 от его длины. В этой точке рассчитывается значениеf(x), затем вычисления повторяются с пункта 3 до тех пор, пока величина интервала неопределенности станет .

Function Gold(a, b, e, n) As Double

Dim x1, x2 As Double: n = 0

While (b - a) > e: n = n + 1

x1 = a + 0.318 * (b - a)

x2 = a + 0.682 * (b - a)

If f(x1) < f(x2) Then: b = x2: Else: a = x1: End If

Wend: Gold = (a + b) / 2: End Function