- •Часть 3
- •Введение
- •Требования к оформлению лабораторных работ
- •1. Приближенное решение нелинейных уравнений
- •2. Решение систем линейных алгебраических уравнений
- •Метод Гаусса
- •Метод Гаусса-Зейделя.
- •2: Writeln ('Количество итераций выше допустимого');
- •3. Аппроксимация функций с помощью метода наименьших квадратов
- •Нахождение параметров линейной функции
- •Нахождение параметров квадратичной функции
- •4. Решение обыкновенных дифференциальных уравнений
- •5. Многомерная оптимизация. Линейное программирование
- •Графический метод решения задачи линейного программирования.
- •Список литературы
- •Содержание
Министерство образования Российской Федерации
Ивановский государственный химико-технологический университет
№ 866
Информатика
Часть 3
Основы вычислительной математики
Методические указания и контрольные работы для студентов заочного обучения
Составители: С.П. Бобков,
В.А. Бобкова
Иваново 2003
Составители: С.П. Бобков, В.А. Бобкова
УДК 613.19
Информатика. Часть 3. Основы вычислительной математики: Методические указания и контрольные работы для студентов заочного обучения / Сост.: С. П. Бобков, В. А. Бобкова; Иван. гос. хим.-технол. ун-т. – Иваново, 2003. 32 с.
Методические указания являются третьей частью серии методических указаний по курсу «Информатика» для студентов заочного обучения. Рассмотрены следующие темы: приближенное решение нелинейных уравнений; решение систем линейных алгебраических уравнений; решение обыкновенных дифференциальных уравнений; аппроксимация функций с помощью метода наименьших квадратов; линейное программирование. Приведены примеры и задания для выполнения лабораторных работ.
Предназначены для самостоятельной работы студентов заочной формы обучения всех специальностей.
Табл. 9. Ил. 17. Библиогр.: 7 назв.
Рецензент доктор технических наук, профессор А. Н. Лабутин (Ивановский государственный химико-технологический университет)
Введение
Основными целями лабораторного практикума по курсу "Информатика. Основы вычислительной математики" являются:
- закрепление знаний по теоретическим основам использования методов вычислительной математики для анализа математических моделей технических и экономических объектов;
- получение практических навыков работы на компьютерах, отладки и тестирования программ.
Методические указания являются третьей частью серии методических указаний по курсу «Информатика» для студентов заочного обучения. Они содержат описание ряда численных методов, примеры решения конкретных задач и индивидуальные задания для самостоятельных лабораторных работ. В указаниях рассмотрены следующие темы: приближенное решение нелинейных уравнений; решение систем линейных алгебраических уравнений; решение обыкновенных дифференциальных уравнений; аппроксимация функций с помощью метода наименьших квадратов; линейное программирование.
Для реализации численных методов в процессе решения поставленных задач предполагается использование среды программирования Turbo Pascal или процессора электронных таблиц MS Excel.
Требования к оформлению лабораторных работ
Лабораторные работы оформляются в тетради в виде отчета, который должен содержать:
-
Номер варианта
-
Название лабораторной работы.
-
Задание.
-
Расчетная часть:
-
Краткое теоретическое описание метода.
-
Ручной расчет для двух-трёх шагов.
-
Текст программы или описание хода решения задачи с использованием MS Excel.
-
Введенные исходные данные и результаты расчетов.
-
-
Вывод.
1. Приближенное решение нелинейных уравнений
Пусть дано уравнение с одним неизвестным
,
(1.1)
где
- заданная алгебраическая или
трансцендентная
функция.
Решить
уравнение - значит найти все его корни,
то есть те значения
,
которые обращают уравнение в тождество,
или доказать, что корней нет.
В
общем случае не существует формул, по
которым определяются точные значения
корней уравнения (1.1). Для отыскания
корней используют приближенные
методы, при этом корни находятся с
некоторой заданной точностью
.
Это означает, что если
-
точное значение корня уравнения, а
-
его приближенное значение с точностью
,
то
.
Если корень найден с точностью
,
то принято писать
.
Будем предполагать, что уравнение (1.1) имеет лишь изолированные корни, то есть для каждого корня существует окрестность, не содержащая других корней этого уравнения.
Приближенное решение уравнения состоит из двух этапов:
1.
Отделение корней, то есть
нахождение интервалов из области
определения функции
,
в каждом из которых содержится только
один корень уравнения (1).
2. Уточнение корней до заданной точности.
Отделение корней можно проводить графически и аналитически.
Для
того, чтобы графически отделить
корни уравнения (1.1), строят график
функции
.
Абсциссы точек его пересечения с осью
Ox есть действительные
корни уравнения (рис. 1). Практически
бывает удобнее заменить уравнение (1.1)
равносильным ему уравнением
,
(1.2)
где
и
- более простые функции, чем
.
Абсциссы точек пересечения графиков
функций
и
дают корни уравнения (1.2), а значит и
исходного уравнения (1.1) (рис.2).
Аналитическое
отделение корней основано на следующей
теореме: если непрерывная на
отрезке
функция
принимает на концах отрезка значения
разных знаков, т.е.
,
то внутри этого отрезка находится хотя
бы один корень уравнения
;
если при этом производная
со-
![]()
Функция называется
алгебраической, если для получения её
значения нужно выполнить арифметические
операции и возведение в степень с
рациональным показателем. Примеры
трансцендентных функций - показательная,
логарифмическая, тригонометрические,
обратные тригонометрические.
храняет
знак внутри отрезка
,
то корень является единственным.
Рис. 1. Рис. 2.
Уточнение корней заключается в сужении интервала изоляции корня и выполняется одним из специальных методов. Рассмотрим самый простой из них - метод половинного деления.
П
рень.
Если
,
то в качестве нового отрезка изоляции
корня
выбираем ту половину
или
,
на концах которой
принимает значения разных знаков.
Другими словами, если
,
то корень принадлежит отрезку
,
если
- отрезку
.
Полученный отрезок снова делим пополам,
находим
,
.
Находим середину отрезка
по формуле
(рис.3). Если
,
то с - искомый ко-
Рис. 3.
вычисляем
,
выбираем отрезок
и т.д. Длина каждого нового отрезка вдвое
меньше длины предыдущего, то есть за
шагов отрезок сократится в
раз. Как только будет выполнено
,
то в качестве приближенного значения
корня, вычисленного с точностью
,
можно взять
.
Пример.
Пусть требуется решить уравнение
с точностью
=0,0001.
Отделим корень графически. Для этого
преобразуем урав-
Подтвердим
аналитически правильность нахождения
отрезка изоляции корня. Для отрезка
![]()
(рис. 4). Из рисунка
видно, что абсцисса точки пересечения
этих графиков принадлежит отрезку
.
имеем:
;![]()
.
Следовательно, корень отделён правильно.
и построим графики функций
и
![]()
Уточнение корня выполним методом половинного деления.
Первый
шаг.
![]()
![]()
Корень
принадлежит отрезку
![]()
Второй
шаг.
![]()
Корень
принадлежит отрезку
![]()
Третий
шаг.
![]()
![]()
Корень
принадлежит отрезку
![]()
Сведём результаты вычислений в таблицу.
Таблица 1.
|
a |
b |
|
c |
f(a) |
f(c) |
|
|
0 |
1 |
1 |
0.5 |
0.5 |
-0.57436 |
<0 |
|
0 |
0.5 |
0.5 |
0.25 |
0.5 |
-0.07951 |
<0 |
|
0 |
0.25 |
0.25 |
0.125 |
0.5 |
0.19905 |
>0 |
|
0.125 |
0.25 |
0.125 |
|
|
|
|
Дальнейшие вычисления проведём с помощью программы.
program equation; {Решение уравнения методом половинного деления}
uses crt;
var
a,b: real; { Концы отрезка }
c: real; { Середина отрезка }
e: real; { Точность }
function f(x: real): real;
begin
f: = sqr(x-1) - 0.5*exp(x); { Функция f(x) }
end;
begin
writeln (' Введите концы отрезка : ');
write (' a = '); readln ( a );
write (' b = '); readln( b );
write (' Введите точность e = '); readln ( e );
writeln(' Результат : ');
while abs ( b - a ) > 2*e do
begin
c: = ( a + b ) / 2;
if f( c ) = 0 then
begin
writeln( ' c = ' , c : 8 : 6 , ' f( c ) = ' , f( c ) : 8 : 6 );
readln ;
exit ;
end;
if f(a) * f(c) < 0 then b: = c else a: = c;
end;
c: = ( a + b ) / 2;
writeln( ' c = ' , c : 8 : 6, 'f( c ) = ' , f( c ) : 8 : 6 );
readln;
end.
Были введены следующие значения: a = 0, b = 1, e = 0.0001.Получены результаты: с = 0.213287; f ( c ) = 0.000047.
Ответ:
корень уравнения
равен 0,2133
0,0001.
Задания. Найти корень уравнения (если корней несколько, взять наименьший положительный) с точностью 0,0001.
Таблица 2.
|
№ варианта |
Уравнение |
№ варианта |
Уравнение |
|
0 |
|
5 |
|
|
1 |
|
6 |
|
|
2 |
|
7 |
|
|
3 |
|
8 |
|
|
4 |
|
9 |
|
