На бирже курсовых и дипломных проектов можно найти образцы готовых работ или получить помощь в написании уникальных курсовых работ, дипломов, лабораторных работ, контрольных работ, диссертаций, рефератов. Так же вы мажете самостоятельно повысить уникальность своей работы для прохождения проверки на плагиат всего за несколько минут.

ЛИЧНЫЙ КАБИНЕТ 

 

Здравствуйте гость!

 

Логин:

Пароль:

 

Запомнить

 

 

Забыли пароль? Регистрация

Повышение уникальности

Предлагаем нашим посетителям воспользоваться бесплатным программным обеспечением «StudentHelp», которое позволит вам всего за несколько минут, выполнить повышение уникальности любого файла в формате MS Word. После такого повышения уникальности, ваша работа легко пройдете проверку в системах антиплагиат вуз, antiplagiat.ru, etxt.ru или advego.ru. Программа «StudentHelp» работает по уникальной технологии и при повышении уникальности не вставляет в текст скрытых символов, и даже если препод скопирует текст в блокнот – не увидит ни каких отличий от текста в Word файле.

Результат поиска


Наименование:


Диплом Автоматизация решения систем нелинейных уравнений на Borland C++

Информация:

Тип работы: Диплом. Предмет: Программирование. Добавлен: 26.02.2012. Страниц: 56 + ПО. Уникальность по antiplagiat.ru: < 30%

Описание (план):



Содержание
Введение 2
1. Аналитический обзор 3
1.1. Методы решения систем нелинейных уравнений 3
1.1.1. Метод простой итерации 3
1.1.2. Метод Зейделя 4
1.1.3. Метод Ньютона-Рафсона 4
1.2. Штрафные функции 7
1.2.1. Понятие штрафных функций 7
1.2.2. Основные типы штрафов 8
1.2.3. Выбор штрафного параметра 12
1.2.4. Алгоритмы 14
1.3. Градиентные методы поиска минимума 15
1.3.1. Метод наискорейшего спуска (метод Коши) 18
1.3.2. Метод Ньютона (МН) 20
1.3.3. Модифицированный метод Ньютона 21
1.3.4. Метод Марквардта (ММ) (1963 г.) 22
1.3.5. Метод сопряженных градиентов (МСГ) 24
1.3.6. Метод Флетчера–Ривза (МФР) 26
1.3.7. Сравнение методов безусловной оптимизации 27
2. Формальная постановка задачи 31
3. Выбор и обоснование алгоритма 32
4. Выбор и обоснование программной реализации 33
5. Реализация контрольного примера решения задачи 36
6. Документы по программному обеспечению 38
6.1. Назначение программы 38
6.2. Требования к надежности 38
6.3. Требования к условиям эксплуатации 38
6.4. Требования к составу и параметрам технических средств 38
6.5. Требования к информационной и программной совместимости 39
Заключение 40
Список использованных источников 41
Приложения 42


Введение
Многие современные задачи приводят к необходимости применять численные методы, в частности – решать системы нелинейных алгебраиче-ских уравнений.
Системы n линейных уравнений с n неизвестными x1, x2, ..., xn в общем случае принято записывать следующим образом:
,
где F1, F2,…, Fn – любые функции независимых переменных, в том чис-ле и нелинейные относительно неизвестных.
Как и в случае систем линейных уравнений, решением системы являет-ся такой вектор (или векторы) (X*), который при подстановке обращает од-новременно все уравнения системы в тождества.

Система уравнений может не иметь решений, иметь единственное ре-шение, конечное или бесконечное количество решений. Вопрос о количестве решений должен решаться для каждой конкретной задачи отдельно.
Тема данной дипломной работы «Программная реализация и исследо-вание поиска действительных корней систем нелинейных уравнений»
Цель работы – разработать алгоритм решения систем нелинейных уравнений и реализовать его на языке программирования C++.

1. Аналитический обзор
1.1. Методы решения систем нелинейных уравнений
1.1.1. Метод простой итерации

Для реализации этого метода решаемую систему уравнений необходи-мо путем алгебраических преобразований привести к следующему виду, вы-разив из каждого уравнения по одной переменной следующим образом:

Выбирая затем вектор начального приближения

подставляют его в преобразованную систему уравнений. Из первого уравнения получают новое приближение к первой переменной, из второго – второй и т. д. Полученное уточненное значение переменных снова подстав-ляют в эти уравнения и т.д.Таким образом, на (i+1)-м шаге итерационной процедуры имеем


1.1.2. Метод Зейделя

