Банк рефератов содержит более 364 тысяч рефератов, курсовых и дипломных работ, шпаргалок и докладов по различным дисциплинам: истории, психологии, экономике, менеджменту, философии, праву, экологии. А также изложения, сочинения по литературе, отчеты по практике, топики по английскому.
Полнотекстовый поиск
Всего работ:
364139
Теги названий
Разделы
Авиация и космонавтика (304)
Административное право (123)
Арбитражный процесс (23)
Архитектура (113)
Астрология (4)
Астрономия (4814)
Банковское дело (5227)
Безопасность жизнедеятельности (2616)
Биографии (3423)
Биология (4214)
Биология и химия (1518)
Биржевое дело (68)
Ботаника и сельское хоз-во (2836)
Бухгалтерский учет и аудит (8269)
Валютные отношения (50)
Ветеринария (50)
Военная кафедра (762)
ГДЗ (2)
География (5275)
Геодезия (30)
Геология (1222)
Геополитика (43)
Государство и право (20403)
Гражданское право и процесс (465)
Делопроизводство (19)
Деньги и кредит (108)
ЕГЭ (173)
Естествознание (96)
Журналистика (899)
ЗНО (54)
Зоология (34)
Издательское дело и полиграфия (476)
Инвестиции (106)
Иностранный язык (62791)
Информатика (3562)
Информатика, программирование (6444)
Исторические личности (2165)
История (21319)
История техники (766)
Кибернетика (64)
Коммуникации и связь (3145)
Компьютерные науки (60)
Косметология (17)
Краеведение и этнография (588)
Краткое содержание произведений (1000)
Криминалистика (106)
Криминология (48)
Криптология (3)
Кулинария (1167)
Культура и искусство (8485)
Культурология (537)
Литература : зарубежная (2044)
Литература и русский язык (11657)
Логика (532)
Логистика (21)
Маркетинг (7985)
Математика (3721)
Медицина, здоровье (10549)
Медицинские науки (88)
Международное публичное право (58)
Международное частное право (36)
Международные отношения (2257)
Менеджмент (12491)
Металлургия (91)
Москвоведение (797)
Музыка (1338)
Муниципальное право (24)
Налоги, налогообложение (214)
Наука и техника (1141)
Начертательная геометрия (3)
Оккультизм и уфология (8)
Остальные рефераты (21692)
Педагогика (7850)
Политология (3801)
Право (682)
Право, юриспруденция (2881)
Предпринимательство (475)
Прикладные науки (1)
Промышленность, производство (7100)
Психология (8692)
психология, педагогика (4121)
Радиоэлектроника (443)
Реклама (952)
Религия и мифология (2967)
Риторика (23)
Сексология (748)
Социология (4876)
Статистика (95)
Страхование (107)
Строительные науки (7)
Строительство (2004)
Схемотехника (15)
Таможенная система (663)
Теория государства и права (240)
Теория организации (39)
Теплотехника (25)
Технология (624)
Товароведение (16)
Транспорт (2652)
Трудовое право (136)
Туризм (90)
Уголовное право и процесс (406)
Управление (95)
Управленческие науки (24)
Физика (3462)
Физкультура и спорт (4482)
Философия (7216)
Финансовые науки (4592)
Финансы (5386)
Фотография (3)
Химия (2244)
Хозяйственное право (23)
Цифровые устройства (29)
Экологическое право (35)
Экология (4517)
Экономика (20644)
Экономико-математическое моделирование (666)
Экономическая география (119)
Экономическая теория (2573)
Этика (889)
Юриспруденция (288)
Языковедение (148)
Языкознание, филология (1140)

Контрольная работа: Решение нелинейных уравнений методом интераций

Название: Решение нелинейных уравнений методом интераций
Раздел: Рефераты по информатике
Тип: контрольная работа Добавлен 07:47:01 12 декабря 2010 Похожие работы
Просмотров: 19 Комментариев: 20 Оценило: 2 человек Средний балл: 5 Оценка: неизвестно     Скачать

Оглавление

Введение

1. Теоретическая часть

2. Практическая реализация

2.1 Проектирование интерфейса

2.2 Программирование вычисления

2.3 Визуализация метода

2.4 Вычислительный эксперимент

Заключение

Перечень используемой литературы


Введение

Данный проект разработан для вычисления коней нелинейного уравнения методом итераций. Программа написана на языке высокого уровня Delphi.

Пояснительная записка состоит из следующих разделов:

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

2 Практическая реализация:

2.1 Проектирование интерфейса – создание и описание элементов (частей) из которых состоит данная программа.

2.2 Программирование вычисления – конечный результата работы.

2.3 Визуализация метода – последовательный показ работы проекта на вычисление корней уравнения методом итераций

2.4 Вычислительный эксперимент – сравнение результатов программы с решением в математическом пакете Mathcad 14.

3 Заключение о проделанной работе.


