Написать программу решения системы нелинейных уравнений (метод простых итераций, метод Ньюона)


Тип работы:  Курсовая работа
Бесплатно:  Антиплагиат
Объем: 17 страниц
В избранное:   
Министерство науки и высшего образования Республики Казахстан

Казахский национальный технический университет имени Каныша Сатпаева

Кафедра технической кибернетики

Дисциплина Программирование на алгоритмических языках

Курсовой проект

Выполнил:
студент группы ИВТ-02-07

Сибиркин Алексей

Принял:
старший преподаватель
________Тусупова Б.Б.
____________2003 г.

Алматы 2003

Содержание

Введение 2
1. Постановка задачи 4
2 Описание методов решения задачи 5
2.1Метод простых итераций 7
2.2 Метод Ньютона 7
3 Разработка алгоритма
11
4 Описание программы
4.1 Общие сведения 12
4.2 Описание логической структуры 12
4.3 Используемые технические средст ва 16
4.4 Инструкция по эксплуатации 16
4.5 Функциональное назначение 16
4.6 Входные данные 16
4.7 Выходные данные 16
ЗАКЛЮЧЕНИЕ 17
Список использованной литературы 18
Приложение А 19
Приложение Б 23

ВВЕДЕНИЕ

Внедрение ЭВМ во все сферы человеческой деятельности требует от
специалистов разного профиля овладения навыками использования
вычислительной техники. Повышается уровень подготовки студентов вузов,
которые уже с первых курсов приобщаются к использованию ЭВМ и простейших
численных методов, не говоря уже о том, что при выполнении курсовых и
дипломных работ применение вычислительных машин становится нормой в
подавляющем большинстве вузов.
Вычислительная техника используется сейчас не только в инженерных и
экономических науках, но и в таких традиционно нематематических
специальностях, как медицина, лингвистика, психология и др. В связи с этим
можно констатировать, что применение ЭВМ приобрело массовый характер.
Возникла многочисленная категория специалистов – пользователей ЭВМ, для
которых необходима литература по дисциплинам, непосредственно связанным с
применением вычислительной техники.
Основной такой дисциплиной является вычислительная математика. Она
изучает методы построения и исследования численных методов решения
математических задач, которые моделируют различные процессы.
Наиболее эффективное применение вычислительная техника нашла при
проведении трудоемких расчетов в научных исследованиях. Действительно,
современные ЭВМ за 1 мс выполняют такой объём вычислений, на который
человеку понадобится целый день.
При решении задачи на ЭВМ основная роль всё-таки принадлежит человеку.
Машина лишь выполняет его задания по разработанной программе.
Поскольку ЭВМ может выполнять лишь простейшие операции, она не
понимает постановки задачи, даже в математической формулировке. Для её
решения должен быть найден численный метод, позволяющий свести задачу к
некоторому вычислительному алгоритму. Разработкой численных методов
занимаются специалисты в области вычислительной математики. Специалисту-
прикладнику для решения задачи, как правило, необходимо из имеющегося
арсенала методов выбрать тот, который наиболее пригоден в данном конкретном
случае.
Следует отметить один важный момент в процессе решения задачи на ЭВМ.
Это – экономичность выбранного способа решения задачи, численного метода,
модели ЭВМ.
Не умаляя значения физического эксперимента, нужно всё-таки отметить
неуклонно возрастающую долю вычислений на ЭВМ общем объёме решения научно-
технических задач. В связи с этим наряду с увеличением парка вычислительных
машин и повышением их интеллектуальных возможностей возрастает интерес к
математическому моделированию и разработке численных методов.
С помощью математического моделирования решение научно-технической
задачи сводится к решению математической задачи, являющейся её моделью. Для
решения математических задач используются следующие основные группы
методов: графические, аналитические и численные.
Графические методы позволяют в ряде случаев оценить порядок искомой
величины. Основная идея этих методов состоит в том, что решение находится
путём геометрических построений. Например, для нахождения корней уравнения
f(x)=0 строится график функции y=f(x), точки пересечения которого с осью
абсцисс и будут искомыми корнями.
При использовании аналитических методов решение задачи удаётся выразить
с помощью формул. В частности, если математическая задача состоит в решении
простейших алгебраических или трансцендентных уравнений, дифференциальных
уравнений и т.п., то использование известных из курса математики сразу
приводит к цели. К сожалению, на практике это слишком редкие случаи.
Основным инструментом для решения сложных математических задач в
настоящее время являются численные методы, позволяющие свести решение
задачи к выполнению конечного числа арифметических действий над числами;
при этом результаты получаются в виде числовых значений. Многие численные
методы разработаны давно, однако при вычислениях вручную они могли
использоваться лишь для решения не слишком трудоёмких задач.
С появлением ЭВМ начался период бурного развития численных методов и их
внедрения в практику. Только вычислительной машине под силу выполнить за
сравнительно короткое время объём вычислений в миллионы, миллиарды и более
операций, необходимых для решения многих современных задач. При счёте
вручную человеку не хватило бы и жизни для решения одной такой задачи.
Численный метод наряду с возможностью получения результата за
приемлемое время должен обладать и ещё одним важным качеством – не вносить
в вычислительный процесс значительных погрешностей.

