- •Общие сведения Сведения об эумк
- •Методические рекомендации по изучению дисциплины
- •Рабочая учебная программа Учреждение образования «Белорусский государственный университет информатики и радиоэлектроники»
- •Пояснительная записка
- •Содержание дисциплины
- •1. Название тем лекционных занятий, их содержание, объем в часах Наименование тем, их содержание
- •2. Перечень тем ипр
- •Перечень тем контрольных работ
- •4. Литература
- •4.1 Основная
- •4.2 Дополнительная
- •5. Перечень компьютерных программ, наглядных и других пособий, методических указаний и материалов и технических средств обучения
- •6. Учебно-методическая карта дисциплины содержание дисциплины
- •Теоретический раздел Вступление
- •Дискретная и вычислительная математика
- •Часть 1. Вычислительная математика Математическое моделирование и вычислительный эксперимент
- •1 Решение систем линейных алгебраических уравнений
- •1.1 Точные методы
- •1.1.1 Метод Гаусса
- •1.1.2 Связь метода Гаусса с разложением матрицы на множители. Теорема об lu разложении
- •Теорема об lu разложении
- •1.1.3 Метод Гаусса с выбором главного элемента
- •1.1.4 Метод Холецкого (метод квадратных корней)
- •1.2 Итерационные методы решений систем алгебраических уравнений
- •1.2.1 Метод Якоби (простых итераций)
- •1.2.2 Метод Зейделя
- •1.2.3 Матричная запись методов Якоби и Зейделя
- •1.2.4 Метод Ричардсона
- •1.2.5 Метод верхней релаксации (обобщённый метод Зейделя)
- •1.2.6 Сходимость итерационных методов
- •2 Плохо обусловленные системы линейных алгебраических уравнений
- •2.1 Метод регуляризации для решения плохо обусловленных систем
- •2.2 Метод вращения (Гивенса)
- •3 Решение нелинейных уравнений
- •3.1 Метод простых итераций
- •3.1.1 Условия сходимости метода
- •3.1.2 Оценка погрешности
- •3.2 Метод Ньютона
- •3.2.1 Сходимость метода
- •4 Решение проблемы собственных значений
- •4.1 Прямые методы
- •4.1.1 Метод Леверрье
- •4.1.2 Усовершенствованный метод Фадеева
- •4.1.3 Метод Данилевского
- •4.1.4 Метод итераций определения первого собственного числа матрицы
- •5 Задача приближения функции
- •5.1 Интерполяционный многочлен Лагранжа
- •5.1.1 Оценка погрешности интерполяционного многочлена
- •5.2 Интерполяционные полиномы Ньютона
- •5.2.1 Интерполяционный многочлен Ньютона для равноотстоящих узлов
- •5.2.2 Вторая интерполяционная формула Ньютона
- •5.3 Интерполирование сплайнами
- •5.3.1 Построение кубического сплайна
- •5.3.2 Сходимость процесса интерполирования кубическими сплайнами
- •5.4 Аппроксимация функций методом наименьших квадратов
- •6 Численные методы решения задачи Коши для обыкновенных дифференциальных уравнений и систем дифференциальных уравнений
- •6.1 Семейство одношаговых методов решения задачи Коши
- •6.1.1 Метод Эйлера (частный случай метода Рунге-Кутта)
- •6.1.2 Методы Рунге-Кутта
- •6.2 Многошаговые разностные методы решения задачи Коши для обыкновенных дифференциальных уравнений
- •6.2.1 Задача подбора числовых коэффициентов aк , bк
- •6.2.2 Устойчивость и сходимость многошаговых разностных методов
- •6.2.3 Примеры m-шаговых разностных методов Адамса для различных m
- •6.3 Численное интегрирование жестких систем обыкновенных дифференциальных уравнений
- •6.3.1 Понятие жесткой системы оду
- •6.3.2 Некоторые сведения о других методах решения жестких систем
- •6.3.2.1 Методы Гира
- •6.3.2.2 Метод Ракитского(матричной экспоненты) решения систем оду
- •6.4 Краевые задачи для обыкновенных дифференциальных уравнений
- •6.5 Решение линейной краевой задачи
- •6.6 Решение двухточечной краевой задачи для линейного уравнения второго порядка сведением к задаче Коши
- •6.7 Методы численного решения двухточечной краевой задачи для линейного уравнения второго порядка
- •6.7.1 Метод конечных разностей
- •6.7.2 Метод прогонки (одна из модификаций метода Гаусса)
- •7 Приближенное решение дифференциальных уравнений в частных производных
- •7.1 Метод сеток для решения смешанной задачи для уравнения параболического типа (уравнения теплопроводности)
- •7.2 Решение задачи Дирихле для уравнения Лапласа методом сеток
- •7.3 Решение смешанной задачи для уравнения гиперболического типа методом сеток
- •Часть 2. Дискретная математика
- •1. Основные Элементы теории множеств
- •1.1 Элементы и множества
- •1.2 Задание множеств. Парадокс Рассела
- •1.3 Операции над множествами
- •1.4 Булеан множества
- •1.5 Представление множеств в эвм
- •Разбиения и покрытия
- •2 Отношения и функции
- •2.1 Прямое произведение множеств
- •Элементы комбинаторики
- •Теория конфигураций и теория перечисления
- •Размещения
- •Сочетания
- •3.1 Перестановки и подстановки
- •4 Элементы математической логики
- •5 Конечные графы и сети Основные определения
- •5.1 Матрицы графов
- •Матрица смежности Списки инцидентности
- •5.2 Достижимость и связность
- •5.3 Эйлеровы и гамильтоновы графы
- •5.4 Деревья и циклы
- •5.5 Алгоритмы поиска пути
- •Двунаправленный поиск
- •Поиск по первому наилучшему совпадению
- •Алгоритм Дейкстры
- •АлгоритмА*
- •Остовное дерево
- •Матрица Кирхгофа
- •5.6 Конечные автоматы
- •5.6 Элементы топологии
- •5.7 Метрическое пространство
- •Указания по выбору варианта
- •Контрольная работа № 2 Общие сведения
- •Квадратурная формула Гаусса
- •Указания по выбору варианта
- •Индивидуальные практические работы Индивидуальная практическая работа № 1 Общие сведения
- •Интерполяционный полином Лагранжа
- •Аппроксимация функций с помощью кубического сплайна
- •Приближение формулами Ньютона
- •Аппроксимация функций методом наименьших квадратов
- •Индивидуальная практическая работа № 2
Интерполяционный полином Лагранжа
Входные параметры: N - число узлов интерполяции; y - массив размерности n, содержащий значения функции в узлах интерполяции; x-массив размерности n, содержащий значения узлов интерполяции; q-точка в которой вычисляем значения функции интерполяции.
Выходные параметры: приближенное значение функции в точке q; графическая интерпретация результата.
Схема алгоритма приведена на рисунке 6.
Задание. Аппроксимировать табличную функцию с помощью интерполяционного полинома Лагранжа.
xi |
yi |
xi |
yi |
1 |
2,05 |
6 |
1,88 |
2 |
1,94 |
7 |
1,71 |
3 |
1,92 |
8 |
1,60 |
4 |
1,87 |
9 |
1,56 |
5 |
1,77 |
10 |
1,40 |
Текст программы:
function Lagran(n:integer;x,y:TVector;q:real):real;
var i,j:integer; l,s:real;
begin
L:=0;
for i:=1 to n do
begin s:=1;
for j:=1 to N do
if j<>i then
s:=s*(q-x[j])/(x[i]-x[j]);
L:=L+y[i]*s;
end;
Lagran:=l
end
Вычисления по программе привели к следующим результатам:
X=1 Y=2,05
X=1,5 Y=2,38
X=2 Y=1,94
X=2,5 Y=1,83
X=3 Y=1,92
X=3,5 Y=1,94
X=4 Y=1,87
X=4,5 Y=1,78
X=5 Y=1,77
X=5,5 Y=1,83
X=6 Y=1,88
X=6,5 Y=1,83
X=7 Y=1,71
X=7,5 Y=1,59
X=8 Y=1,6
X=8,5 Y=1,67
X=9 Y=1,56
X=9,5 Y=1,09
X=10 Y=1,4
Рисунок 6 - Схема алгоритма приближения функций формулой Лагранжа
Варианты заданий для решения задачи приближения функций приведены в таблице 3.
Аппроксимация функций с помощью кубического сплайна
Входные параметры: N - число узлов интерполяции; y - массив размерности n, содержащий значения функции в узлах интерполяции; x-массив размерности n, содержащий значения узлов интерполяции; q-точка в которой вычисляем значения функции интерполяции.
Выходные параметры: приближенное значение функции в точке q; графическая интерпретация результата.
Схема алгоритма приведена на рисунке 7.
Задание. Аппроксимировать табличную функцию с помощью кубического сплайна.
xi |
yi |
xi |
yi |
1 |
2,05 |
6 |
1,88 |
2 |
1,94 |
7 |
1,71 |
3 |
1,92 |
8 |
1,60 |
4 |
1,87 |
9 |
1,56 |
5 |
1,77 |
10 |
1,40 |
Текст программы:
Procedure Spline3(N:integer;X,Y:mas;S0,SN:real;Var A,B,C,D:mas);
Var F : Mas; H2,H3,p : real; i,j : integer;
Begin
H2:=X[2]-X[1];
H3:=X[3]-X[2];
A[1]:=(2*(H2+H3))/H3;
f[1]:=(6/h3)*(((y[3]-y[2])/h3)-((y[2]-y[1])/h2))-(h2*s0)/h3;
For i:=4 to n-1 do
begin
h2:=x[i-1]-x[i-2]; h3:=x[i]-x[i-1];
a[i-2]:=(2/h3)*(h2+h3); b[i-2]:=h2/h3;
f[i-2]:=(6/h3)*(((y[i]-y[i-1])/h3-((y[i-1]-y[i-2])/h2)));
end;
h2:=x[n-1]-x[n-2]; h3:=x[n]-x[n-1];
p:=2*(h2+h3); b[1]:=h2/p;
f[n-2]:=(6/p)*(((y[n]-y[n-1])/h3)-((y[n-1]-y[n-2])/h2))-(h3*sn)/p;
d[1]:=1/a[1]; c[1]:=f[1];
For i:=2 to n-3 do
begin
d[i]:=1/(a[i]-b[i]*d[i-1]); c[i]:=f[i]-b[i]*d[i-1]*c[i-1];
end;
d[n-2]:=(f[n-2]-b[1]*d[n-3]*c[n-3])/(1-b[1]*d[n-3]);
For i:=n-3 downto 1 do
d[i]:=d[i]*(c[i]-d[i+1]);
c[1]:=s0; c[n]:=sn;
For i:=2 to n-1 do c[i]:=d[i-1];
For i:=1 to n do
begin
a[i]:=0; b[i]:=0; d[i]:=0; end;
For i:=2 to n do
begin
h2:=x[i]-x[i-1]; d[i]:=(c[i]-c[i-1])/h2;
b[i]:=h2*c[i]/2-(Sqr(h2))*d[i]/6+(y[i]-y[i-1])/h2; a[i]:=y[i];
end; end;
Вычисления по программе привели к следующим результатам:
X=1 Y=2,21
X=1,5 Y=2,06
X=2 Y=1,94
X=2,5 Y=2,00
X=3 Y=1,92
X=3,5 Y=1,99
X=4 Y=1,87
X=4,5 Y=1,88
X=5 Y=1,77
X=5,5 Y=1,91
X=6 Y=1,88
X=6,5 Y=1,90
X=7 Y=1,71
X=7,5 Y=1,71
X=8 Y=1,6
X=8,5 Y=1,66
X=9 Y=1,56
X=9,5 Y=1,57
X=10 Y=1,4
Варианты заданий для решения задачи приближения функций приведены в таблице 2.
Рисунок 7 - Схема алгоритма приближения функций с помощью сплайнов