- •Оглавление
- •Введение
- •Рабочая программа
- •Краткий конспект лекций *
- •1. Решение алгебраических и трансцендентных уравнений
- •1.1. Метод простой итерации
- •1.2. Усовершенствованный метод последовательный приближений
- •1.3. Метод Ньютона-Рафсона
- •Уравнение касательной
- •1.4. Случай почти равных корней
- •1.5. Метод хорд
- •1.6. Метод секущих
- •Варианты заданий
- •Геометрическое толкование
- •Вопросы для самопроверки
- •2. Методы интерполяции
- •2.1. Метод Лагранжа
- •2.2. Вычислительная схема Эйткена
- •2.3. Определение явного вида интерполяционного многочлена
- •Варианты заданий
- •Вопросы для самопроверки
- •3.Метод наименьших квадратов
- •3.1.Постановка задачи и способ решения
- •3.2.Вычислительная схема метода наименьших квадратов
- •3.3.Получение таблицы экспериментальных данных
- •3.4. Методические указания по выполнению задания
- •3.5. Форматирование Диаграммы
- •Варианты заданий
- •Вопросы для самопроверки
- •4. Полином Чебышева
- •Свойства полиномов Чебышева
- •Определение полиномов Чебышева
- •Численная оценка полиномов Чебышева
- •5. Решение систем линейниых (слау) и нелинейных уравнений (снау)
- •5.1. Метод Ньютона - Рафсона для систем нелинейных уравнений
- •5.2. Метод итерациЙ для систем нелинейных уравнений
- •5.3. Системы линейных уравнений Метод Простой итерации
- •5.4. Метод Зейделя
- •Варианты заданий
- •Вопросы для самопроверки
- •6. Численное интегрирование
- •6.1.Квадратурные формулы, порожденные интерполяционными формулами
- •6.2. Квадратурные формулы Гаусса
- •6.3 Метод Ромберга
- •6.4. Вычисление интеграла по формуле прямоугольников
- •6.5 Вычисление интеграла по формуле трапеций
- •6.6. Вычисление интеграла методом Симпсона
- •6.7 Вычисление интеграла методом Гаусса
- •Варианты заданий
- •Вопросы для самопроверки
6.4. Вычисление интеграла по формуле прямоугольников
Sub Pryamougolnik() 'начало программы, название программы
Dim x1 As Single 'задание типа параметра х1
Dim x2 As Single 'задание типа параметра х2
Dim h As Single 'звдвние типа параметра шага
Dim a As Single 'задание типа нижнего предела
Dim b As Single 'задание типа верхнего предела
Dim k As Integer 'задание типа числа разбиений
Dim s As Single 'задание типа площади
a = CSng(InputBox("Введите нижний предел")) 'диалог запроса размера нижнего педела
b = CSng(InputBox("Введите верхний предел")) 'диалог запроса размера верхнего предела
k = CSng(InputBox("Введите число разбиений")) 'диалог запроса числа разбиений
h = (b - a) / k 'вычисление длины шага
x1 = a - h / 2 'Вычисление параметра х1
Do 'начало цикла
x2 = x1 + h 'вычисление значения х2
s = s + h * func(x2) 'вычисление площади
x1 = x2 'переприсвоение значений
Loop While x2 < b 'конец цикла и его условие
k = MsgBox(s, 0, "Результат") 'вывод сообщения на экран
Worksheets(1).Cells(1, 1).Value = "Результат" 'вывод слова "Результат" на лист 1
Worksheets(1).Cells(1, 2).Formula = s 'вывод искомого значения на лист1, ячейку (1,2)
End Sub 'конец программы
6.5 Вычисление интеграла по формуле трапеций
Sub Trap() 'начало программы
Dim a As Single 'Задание типа нижнего предела
Dim b As Single 'Задание типа верхнего предела
Dim n As Integer 'зажание типа числа отрезков
Dim h As Single 'задание типа числа отрезков
Dim i As Integer 'задание типа переменной в цикле
Dim Integ As Single 'задание типа значения интеграла
Dim x0 As Single 'задание типа х0
a = CSng(InputBox("Введите нижний предел")) 'диалог запроса нижнего предела
b = CSng(InputBox("Введите верхний предел")) 'диалог запроса верхнего предепа
n = CSng(InputBox("Введите число разбиений")) 'диалог запроса числа отрезков
h = (b - a) / n 'вычисление длины шага
Integ = 0 'присвоение интегралу значение 0
x0 = a + h 'вычисление х0
For i = 1 To n - 1 'начало цикла
Integ = Integ + func(x0) 'вычисление интеграла
x0 = x0 + h 'вычисление х0
Next i 'конец цыкла
Integ = h / 2 * (func(a) + 2 * Integ + func(b)) 'вычисление интеграла
Worksheets(1).Cells(1, 1).Value = "Значение интеграла" 'вывод на лист 1 "значение интеграла"
Worksheets(1).Cells(2, 1).Formula = Integ 'вывод на лист 1 значение вычисленного интеграла
MsgBox Integ, vbExclamation, "интеграл равен" 'вывод сообщения
End Sub 'конец программы
Function func(x) As Single 'объявление функции
func = x ^ 3 'функция получена из ур-я
End Function 'конец объявления
6.6. Вычисление интеграла методом Симпсона
,
n
= 2m
частей:
с шагом
.
Пусть
,
тогда
,
Затем количество точек разбиения удваивается и производится оценка точности вычислений:
Если
,
то количество точек разбиения удваивается.
Значения суммы
сохраняются,
поэтому для вычисления интеграла при
удвоении количества точек разбиения
требуется вычислять значения
лишь
в новых точках разбиения.
где
где k
= 0, 1, 2, …, 2M;
,
.
Sub Симпсон ()
h = (b-a) / (2 * m)
S1 = 0
S2 = 0
For k =1 to m
x = a + h (2 * k - 1)
S1 = S1 + funk (x)
next k
for k =1 to m -1
x = a + h * 2 * k
S2 = S2 + funk (x)
next k
S = h * (funk (a) + funk (b) + 4 * S1 + 2 * S2) / 3
K = MsgBox (S, 1,”Интеграл по Симпсону = ”)
end Sub
Function funk (x)
funk k = exp (x)
end Function
