Нахождение нулей функции y=f(x) методом Ньютона

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    757,07 Кб
  • Опубликовано:
    2013-11-07
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Нахождение нулей функции y=f(x) методом Ньютона

Министерство образования и науки Российской Федерации

Томский государственный университет систем управления и радиоэлектроники (ТУСУР)

Кафедра компьютерных систем в управлении и проектировании (КСУП)







Проект системы к курсовой работе

по дисциплине

"Вычислительная математика"


Выполнил:

студент гр. 580-1

Миронюк Д.К.

Руководитель проекта:

Шеерман Ф.И.




Реферат

функция нуль ньютон касательное

Пояснительная записка содержит проектную документацию программной системы - "нахождение нулей функции y=f(x) методом Ньютона". Программа реализована в интегрированной среде разработки "Microsoft Visual Studio 2010" на языке Visual C#. Пояснительная записка составлена в текстовом редакторе Microsoft Offise 2010.

1. Название проекта

Тема данной курсовой работы - нахождение нулей функции y=f(x) методом Ньютона.

. Краткое описание

Приложение с графическим интерфейсом пользователя, позволяющее находить нули функции y=f(x).

. Анализ задания

.1 Входные данные системы

Разрабатываемой системе должны поступать следующие данные от пользователя:

выбор функции y=f(x) (тригонометрическая функция и полином);

значение коэффициентов, вводимых с клавиатуры;

задание интервала нахождения нулей функции y=f(x), (-10 ≤ x ≤ 10 );

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

.2 Выходные данные системы

Разрабатываемая система должна выдавать пользователю следующие данные:

значение нулей функции y=f(x);

график функции y=f(x).

. Проектирование интерфейса пользователя

Был спроектирован пользовательский интерфейс, представленный на рисунке 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))

В частности,

(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))

В частности,

(1)=x(0)-f(x(0))/f '(x(0))

Условие останова:

|x(k+1)-x(k)|<ε.


Рисунок 1.1. - Блок-схема алгоритма метода Ньютона (касательных)

2. Реализация

MainForm - основной класс программы(графический интерфейс);Resources - класс объединяет необходимые ресурсы с графическим интерфейсом;

class Program - включает визуальные стили, задает значения по умолчанию, запускает и делает указанную форму видимой;NewtonMethod - реализация метода Ньютона;

class System.Math - класс предоставляет константы и статические методы для тригонометрических, логарифмических и иных общих матиматических формул.

3. Тестирование

Ниже приведены данные, на которых программа была протестирована. После процесса отладки программа стала реагировать адекватно.

Вычислить нули и построить график при частично заполненных коэффициентах.

Рисунок 3.1 - Окно "Ошибка вычисления нулей"

4. Тестирование алгоритма

. Найдём нули и построим график функции

=3*Sin(x + 2)

на интервале [-5;5]. Результаты вычислений представлены на рисунке 4.1.

Рисунок 4.1 - результаты вычислений теста 1.

Нули функции:

= -4,0707963267842= -8,55498352280576E-11= -2,49999999996351= 2,91926482987037E-10= -0,929203673169925= -2,8142950058048E-10= 0,641592653623042= 2,65987140733032E-10= 2,21238898041734= -2,61194040137788E-10= 3,78318530721102= 2,51459114815333E-10

. Найдём нули и построим график функции

y=1*Sin(3*x + 2)

на интервале [-5;5]. Результаты вычислений представлены на рисунке 4.2.

Рисунок 4.2 - результаты вычислений теста 2.

Нули функции:

x = -4,64159265357849= 2,26079384163178E-11= -3,0707963267833= -2,31975664263633E-11= -1,49999999996418= 7,16493531172091E-11= 0,0707963268294174= -6,90415388163342E-11= 1,64159265362304= 6,64967851832579E-11= 3,21238898041734= -6,52985100344471E-11= 4,78318530720975= 6,03299174940092E-11

3. Найдём нули и построим график функции

y= 1*x3-2*x2+2*x+1

на интервале [-10;10]. Результаты вычислений представлены на рисунке 4.3.

Рисунок 4.3 - результаты вычислений теста 3.

Нули функции:

= -0,353210032142019= -2,57306588258288E-07

Заключение

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

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

Список используемых источников

1.       Шилдт. C#: учебный курс. - СПб.: Питер; К.: Издательская группа BHV, 2003. - 512 с.: ил.

2.       URL: http://www.google.ru

3.       Вычислительная математика: учеб.-методич. пособие / М.В. Черкашин, Л.И. Бабак - Томск: Томск. гос. ун-т систем упр. и радиоэлектроники, 2007. - 183 с.

Похожие работы на - Нахождение нулей функции y=f(x) методом Ньютона

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!