- •Часть 1.
- •Встроенные функции для работы с файловой системой.
- •Работа с текстовыми файлами.
- •Объект Application. Основные свойства и методы.
- •Объект Workbook. Основные свойства и методы.
- •Объект Worksheet. Основные свойства и методы.
- •Объект Worksheet. Основные события.
- •Объект Range. Общая характеристика.
- •Работа с макросами в Ecxel.
- •Метод Activate(). Метод AutoFill(). Метод Consolidate().
- •Метод Delete(). Метод с префиксом Fill. Метод Find().
- •Метод GoalSeek(). Метод Insert(). Метод Justify().
- •Метод Merge(). Метод Parse(). Метод Replace(). Метод Select() .
- •Метод Copy(). Метод Sort(). Метод SubTotal().
- •Работа с диаграммами (объект Chart).
- •Табулирование функции и построение графика.
- •Вычисление суммы. Рекуррентные формулы.
- •Вычисление чисел Фибоначчи.
- •Решение систем линейных уравнений итерационными методами. Метод простой итерации.
- •Решение систем линейных уравнений итерационными методами. Метод Зейделя.
- •Численное интегрирование. Метод прямоугольников с недостатком.
- •Численное интегрирование. Метод прямоугольников с избытком.
- •Численное интегрирование. Метод трапеций.
- •Поиск минимума функции вида f(X). Метод деления отрезка пополам.
- •Поиск минимума функции вида f(X). Метод «Золотого сечения».
- •1 Билет.
- •2 Билет
Решение систем линейных уравнений итерационными методами. Метод Зейделя.
Представляет собой некоторую модификацию метода итераций. Основная его идея заключается в том, что при вычислении (k+1)- приближения неизвестного xi учитываются уже вычисленные ранее (k+1)- приближения переменных x1, x2,…, xi-1.
Метод Зейделя обладает более высокой скоростью сходимости. В координатной форме записи метод Зейделя имеет вид:
X1(k+1)=c11* x1(k) + c12 * x2(k) + … + c1n * xn(k) + d1
X2(k+1)=c21* x1(k) + c22 * x2(k) + … + c2n * xn(k) + d2
. . .
Xn(k+1)=cn1* x1(k) + cn2 * x2(k) + … + cnn * xn(k+1) + dn
X0-некоторое начальное приближение решения.
Условие окончания итерационного процесса упирается в точность | X(k+1)- X(k)|<=Е
Признаки сходимости метода Зейделя:
Чтобы метод Зейделя сходился, достаточно, чтобы 1 или 2 норма матрицы удовлетворяли условиям:
Ecли ||A||I=… норма матрицы по столбцам <=1, но хотя бы для одного i выполняется строгое неравенство , то метод Зейделя сходится.
Если матрица А является симметричной и положительно определенной, то метод Зейделя сходится при любом начальном приближении.
Sub Макрос4()
Dim eps As Double, x(4) As Double
Dim i, n As Integer
eps = 0.0000001
Range("B7").Cells = eps
Call zeidel(eps, x, n)
Range("B11").Cells = x(1)
Range("C11").Cells = x(2)
Range("D11").Cells = x(3)
Range("E11").Cells = x(4)
Range("F11").Cells = n : End Sub
Метод Зейделя.
Sub Iter(e, x, n)
Dim x0(4) As Double, s As String
Dim i As Integer, j As Integer
Dim l As Boolean
Dim a(4, 4) As Double, b(4) As Double
For i = 1 To 4
a(i, 1) = Range("A" & Format(i + 1, "#0")).Cells
a(i, 2) = Range("C" & Format(i + 1, "#0")).Cells
a(i, 3) = Range("E" & Format(i + 1, "#0")).Cells
a(i, 4) = Range("G" & Format(i + 1, "#0")).Cells
b(i) = Range("J" & Format(i + 1, "###0")).Cells
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
Численное интегрирование. Метод прямоугольников с недостатком.
Метод прямоугольников (левые, правые)
Во многих случаях достаточно знать приближенное значение определенного интеграла. Пусть y=f(x) непрерывна на отрезке [a,b] и нам требуется вычислить интеграл от a до b от функции f(x) по dx. Разобьем отрезок [a,b] на n частей [Xi-1, Xi], i=1,2…n. Внутри каждого отрезка [Xi-1,Xi] выберем какую-то точку Ti.Т.к. по определению интеграл–это предел интегральных сумм, то любая из интегральных сумм есть приближенное значение интеграла.
Суть метода прямоугольников заключается в том, что в качестве приближенного значения определенного интеграла берут интегральную сумму.
Если отрезок [a,b] разбить на равные части длинной h, то a=X0, X1=X0+h, X2=X0+2h…Xn-1=X0+(n-1)h, Xn=X0+nh=b, таким образом h=(b-a)/n.В качестве точке Ti выберем середины элементарных отрезков, т.е. Ti=Xi-1+h/2, где i=1…n. Таким образом формула метода прямоугольников выглядит (формула средних прямоугольников):
где h=(b-a)/n – шаг разбиения отрезков [a;b]
Абсолютная погрешность формулы прямоугольников на отрезке от a до b равна сумме погрешностей на каждом элементарном интервале.
Встречаются модификации метода прямоугольников:
-метод левых прямоугольников
-метод правых прямоугольников
-метод средних прямоугольников
Отличие от метода средних прямоугольников заключается в выборе точки Ti не в середине, а на левой и правой границах элементарных отрезков.
Абсолютная погрешность:
Function f(x) As Double
f = Sin(2 * x) * Cos(x) - 0.3 * x
End Function
Sub Макрос5()
Dim eps, a, b, xn, xm As Double
Dim i, n As Integer
eps = 0.000001
a = Range("B7").Cells
b = Range("B8").Cells
n = 0
xn = PrN(a, b, eps, n)
Range("B11").Cells = xn
Range("C11").Cells = n
End Sub
Метод прямоугольников с недостатком
Function PrN(a, b, e, n) As Double
Dim k As Currency
Dim s, s1, x, dx As Double
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