Модификация Зейделя алгоритма простой итерации заключается в ис-пользовании уточненных значений переменных уже на текущем итерацион-ном шаге. Так, для уточнения значений первой переменной используются только значения предыдущего шага, для второй переменной – значение x1 те-кущего шага, а остальных – от предыдущего и т.д.:


1.1.3. Метод Ньютона-Рафсона

Математической основой метода является линеаризация функций F1, F2, Fn путем разложения в ряд Тейлора в окрестности точки начального при-ближения к решению и пренебрежением всеми членами ряда кроме линей-ных относительно приращений переменных.
Для одной переменной ряд Тейлора в окрестности некоторой точки x = x0 выглядит так:

Для функции F1 n переменных линейная часть разложения в ряд Тей-лора в окрестности точки (х10, х20, …, хn0) получается аналогичным обра-зом

Введем следующие обозначения:
– приращение i-переменной

значение первой частной производной j-й функции по переменной xi при значении переменных (х10, х20, …, хn0).
Fj – значение j-й функции при значении переменных (х10, х20, …, хn0).
После преобразования получим систему линейных уравнений порядка n относительно приращения переменных Δxi

Или, в матричной форме,

В сокращенном виде можно записать так - (F)(Δx) = -(F) , где матрица значений частных производных – (F) – называется матрицей Якоби или яко-бианом системы уравнений.
Решение этой системы дает вектор поправок к начальному приближе-нию. Сложение его с вектором начального приближения дает новые, уточ-ненные значения переменных.

Итерационная процедура далее продолжается аналогично.
Таким образом, алгоритм решения выглядит следующим образом:
1. Выбирается начальное приближения, система приводится к стан-дартному виду.
2. Рассчитывается матрица Якоби значений частных производных в точке начального приближения
3. Решается система линейных уравнений относительно приращений переменных.
4. К вектору начального приближения прибавляется вектор прираще-ний
5. Проверяется условие сходимости к решению и, если оно не достиг-нуто, то процедура повторяется с п.2 .
Частные производные, необходимые для расчета матрицы Якоби, мож-но рассчитать аналитически или же, если это невозможно или затруднитель-но, получать по формулам приближенного дифференцирования, например, как отношение приращения функции к приращению аргумента

где эпсилон – достаточно малое число.
1.2. Штрафные функции
1.2.1. Понятие штрафных функций

Штрафная функция (ШФ) определяется выражением:
(1)
где - набор штрафных параметров,
- штраф – функция и ограничений,
.
Выражение для штрафа определяется таким образом, чтобы допус-тимые точки задачи имели преимущество перед недопустимыми в отноше-нии безусловной минимизации ШФ.
Методы внутренней точки связаны с такими , при которых стацио-нарные точки функции оказываются заведомо допустимыми. Эти ме-тоды называют также методами барьеров, поскольку здесь штраф как бы соз-дает вдоль границы допустимой области барьер из бесконечно больших значений функции ...................


Заключение

Решение систем нелинейных уравнений – это проблема, с которой час-то сталкиваются исследователи при решении уравнений в частных производ-ных, алгебраической геометрии, решении задач оптимизации. Отсутствие единого подхода к решению таких задач приводило к созданию многочис-ленных решателей, в том числе и в рамках известных систем Maple, Mathematica. Особенность таких решателей заключается в том, что в них все-гда включается некоторый итеративный алгоритм локального типа.
В дипломной работе рассмотрены методы решения систем нелинейных уравнений, разработан алгоритм решения при помощи штрафной функции методом наискорейшего спуска.
Программа реализована в среде программирования Borland C++ Builder.


Список использованных источников

Джаррод Холингворт, Borland C++ Builder 6. Руководство разработчи-ка, 2004 - 976 с.
Саймон Р., Windows 2000 API. Энциклопедия программиста, К: "Диа-Софт", 2001 – 1088 с.
Фролов А.В., Фролов Г.В. «Программирование для Windows NT». - М: Диалог-МИФИ, 2006 - 271 с.



Приложения

//---------------------------------------------------------------------------

#include
#pragma hdrstop

#include "Main.h"
#include

//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
double f(double *); // целевая функция
double df1(double *); // первая частная производная по x1
double df2(double *); // первая частная производная по x2

//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)................






Перейти к полному тексту работы


Скачать работу с онлайн повышением уникальности до 90% по antiplagiat.ru, etxt.ru или advego.ru


Смотреть похожие работы


* Примечание. Уникальность работы указана на дату публикации, текущее значение может отличаться от указанного.