1. Теоретическая часть

Часто приходится находить корни уравнений вида , где f(x) определена и непрерывна на некотором интервале.

Если f(x) представляет собой многочлен, то уравнение - алгебраическое, если в функцию входят функции типа: тригонометрических, логарифмических, показательных и т.п., то уравнение называется трансцендентным.

Решение уравнения вида разбивается на два этапа:

1. отделение корней, т.е. отыскание достаточно малых областей, в каждой из которых заключен один и только один корень уравнения;

2. вычисление выделенного корня с заданной точностью.

Первый этап более сложный, в этом случае может помочь построение приближенного графика функции с анализом на монотонность, смену знака, выпуклость и т.д.

Для вычисления выделенного корня существует множество методов, например:

- метод итераций;

- метод половинного деления;

- метод Ньютона.

На рисунке 1 представлен график функции y=x-2+sin(1/x)

Рис. 1

В данной курсовой работе будет рассмотрено нахождение корней уравнения x-2+sin(1/x)=0 методом итераций.

Уравнение можно представить в виде: . То есть

x-2+sin(1/x)=0→ x=2-sin(1/x)

Далее на отрезке [a,b], где функция имеет корень, выбирается произвольная точка x0 и далее последовательно вычисляется:

Процесс вычисления значений xk называется итерационным процессом.

Если на отрезке [a,b] выполнено условие |φ΄(x)| ≤ q <1, то итерационный процесс сходится к корню уравнения .

Если необходимо вычислить корень с точностью ε, то процесс итераций продолжается до тех пор, пока для двух последовательных приближений xn и xn -1 не будет выполнено:

,

где ε задается погрешностью корня x*.

Соответственно описанной выше методике составим блок–схему решения уравнения методом итераций[2].


2 Практическая реализация

2.1 Проектирование интерфейса

Сначала создадим главное окно программы, без которой нам никак нельзя обойтись [1]. Сделаем в нем главное меню, состоящее из пунктов «Визуализация», «Исследование», «Титульный лист», «Выход». Далее нам будет необходимы поля для ввода и вывода данных, создадим поля «Начало промежутка», «Конец промежутка», «Точность», а так же поле «Корень», в которое после нажатия кнопки «Решение» будет выводиться ответ. Это окно будет являться опорным пунктом для наших дальнейших действий. Обозначим его как Form1.(Рис. 2)

Рис. 2. Form1

Далее, создадим другие «формы» для последующей работы, на которые в дальнейшем просто будем ссылаться:

· окно для визуализации метода итераций – Form2. Выводится при выборе пункта меню «Визуализация»:

Рис. 3. Form2

При нажатии на кнопку «Итерации» появится график, отражающий итерационный процесс

· окно заставки, появляющееся при запуске программы – Form3:

Рис.3. Form3

· окно титульного листа – Form4:

Рис.4. Form4

Теперь, после того как мы создали все необходимые формы, можем приступать к создании программного кода, в котором будем ссылаться на каждую из них [4]. В этом коде нам необходимо будет:

¾ для Form1 - обеспечить безошибочное подключение ко всем остальным формам.

¾ для Form2 -обеспечить вывод графика и визуализацию итерационного процесса.

¾ для Form3, Form4- включить в программу.

2.2 Программирование вычисления

Для вычисления корней уравнения используется подпрограмма – функция iter(x0,xk,eps:real): real. Она составлена по блок схеме представленной выше (1 теоритическая часть). Функции нужно сообщить начало и конец промежутка, результат функции корень уравнения;

function iter(x0,xk,eps:real): real;

var

x1,y,d,j:real;

begin

x1:=x0;

repeat

if (fnsh(x1)<1)then begin

y:=form1.fn(x1);

d:=abs(y-x1);

x1:=y;

end else begin

j:=messagedlg('Задайте другое начало промежутка',mtinformation,[mbok],0);

break;

end;

until (d<=eps)or (x1>=xk);

if x1>=xk then

j:=messagedlg('На заданном промежутке корней нет!',mtinformation,[mbok],0)

else

iter:=y;

end;

Уравнение задано подпрограммой – функцией tform1.fn(x:real): real

function tform1.fn(x:real): real;

begin

fn:=2-sin(1/x);

end;

Производная задана подпрограммрй – функцией fnsh(x:real): real;

function fnsh(x:real): real;

begin

fnsh:=cos(1/x)/sqr(x);

end;

В обоих случаях начальные данные это значение переменной x. В первом случае результат значение функции, во втором значение производной функции.

2.3 Визуализация метода

В главном окне выберем пункт меню «Визуализация»;

Перед нами появляется окно, где демонстрируется график функции, изоброженного красным цветом, при этом предусмотрена возможность визуализации итерационного процесса, зеленым цветом, посредством нажатия кнопки «Итерации».

Построение графика осуществляется в ниже следующем программном коде:

