- •Общие сведения Сведения об эумк
- •Методические рекомендации по изучению дисциплины
- •Рабочая учебная программа Учреждение образования «Белорусский государственный университет информатики и радиоэлектроники»
- •Пояснительная записка
- •Содержание дисциплины
- •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
Контрольная работа № 2 Общие сведения
Цель работы: изучение численного дифференцирования и интегрирования.
Порядок выполнения работы
Изучить темы 7 лекционного материала.
Аналитически (вручную) вычислить значения первой и второй производной функции в точке .
Аналитически (вручную) вычислить значение определенного интеграла от функции на интервале [a,b].
Написать программу для нахождения значения первой и второй производной функции в точке c помощью сплайнов;
Написать программу для вычисления приближенного значение определенного интеграла от функции на интервале [a,b] с заданной точностью методами Симпсона или квадратурной формулой Гаусса.
Сверить рассчитанные вручную значения с результатами вычислений программы.
Метод Симпсона
Входные параметры: a,b – интервал интегрирования; h – шаг интегрирования; fun – вид функции.
Выходные параметры: d – погрешность интегрирования; res – значение интеграла функции.
Схема алгоритма показана на рисунке 3.
Пример. Вычислить приближенное значение определенного интеграла с точностью 0,01
Текст программы:
procedure Simpson(fun:string;a,b,h:real;var res,d:real);
var f0,f1,s,s1,s2,h,x1,x2:real;
n:integer;
begin
form3.Memo1.Lines.Add('');
f0:=Execute(fun,a);
f1:=Execute(fun,b);
s:=f0-f1;
s1:=(b-a)*(f0+f1+4*Execute(fun,(a+b)/2))/6;
n:=2;
repeat
h:=(b-a)/n; x1:=a+h/2; x2:=a+h; s2:=s;
for i:=1 to n do
begin
s2:=s2+4*Execute(fun,x1)+2*Execute(fun,x2);
x1:=x1+h; x2:=x2+h;
end;
s2:=s2*h/6; d:=abs(s1-s2)/15; s1:=s2; n:=n*2;
until d<h;
res:=s1;
end;
Вычисления по программе привели к следующим результатам:
Результат: - 0.4864297
Погрешность вычисления:0,005
Рисунок 3 - Схема алгоритма метода Симпсона
Варианты заданий для решения задач численного интегрирования и дифференцирования приведены в таблице 2.
Квадратурная формула Гаусса
Входные параметры: a,b – интервал интегрирования; fun – вид функции.
Выходные параметры: d – погрешность интегрирования; res – значение интеграла функции.
Схема алгоритма показана на рисунке 4.
Пример. Вычислить приближенное значение определенного интеграла с точностью 0,01
Текст программы:
Procedure Kvadratur(fun:string;a,b:real;var res,d:real);
var c,h,h1,c1,x1,x2,x3,f1,f3,s1,s2:real;
n:integer;
begin
c:=sqrt(3/5);
h1:=(b-a)/2;
c1:=c*h1;
x2:=(b+a)/2;
f1:=Execute(fun,x2-c1);
f3:=Execute(fun,x2+c1);
s1:=h1*(5*f1+8*Execute(fun,x2)+5*f3)/9;
n:=2;
repeat
h:=(b-a)/n; h1:=h/2; c1:=c*h1;
x2:=a+h1; x1:=x2-c1; x3:=x2+c1; s2:=0;
for i:=1 to n do
begin
s2:=s2+5*Execute(fun,x1)+8*Execute(fun,x2)+5*Execute(fun,x3);
x1:=x1+h; x2:=x2+h; x3:=x3+h;
end;
s2:=s2*h1/9; d:=abs(s1-s2)/63; s1:=s2; n:=2*n;
until d<h;
res:=s2;
end;
Вычисления по программе привели к следующим результатам:
Результат: - 0.4863854
Погрешность вычисления:0,007
Рисунок 4 - Схема алгоритма квадратурной формулы Гаусса
Варианты заданий для решения задач численного интегрирования и дифференцирования приведены в таблице 2.
Дифференцирование с помощью сплайнов
Входные параметры: a,b – интервал дифференцирования; x – точка дифференцирования; n – число точек дифференцирования; fun – вид функции.
Выходные параметры: y_1,y_2 – значения первой и второй производной в точке x соответственно.
Схема алгоритма показана на рисунке 5.
Пример. Продифференцировать функцию , количество точек разбиения 5, значение точки х=1.
Текст программы:
procedure Spl_Integr(fun:string;a,b,x:real;n:integer;var y_1,y_2:real);
var h,h1,h2,aa:real;
y:array of real;
begin
h:=(b-a)/n;
SetLength(y,n-1);
aa:=a;
for i:=0 to length(y)-1 do
begin
y[i]:=execute(fun,aa); form3.Memo1.Lines.Add(floattostr(y[i]));
aa:=aa+h;
end;
i:=trunc((x-a)/h+h/2);
h1:=2*h; h2:=h*h; if i=0 then
begin
y_1:=(-3*y[0]+4*y[1]-y[2])/h1; y_2:=(2*y[0]-5*y[1]+4*y[2]-y[3])/h2;
end;
if (i>0)and(i<n) then begin
y_1:=(-y[i-1]+y[i+1])/h1; y_2:=(y[i-1]-2*y[i]+y[i+1])/h2; end;
if i=n then
begin
y_1:=(y[n-2]-4*y[n-1]+3*y[n])/h1; y_2:=(-y[n-3]+4*y[n-2]-5*y[n-1]+2*y[n])/h2;
end;
end;
Вычисления по программе привели к следующим результатам:
Первая производная:3,808
Вторая производная:10,00
Рисунок 5 - Схема алгоритма дифференцирования с помощью сплайнов
Варианты заданий приведены в таблице 2.