Нахождение нулей функции y=f(x) методом Ньютона
Рассмотрение процесса разработки системы нахождения нулей функции. Изучение вычисления корня уравнения методом Ньютона или касательных. Основы проектирования графического интерфейса пользователя и описание алгоритма, тестирование готовой программы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 23.02.2014 |
Размер файла | 1,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Министерство образования и науки Российской Федерации
Томский государственный университет систем управления и радиоэлектроники (ТУСУР)
Кафедра компьютерных систем в управлении и проектировании (КСУП)
Проект системы к курсовой работе
по дисциплине
"Вычислительная математика"
Выполнил:
студент гр. 580-1
Миронюк Д.К.
Руководитель проекта:
Шеерман Ф.И.
2013
Реферат
функция нуль ньютон касательное
Пояснительная записка содержит проектную документацию программной системы - "нахождение нулей функции y=f(x) методом Ньютона". Программа реализована в интегрированной среде разработки "Microsoft Visual Studio 2010" на языке Visual C#. Пояснительная записка составлена в текстовом редакторе Microsoft Offise 2010.
1. Название проекта
Тема данной курсовой работы - нахождение нулей функции y=f(x) методом Ньютона.
2. Краткое описание
Приложение с графическим интерфейсом пользователя, позволяющее находить нули функции y=f(x).
3. Анализ задания
3.1 Входные данные системы
Разрабатываемой системе должны поступать следующие данные от пользователя:
- выбор функции y=f(x) (тригонометрическая функция и полином);
- значение коэффициентов, вводимых с клавиатуры;
- задание интервала нахождения нулей функции y=f(x), (-10 ? x ? 10 );
- нажатие на кнопку графического пользовательского интерфейса для выполнения расчетов.
3.2 Выходные данные системы
Разрабатываемая система должна выдавать пользователю следующие данные:
- значение нулей функции y=f(x);
- график функции y=f(x).
4. Проектирование интерфейса пользователя
Был спроектирован пользовательский интерфейс, представленный на рисунке 4.1. Вся программа состоит из формы и модуля. Модуль содержит все методы, обрабатывающие действия пользователя. Был выбран тип архитектуры каркаса для данного приложения SDI, т.к. вся функциональность программы реализована в одном окне. Поскольку в языке C# нет стандартных элементов для построения графиков, пришлось подключить дополнительную библиотеку ZedGraph.dll, предоставляющую элемент для построения и обработки графиков.
Рисунок 4.1 - Спроектированный пользовательский интерфейс
функция нуль ньютон касательное
5. Описание алгоритма
Метод Ньютона, который называют ещё методом касательных или методом линеаризации. Это один из способов решения нелинейных уравнений. Перед его применением необходимо отделить корни уравнения одним из известных способов, например, графически. Будем считать, что корень t уравнения f(x)=0 отделён на отрезке [a,b]. Задача заключается в том, чтобы найти и уточнить этот корень методом касательных (Ньютона). Другими словами, требуется найти приближённое значение корня с заданной точностью е.
Формула для вычисления корня методом Ньютона имеет вид:
x(k+1) = xk-f(x(k))/f '(x(k))
В частности,
x(1)=x(0)-f(x(0))/f '(x(0))
Условие останова:
|x(k+1)-x(k)|<е.
Блок-схема алгоритма в общем виде приведена на рисунке 5.1.
Рисунок 5.1. - Блок-схема алгоритма метода Ньютона (касательных)
Введение
Тема данной курсовой работы - нахождение нулей функции y=f(x) методом Ньютона.
1. Анализ задания
1.1 Входные данные системы
Разрабатываемой системе должны поступать следующие данные от пользователя:
- выбор функции y=f(x) (тригонометрическая функция и полином);
- значение коэффициентов, вводимых с клавиатуры;
- задание интервала нахождения нулей функции y=f(x), (-10 ? x ? 10 );
- нажатие на кнопку графического пользовательского интерфейса для выполнения расчетов.
1.2 Выходные данные системы
Разрабатываемая система должна выдавать пользователю следующие данные:
- значение нулей функции y=f(x);
- график функции y=f(x).
1.3 Проектирование интерфейса пользователя
Был спроектирован пользовательский интерфейс, представленный на рисунке 2.1. Вся программа состоит из формы и модуля. Модуль содержит все методы, обрабатывающие действия пользователя. Был выбран тип архитектуры каркаса для данного приложения SDI, т.к. вся функциональность программы реализована в одном окне. Поскольку в языке C# нет стандартных элементов для построения графиков, пришлось подключить дополнительную библиотеку ZedGraph.dll, предоставляющую элемент для построения и обработки графиков.
Рисунок 1.1 - Спроектированный пользовательский интерфейс
1.4 Описание алгоритма
Метод Ньютона, который называют ещё методом касательных или методом линеаризации. Это один из способов решения нелинейных уравнений. Перед его применением необходимо отделить корни уравнения одним из известных способов, например, графически. Будем считать, что корень t уравнения f(x)=0 отделён на отрезке [a,b]. Задача заключается в том, чтобы найти и уточнить этот корень методом касательных (Ньютона). Другими словами, требуется найти приближённое значение корня с заданной точностью е.
Формула для вычисления корня методом Ньютона имеет вид:
x(k+1) = xk-f(x(k))/f '(x(k))
В частности,
x(1)=x(0)-f(x(0))/f '(x(0))
Условие останова:
|x(k+1)-x(k)|<е.
Блок-схема алгоритма в общем виде приведена на рисунке 1.1.
Рисунок 1.1. - Блок-схема алгоритма метода Ньютона (касательных)
2. Реализация
class MainForm - основной класс программы(графический интерфейс);
class Resources - класс объединяет необходимые ресурсы с графическим интерфейсом;
class Program - включает визуальные стили, задает значения по умолчанию, запускает и делает указанную форму видимой;
class NewtonMethod - реализация метода Ньютона;
class System.Math - класс предоставляет константы и статические методы для тригонометрических, логарифмических и иных общих матиматических формул.
3. Тестирование
Ниже приведены данные, на которых программа была протестирована. После процесса отладки программа стала реагировать адекватно.
Вычислить нули и построить график при частично заполненных коэффициентах.
Рисунок 3.1 - Окно "Ошибка вычисления нулей"
4. Тестирование алгоритма
1. Найдём нули и построим график функции
y=3*Sin(x + 2)
на интервале [-5;5]. Результаты вычислений представлены на рисунке 4.1.
Рисунок 4.1 - результаты вычислений теста 1.
Нули функции:
x = -4,0707963267842
y = -8,55498352280576E-11
x = -2,49999999996351
y = 2,91926482987037E-10
x = -0,929203673169925
y = -2,8142950058048E-10
x = 0,641592653623042
y = 2,65987140733032E-10
x = 2,21238898041734
y = -2,61194040137788E-10
x = 3,78318530721102
y = 2,51459114815333E-10
2. Найдём нули и построим график функции
y=1*Sin(3*x + 2)
на интервале [-5;5]. Результаты вычислений представлены на рисунке 4.2.
Рисунок 4.2 - результаты вычислений теста 2.
Нули функции:
x = -4,64159265357849
y = 2,26079384163178E-11
x = -3,0707963267833
y = -2,31975664263633E-11
x = -1,49999999996418
y = 7,16493531172091E-11
x = 0,0707963268294174
y = -6,90415388163342E-11
x = 1,64159265362304
y = 6,64967851832579E-11
x = 3,21238898041734
y = -6,52985100344471E-11
x = 4,78318530720975
y = 6,03299174940092E-11
3. Найдём нули и построим график функции
y= 1*x3-2*x2+2*x+1
на интервале [-10;10]. Результаты вычислений представлены на рисунке 4.3.
Рисунок 4.3 - результаты вычислений теста 3.
Нули функции:
x = -0,353210032142019
y = -2,57306588258288E-07
Заключение
В процессе проделанной работы было разработано приложение - нахождение нулей функции y=f(x) методом Ньютона, имеющее графический интерфейс пользователя.
Техническое задание было выполнено полностью. К разработтаной программе была составлена документация.
Список используемых источников
1. Шилдт. C#: учебный курс. - СПб.: Питер; К.: Издательская группа BHV, 2003. - 512 с.: ил.
2. URL: http://www.google.ru
3. Вычислительная математика: учеб.-методич. пособие / М.В. Черкашин, Л.И. Бабак - Томск: Томск. гос. ун-т систем упр. и радиоэлектроники, 2007. - 183 с.
Размещено на Allbest.ru
Подобные документы
Применение методов касательных (Ньютона) и комбинированного (хорд и касательных) для определения корня уравнения. Разработка алгоритма решения и его описание его в виде блок-схем. Тексты программ на языке Delphi. тестовый пример и результат его решения.
курсовая работа [923,7 K], добавлен 15.06.2013Определение недостатков итерационного численного способа нахождения корня заданной функции (метод Ньютона). Рассмотрение основ математического и алгоритмического решения поставленной задачи, ее функциональной модели, блок-схемы и программной реализации.
курсовая работа [364,8 K], добавлен 25.01.2010Определение минимума функции на заданном отрезке методами перебора, поразрядного поиска, дихотомии, золотого сечения и методом парабол. Нахождение и расчет нулей функции методом Ньютона. Построение графика данной функции, ее минимальное значение.
реферат [55,6 K], добавлен 09.04.2013Программный продукт, способный решать уравнения с одной переменной методом Ньютона (касательных). Он прост в эксплуатации, имеет интуитивно понятный интерфейс, выстраивает график уравнения, что очень важно для пользователя. Реализация решений в программе.
курсовая работа [169,3 K], добавлен 29.01.2009Численные методы решения нелинейных уравнений, используемых в прикладных задачах. Составление логической схемы алгоритма, таблицы индентификаторов и программы нахождения корня уравнения методом дихотомии и методом Ньютона. Ввод программы в компьютер.
курсовая работа [220,0 K], добавлен 19.12.2009Модифицированный метод Ньютона при заданных начальных условиях, где задаётся погрешность вычисления. Вычисления корня уравнения при помощи программы. Построения графика зависимости приближений двух координат, при котором задаются промежутки и константы.
реферат [14,1 K], добавлен 29.01.2009Этапы численного решения нелинейных уравнений заданного вида: отделение (изоляция, локализация) корней уравнения аналитическим или графическим способами, уточнение конкретного выделенного корня методом касательных (Ньютона). Решение в системе MathCad.
курсовая работа [271,6 K], добавлен 22.08.2012Изучение численных методов решения нелинейных уравнений, используемых в прикладных задачах. Нахождение корня уравнения методом простой итерации и методом касательных (на примере уравнения). Отделение корней графически. Программная реализация, алгоритм.
курсовая работа [1,7 M], добавлен 15.06.2013Написание приложения "Нахождение безусловного экстремума методом Ньютона" в среде Visual Studio 2010. Требования к аппаратному и программному обеспечению. Функциональное назначение программы, директивы предпроцессора и константы, руководство пользователя.
курсовая работа [456,3 K], добавлен 13.10.2014Проверить условие сходимости и записать расчетные формулы для нахождения корня уравнения. Составить блок-схему алгоритма, программу решения задачи. Вычисления определенного интеграла методом Симпсона. Построить график функции Y=1/sqr(3sin(x)+2cos(x)).
курсовая работа [29,6 K], добавлен 02.10.2008