1 Постановка задачи

Численные методы. Написать программу решения системы нелинейных
уравнений (метод простых итераций, метод Ньюона) для решения следующих
систем.

a=0.4;
b=3.5;
c=-1.5;
d=0.2;
e=0.5;

2 Описание методов решения задачи

Проблемы решения систем уравнений возникают на практике достаточно
часто. Например, с помощью системы нелинейных уравнений описываются
математические модели большинства объектов исследования. C другой стороны
задача решения системы линейных уравнений возникает при построении
интерполяционных многочленов, в процессе аппроксимации функции, при решении
дифференциальных уравнений в частных производных и т.д. Проблема решения
систем уравнений привлекает внимание ученых многих поколений. В результате,
в настоящее время, имеется множество методов её решения.
В этой главе основное внимание сосредоточим на наиболее типичных
представителях методов решения систем уравнений, наглядно раскрывающих
главную идею метода, полагая, что с различными модификациями этих методов
читатель может познакомиться в специальной литературе.
Практически все известные методы решения систем нелинейных уравнений
относятся к классу итерационных методов. В связи с чем рассмотрим общие
вопросы организации итерационного численного метода решения системы
нелинейных уравнений. Пусть нам задана система нелинейных уравнений:

(1)
Требуется найти такие значения , которые преобразуют уравнения
(1) в систему тождеств. Систему (1) удобно записать в компактной матричной
форме:
, (2)
где - вектор неизвестных переменных, - векторная функция. Через
обозначим решение системы уравнений (2).

Численные методы решения системы (2) сводятся к нахождению
последовательности векторов , которая сходится к точному решению
. Вектор называется начальным приближением.

Большинство итерационных методов решения системы нелинейных уравнений
можно представить следующей обобщенной итерационной формулой:
, (3)
где - вектор-параметр итерационного процесса, зависящий от результатов
выполнения предыдущих операций, - итерационная вектор-функция, вид
которой зависит от способа построения итерационного процесса. Если не
зависит от k, то метод будет стационарным с обобщенной итерационной
формулой вида:
(4)
К основным характеристикам итерационных методов относятся:
1.Сходимость метода, определяющая его алгоритмическую надежность.
2.Скорость сходимости, определяющая точность и экономичность метода.

2.1 Метод простой итерации

Систему урававнений (1) представим в виде
Алгоритм решения этой системы методом простой итерации напоминает метод
Гаусса – Зейделя, используемый для решения систем линейных уравнений.
Пусть в результате предыдущей итерации получены значения неизвестных x1=a1,
x2=a2,...,xn=an. Тогда выражения для неизвестных на следующей итерации имеют
вид
Итерационный процесс продолжается до тех пор, пока изменения всех
неизвестных в двух последовательных итерациях не станут малыми, т. е.
абсолютные величины их разностей не станут меньшими заданного малого числа.
При использовании метода простой итерации успех во многом определяется
удачным выбором начальных приближений неизвестных: они должны быть
достаточно близкими к истинному решению. В противном случае итерационный
процесс может не сойтись.

2.2 Метод Ньютона