procedure TForm2.FormCreate(Sender: TObject);

var

i:real;

begin

series1.Clear;

Series2.Clear;

i:=1;

While i<=1.5 do begin

if i<>0 then

series1.AddXY(i,i-2+sin(1/i),'',clred);

i:=i+0.0001;

end;

end;

График строится в момент создания Form2. Построение ведется на промежутке от 1 до 1,5. В цикле переменная i меняется в этих пределах с шагом 0,0001, и строится график от значения переменной i.

При нажатии кнопки итерации выполнятся следующий код:

procedure TForm2.Button1Click(Sender: TObject);

begin

x1:=strtofloat(form1.labelededit1.text);

xk :=strtofloat(form1.labelededit2.text);

eps:=strtofloat(form1.labelededit3.text);

series2.Clear;

Timer1.Enabled:=true;

end;

После чего запускается таймер, который повторяет свои действия через определенный промежуток времени.

procedure TForm2.Timer1Timer(Sender: TObject);

begin

y:=form1.fn(x1);

series2.AddXY(x1,y-x1,'',clgreen);

d:=abs(y-x1);

x1:=y;

if d<eps then timer1.Enabled:=false;

end;

Здесь строится итерационная кривая, показывающая последовательное приближение к корню уравнения до определенной точности. Основой кода построения итерационной кривой является блок – схема из теоретической части.

2.4 Вычислительный эксперимент

Запуская программу, появляется заставка:

Рис.5. Заставка

Спустя 2 секунды окно заставки закрывается и появляется главное окно программы:

Рис.6. Главное окно

На нем, как и задумывалось, обозначены: главное меню состоящее из пунктов «Визуализация», «Титульный лист», «Выход», а также поля «Начало промежутка», «Конец промежутка», «Точность», а также поле «Корень», в которое после нажатия кнопки «Решение» будет выводится ответ.

Выбирая «Титульный лист», открывается окно, из которого узнаем о назначении программы, ее разработчике, а так же о проверяющем преподавателе.

Рис. 7 Титульный лист.

В поля, расположенные в главном окне вводим соответствующие их названию данные, после чего нажимаем кнопку «Решение» и получаем результат. В программном коде предусмотрена обработка исключительных ситуаций, при возникновении которых выводится информационное окно с рекомендациями по устранению возникших неполадок.

Выбирая пункт меню «Исследование», мы открываем окно, где приведены результаты решения уравнения в математическом пакете Mathcad 14 и в созданной мной программе, а также разность этих значений:

Рис.16. Исследование

Результаты записываются в текстовый Файл «issled.txt»

Выбирая пункт меню «Визуализация», отображается график уравнения и при нажатии кнопки итнрации отображается итерационная кривая:

Рис. 8 Визуализация.


Заключение

Разработан проект по вычислению корней нелинейных уравнений методом итераций, в среде программирования Delphi.

Спроектирован интерфейс программы и написан программный код на языке высокого уровня.

Проведена визуализация метода.

Также произведен вычислительный эксперимент и сравнение результатов решения полученных в математическом пакете Mathcad 14 и методом итераций. При подстановке в уравнение полученных корней значения функции более близки к нулю у корня, полученного в Mathcad 14, но стоит отметить, что значения корня совпадают до заданной точности.


Перечень используемой литературы

1. Бобровский С.И. Delphi7. Учебный курс. – СПб.: Питер, 2003. – 736 с.

2. Информатика. Базовый курс. 2-е издание/Под ред. С.В. Симоновича. – СПб.: Питер, 2005. – 640 с.

3. Пискунов Н.С. Дифференциальное и интегральное исчисления: Учебник для втузов. В 2-х т. Т.1: - М.: Интеграл – Пресс, 2001. – 416 с.

4. Фаронов В.В. Delphi. Программирование на языке высокого уровня. Учебник для вузов. – СПб.: Питер, 2003. – 640 с.

Оценить/Добавить комментарий
Имя
Оценка
Комментарии:
Хватит париться. На сайте FAST-REFERAT.RU вам сделают любой реферат, курсовую или дипломную. Сам пользуюсь, и вам советую!
Никита11:12:13 04 ноября 2021
.
.11:12:11 04 ноября 2021
.
.11:12:09 04 ноября 2021
.
.11:12:06 04 ноября 2021
.
.11:12:03 04 ноября 2021

Смотреть все комментарии (20)
Работы, похожие на Контрольная работа: Решение нелинейных уравнений методом интераций

Назад
Меню
Главная
Рефераты
Благодарности
Опрос
Станете ли вы заказывать работу за деньги, если не найдете ее в Интернете?

Да, в любом случае.
Да, но только в случае крайней необходимости.
Возможно, в зависимости от цены.
Нет, напишу его сам.
Нет, забью.



Результаты(294402)
Комментарии (4230)
Copyright © 2005 - 2024 BestReferat.ru / реклама на сайте