- •§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. Численное интегрирование
1. Постановка задачи.
Многие
инженерные задачи, задачи физики,
геометрии и многих других областей
человеческой деятельности приводят к
необходимости вычислять определенный
интеграл вида
(1.1)
где f(x) данная функция, непрерывная на отрезке [a; b]. Если функция f(x) задана формулой и мы умеем найти неопределенный интеграл F(x), то определенный интеграл вычисляется по формуле Ньютона-Лейбница:
(1.2)
Если же неопределенный интеграл данной функции мы найти не умеем, или по какой-либо причине не хотим воспользоваться формулой (1.2), или если функция f(x) задана графически или таблицей, то для вычисления определенного интеграла применяют приближенные формулы. Для приближенного вычисления интеграла (1.1) существует много численных методов, из которых рассмотрим три основных: 1) метод прямоугольников; 2) метод трапеций; 3) метод Симпсона.
При вычислении интеграла следует помнить, каков геометрический смысл определенного интеграла. Если f(x)0 на отрезке [a; b], то численно равен площади фигуры, ограниченной графиком функции y=f(x), отрезком оси абсцисс, прямой x=a и прямой x=b (рис. 1.1).
Т
аким
образом, вычисление интеграла равносильно
вычислению площади криволинейной
трапеции.
2. Метод прямоугольников.
Р
азделим
отрезок [a; b] на n равных частей, т.е. на n
элементарных отрезков. Длина каждого
элементарного отрезка
.
Точки деления будут: x0=a; x1=a+h;
x2=a+2h, ... ,
xn-1=a+(n-1)h; xn=b.
Эти числа будем называть узлами. Вычислим
значения функции f(x) в узлах, обозначим
их y0, y1, y2, ... ,
yn. Cтало
быть, y0=f(a),
y1=f(x1),
y2=f(x2),
... , yn=f(b).
Числа y0, y1, y2,
... , yn являются ординатами точек
графика функции, соответствующих
абсциссам x0, x1, x2,
... , xn (рис. 1.2). Из рис. 1.2 следует,
что площадь криволинейной трапеции
приближенно заменяется площадью
многоугольника, составленного из n
прямоугольников. Таким образом, вычисление
определенного интеграла сводится к
нахождению суммы n элементарных
прямоугольников.
(1.3)
(1.4)
Формула (1.3) называется формулой левых прямоугольников, (1.4) - формулой правых прямоугольников, (1.5) - формулой средних прямоугольников.
(1.5)
Алгоритм вычисления для формулы (1.3)
Задача 1.
Вычислить по методу
левых прямоугольников:
{Программа 1.1}
program integral1;{Метод левых прямоугольников}
uses crt;
var i,n:integer; a,b,h,x,xb,s:real;
function f(x:real):real;
begin f:=(1/x)*sin(3.14*x/2); end;
begin
clrscr;
gotoxy(10,10);
textbackground(1);
write('Введите нижний предел интегрирования ');
readln(a);
gotoxy(10,12);
write('Введите верхний предел интегрирования ');
readln(b);
gotoxy(10,14);
write('Введите количество отрезков ');
readln(n);
h:=(b-a)/n; s:=0; xb:=a;
for i:=0 to n-1 do
begin x:=xb+i*h; s:=s+f(x)*h; end;
gotoxy(10,18);
writeln('Интеграл равен ',s:12:10); readln;
end.
Задача 2
Вычислить по методу правых прямоугольников:
{Программа 1.2}
program integral; {Метод правых прямоугольников}
uses crt;
var i,n:integer; a,b,h,x,xb,s:real;
function f(x:real):real;
begin f:=(1/x)*sin(3.14*x/2); end;
begin
clrscr; gotoxy(10,10); textbackground(1);
write('Введите нижний предел интегрирования ');
readln(a); gotoxy(10,12);
write('Введите верхний предел интегрирования ');
readln(b); gotoxy(10,14);
write('Введите количество отрезков '); readln(n);
h:=(b-a)/n; s:=0; xb:=a;
for i:=1 to n do
begin x:=xb+i*h; s:=s+f(x)*h; end;
gotoxy(10,18);
writeln('Интеграл равен ',s:12:10); readln;
end.
