- •§7 Решение задач линейного программирования 58
- •Предисловие
- •§ 1. Численное интегрирование
- •1. Постановка задачи.
- •2. Метод прямоугольников.
- •Задача 1.
- •Задача 2
- •Задача 3
- •3. Метод трапеций.
- •4. Метод Симпсона.
- •5. Практическая работа на эвм
- •§ 2. Решение систем линейных уравнений
- •1. О системах линейных уравнений.
- •2. Решение систем линейных уравнений с двумя неизвестными по формулам Крамера.
- •Пример 1.
- •3. Решение систем линейных уравнений с тремя неизвестными по методу Крамера.
- •4. Решение систем линейных уравнений способом Гаусса.
- •5. Практическая работа на эвм
- •2. Интерполяционный многочлен Лагранжа
- •Пример 2.
- •З Рис 3.1 адача 1.
- •Алгоритм:
- •Задача 2.
- •3. Вычисление приближенного значения функции с помощью электронных таблиц
- •Пример 3
- •Задача 3
- •§ 4. Простейшие задачи статистики
- •1. Вычисление средних.
- •2. Математическое ожидание, дисперсия, среднее квадратичное отклонение, точность оценки математического ожидания, показатель достоверности вычисления математического ожидания
- •3. Практическая работа на эвм
- •§ 5. Численные методы решения трансцендентных уравнений
- •1. Введение
- •Пример 1.
- •Теорема
- •2. Метод половинного деления
- •Алгоритм отделения корней
- •Алгоритм уточнения корней
- •3. Практическая работа на эвм.
- •4. Лабораторная работа
- •Ход работы
- •§6 Численные методы решения дифференциальных уравнений
- •1. О некоторых задачах приводящих к дифференциальным уравнениям Задача 1
- •Задача 2
- •Задача 3
- •2. Несколько определений
- •Пример 1
- •Пример 2
- •Задачи для самостоятельного решения.
- •3. Постановка задачи численного решения дифференциального уравнения
- •4. Метод Эйлера.
- •Пример 1
- •Пример 2
- •5. Метод Рунге-Кутта второго порядка (Метод Эйлера-Коши)
- •6. Метод Рунге-Кутта 4 порядка
- •7. Лабораторная работа. Численное решение обыкновенного дифференциального уравнения первого порядка
- •§7 Решение задач линейного программирования
- •1. Введение
- •2. Основные методы решения задач оптимизации
- •Общий случай задачи оптимизации
- •Задачи оптимизации, алгоритмы которых могут быть реализованы с помощью электронных таблиц
- •Основные этапы работ при решении задачи оптимизации
- •4. Задачи линейного программирования. Методы решения задач.
- •Пример.
- •Основные положения симплекс-метода
- •5. Решение задач линейного программирования с помощью ms Excel Пример 1
- •Решение:
- •Решение задачи
- •Пример 2
- •Решение:
- •6. Практическая работа 1
- •7. Транспортная задача Введение
- •Решение
- •Решение:
- •Составление математической модели
- •Решение задачи
- •8. Практическая работа 2
- •Приложения Приложение 1. Численное интегрирование. Варианты самостоятельных работ
- •Приложение 2. Численное интерполирование. Варианты самостоятельных работ
- •Приложение 3. Численное дифференцирование. Варианты лабораторных работ
- •Приложение 4. Задачи оптимизации. Варианты самостоятельных работ
- •Приложение 5. Транспортная задача. Варианты самостоятельных работ
- •Литература.
Пример 1
Решить методом Эйлера дифференциальное уравнение y'=cos y + 3 x с начальным условием y(0)=1,3 на отрезке [0, 1] приняв шаг h=0,2
k |
xk |
yk |
yk=0,2(cos yk+3xk) |
0 |
0 |
1,3 |
0,05 |
1 |
0,2 |
1,35 |
0,16 |
2 |
0,4 |
1,52 |
0,25 |
3 |
0,6 |
1,77 |
0,32 |
4 |
0,8 |
2,09 |
0,38 |
5 |
1 |
2,47 |
|
Алгоритм решения задачи на рис. 6.5.
Программу составить самостоятельно.
{
Программа
6.1}
var x,y,a,b,h:real; {Метод Эйлера}
function f(x,y:real):real;
begin f:= cos(y)+3*x; end;
begin
writeln('введите y, a, b, h');
readln(y,a,b,h); x:=a;
repeat
writeln(x:0:3,' ',y:0:3);
y:=y+h*f(x,y);
x:=x+h;
until x>b+0.1;
readln; end.
Пример 2
Решить методом Эйлера дифференциальное уравнение y'=cos y + 3x с начальным условием y(0)=1,3 на отрезке [0, 1] приняв шаг h=0,1
k |
xk |
y2k |
yk |
0 |
0 |
1,3 |
1,30 |
1 |
0,1 |
|
1,33 |
2 |
0,2 |
1,35 |
1,38 |
3 |
0,3 |
|
1,46 |
4 |
0,4 |
1,52 |
1,56 |
5 |
0,5 |
|
1,68 |
6 |
0,6 |
1,77 |
1,82 |
7 |
0,7 |
|
1,98 |
8 |
0,8 |
2,09 |
2,15 |
9 |
0,9 |
|
2,33 |
10 |
1 |
2,47 |
2,53 |
Вывод: погрешность метода Эйлера слишком велика для решения практических задач. Дальнейшим развитием метода Эйлера явились методы Рунге-Кутта.
5. Метод Рунге-Кутта второго порядка (Метод Эйлера-Коши)
Р
ассмотрим
метод Рунге-Кутта второго порядка. В
этом методе величины yi+1 вычисляются
по следующим формулам:
yi+1 = yi + yi
yi=yi1+yi2
,
См. рис. 6.6
Тогда
.
Обозначим
,
тогда
Г
еометрически
это означает, что мы определяем направление
интегральной кривой в исходной точке
(xi,
yi) и
во вспомогательной точке
,
а в качестве окончательного берем
среднее из этих направлений.
Алгоритм решения задачи на рис 6.7.
Программу составить самостоятельно.
{Программа 6.2}
{Метод Рунге - Кутта 2 порядка}
var z,x,y,a,b,h:real;
function f(x,y:real):real;
begin f:= cos(y)+3*x; end;
begin
writeln('Введите y, a, b, h');
readln(y,a,b,h); x:=a;
repeat
writeln(x:0:3,' ',y:0:3);
z:=y+h*y*(1-x);
y:=y+h*(f(x,y)+f(x+h,z))/2; x:=x+h;
u
Рис 6.7
6. Метод Рунге-Кутта 4 порядка
В вычислительной практике наиболее часто используется метод Рунге-Кутта четвертого порядка.
В этом методе величины yi+1 вычисляются по следующим формулам:
yi+1 = yi + yi
yi=h(k1 + 2k2 + 2k3 + k4)/6, i = 0, 1, ...
k1 = f(xi, yi),
k2 = f(xi+h/2, yi+hk1/2),
k3 = f(xi+h/2, yi+hk2/2),
k
4
= f(xi+h,
yi+hk3).
Алгоритм решения задачи на рис. 6.8.
Программу составить самостоятельно.
{Программа 6.3}
{Метод Рунге - Кутта 4 порядка}
var k1,k2,k3,k4,x,y,a,b,h,d:real;
function f(x,y:real):real;
begin f:= cos(y)+3*x; end;
begin
writeln('Введите y, a, b, h');
readln(y,a,b,h); x:=a;
repeat
writeln(x:0:3,' ',y:0:3);
k1:=f(x,y);
k2:=f(x+h/2,y+h*k1/2);
k3:=f(x+h/2,y+h*k2/2);
k4:=f(x+h,y+h*k3);
d:=(k1+2*k2+2*k3+k4)/6;
y:=y+d; x:=x+h;
u
Рис. 6.8
readln; end.
Пример
Решить
уравнение y'=y(1-x)
с начальным условием y(0)=1
методом Эйлера, Эйлера-Коши и Рунге-Кутта
4 порядка. Сравнить результаты с
точным
решением
.
методы |
||||
|
Эйлера |
Эйлера-Коши |
Рунге-Кутта 4 порядка |
Точное решение |
x |
y |
|||
0 |
1 |
1 |
1 |
1 |
0,1 |
1,1 |
1,0995 |
1,0997 |
1,0997 |
0,2 |
1,199 |
1,1969 |
1,1972 |
1,1972 |
0,3 |
1,2949 |
1,29 |
1,2905 |
1,2905 |
0,4 |
1,3856 |
1,3766 |
1,3771 |
1,3771 |
0,5 |
1,4687 |
1,4544 |
1,455 |
1,455 |
0,6 |
1,5421 |
1,5213 |
1,522 |
1,522 |
0,7 |
1,6038 |
1,5754 |
1,5762 |
1,5762 |
0,8 |
1,6519 |
1,6153 |
1,6161 |
1,6161 |
0,9 |
1,685 |
1,6397 |
1,6405 |
1,6405 |
1 |
1,7018 |
1,6479 |
1,6487 |
1,6487 |