Этот метод обладает гораздо более быстрой сходимостью, чем метод простой
итерации. В случае одного уравнения F(x)=0 алгоритм метода Ньютона был
легко получен путём записи уравнения касательной к кривой y=F(x). В основе
метода Ньютона для системы уравнений лежит использование разложения функции
Fi(x1,x2,...,xn) в ряд Тейлора, причем члены, содержащие вторые (и более
высоких порядков) производные, отбрасываются.
Пусть приближенные значения неизвестных системы (1) (например полученные на
предыдущей итерации) равны соответственно a1,a2,...,an..Задача состоит в
нахождении приращений (поправок) к этим значениям , благодаря которым
решение системы (1) запишется в виде

Проведём разложение левых частей уравнений (1) с учётом (7) в ряд Тейлора,
ограничиваясь лишь линейными членами относительно приращений:

Поскольку в соответствии с (1) левые части этих выражений должны обращаться
в нуль, то приравняем нулю и правые части. Получим следующую систему
линейных алгебраических уравнений относительно приращений:
Значения F1, F2, ..., Fn и их производные вычисляются при x1=a1, x2=a2,...,
xn=an.

Определителем системы (9) является якобиан

Для существования единственного решения системы (9) он должен быть отличен
от нуля на каждой итерации.
Таким образом итерационный процесс решения системы уравнений (1) методом
Ньютона состоит в определении приращений к значениям неизвестных на каждой
итерации. Счет прекращается, если все приращения становятся малыми по
абсолютной величине: . В методе Ньютона также важен удачный выбор
начального приближения для обеспечения хорошей сходимости. Сходимость
ухудшается с увеличением числа уравнений системы.

В качестве примера рассмотрим использование метода Ньютона для решения
системы двух уравнений
F1(x,y)=0
F2(x,y)=0
Пусть приближенные значения неизвестных a, b. Предположим, что якобиан
системы (11) при x=a, y=b отличен от нуля, т. е.
Тогда следующие приближения неизвестных можно записать в виде
Величины стоящие в правой части, вычисляются при x=a, y=b.

3 РАЗРАБОТКА АЛГОРИТМА

Блок-схема метода Ньютона для решения системы двух уравнений. В качестве
исходных данных задаются начальные приближения неизвестных a, b,
погрешность ε и допустимое число итераций M. Если итерации сойдутся, то
выводятся значения x,y; в противном случае происходит вывод x, y, M.

4 ОПИСАНИЕ ПРОГРАММЫ

4.1 Общие сведения

Программы называются Nuton.exe(pas,cpp).
Программное обеспечение, необходимое для функционирования программы
следующее: OC DOSWindows. Программы написаны на языках Turbo Pascal 7.0,
Turbo C++ 3.0.

4.2 Описание логической структуры

Описание логики программы с привязкой к строкам текста;
Основная программа Nuton.pas (Приложение А);
1 - Название программы;
2 - подключение библиотеки ввода-вывода и графической библиотеки;
4-8 - описание константы aa, bb, cc,dd,ee,mas;
9-11 - Описание переменных-
a и b –приближенные значения x и y, так же значения x и y на предыдущей
итерации;
e – число определяющее точность вычисления;
x и y – значения x и y на данном этапе итерации;
i – счётчик количества итерации;
m – максимальное количество итераций;
kon – переменная отвечающая за то, меньше ли e разницы между предыдущей
данной итерацией;
gd,gm – используются для инициализации графического режима;
12-15 - Функция вычисляющая f(x,y);
16-19 - Функция вычисляющая ... продолжение

Вы можете абсолютно на бесплатной основе полностью просмотреть эту работу через наше приложение.
Похожие работы
Методы численного интегрирования и приближения функций
Реализация Метода Бисекции и Графического Интерфейса на Основе Tkinter для Решения Систем Нелинейных Уравнений с Использованием Словаря и Игрового Интерфейса
Методы анализа и расчета нелинейных электрических цепей с использованием линейной аппроксимации и итерационных методов
Решение уравнения f(x) = 0 методом простой итерации на примере программирования в Turbo Pascal 7.0
Численные методы решения дифференциальных уравнений и пограничных задач
Математические методы оптимизации в управлении экономикой: линейное и нелинейное программирование с помощью MS Excel
Метод Гаусса и его приложения к решению систем линейных уравнений
Методы решения систем линейных уравнений: теоремы множества и метод Гаусса
Динамические Особенности Распространения Нелинейных Волн в Системах с Дисперсией: Уравнение Кортевега де Фриза и Его Решения
Алгоритм решения систем линейных уравнений методом конечных разностей: построение сетки и решение системы с помощью итерационных методов
Дисциплины