5167

Реализация решения уравнения программным способом

Курсовая

Информатика, кибернетика и программирование

1. Постановка задачи В данном программном продукте необходимо реализовать решение на примере уравнения: y(x)=x3+a*x2+b*x+c. Вместо коэффициентов должны использоваться параметры a, b, c, которые принимают значения, вводимые пользователем. Для нахожде...

Русский

2012-12-04

157 KB

37 чел.

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

В данном программном продукте необходимо реализовать решение на примере уравнения: y(x)=x3+a*x2+b*x+c. Вместо коэффициентов должны использоваться параметры a, b, c, которые принимают значения, вводимые пользователем. Для нахождения корней, обязательным является указание промежутков, на которых определена функция, поэтому пользователь обязательно вводит промежутки функции n, m. Метод Ньютона является итерационным методом, следовательно, должна указываться погрешность вычисления ε. Обязательным является построение графика выбранной функции на заданном промежутке.


2. МАТЕМЕТИЧЕСКАЯ МОДЕЛЬ

Дисциплина "Численные методы" содержит набор методов и алгоритмов приближенного (численного) решения разнообразных математических задач, для которых точное аналитическое решение либо не существует, либо слишком сложно для использования на практике. При численном решении задач всегда возникает погрешность.

Выделяют абсолютную и относительную погрешность. Пусть р – точное значение искомого ответа, а p – приближённое значение, полученное с помощью численного метода.

Тогда  – абсолютная погрешность,

– относительная погрешность.

На первом этапе необходимо найти отрезок [a,b], на котором функция имеет ровно один корень. На втором этапе происходит уточнение корня на отрезке с заданной точностью с помощью одного из численных методов.

Метод, реализуемый в РУОП, называется методом Ньютона. Другое название метода – метод касательных.

Начальное условие:

Дано:

уравнение f(x) =0,

где f(x) C'' [m,n], f(m) f(n) <0,

f(x) и f''(x) знакопостоянны на отрезке [m,n] ;

точность .

Найти: решение уравнения с заданной точностью.

Пусть корень  где  – некоторое приближение к корню,  – необходимая поправка. Разложим f(x) линейно в ряд Тейлора в окрестности xn (что соответствует замене функции в точке на касательную):

f(ξ) =0=f(xi+hi) ≈f(xi) +f'(xi) hi.

Отсюда:

.

Закон получения приближений к корню:

(2.1)

Начальное приближение x0 выбирается из условия:

. (2.2)

Графическая иллюстрация метода приведена на рисунке 2.1. Начальная точка в этом случае совпадает с n.

Рисунок 2.1. – Метод Ньютона

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

Алгоритм метода.

Шаг 1. Найти первое приближение к корню x0 по формуле (2.2).

Шаг 2. Находить следующие приближения к корню по формуле (2.1), пока не выполнится условия окончания:

|xi-xi+1|<.

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


3. ОПИСАНИ ПРОГРАММНОЙ РЕАЛИЗАЦИИ

3.1 Информационные потоки

Для наглядности работы программы, движению информации и взаимодействия программной части с аппаратной, разработана схема информационных потоков (рисунок 3.1).

ПРОГРАММА

Рисунок 3.1 – Схема информационных потоков


3.2. Описание функционирования программы

При запуске программы на экране появляется титульный лист, отображающий информацию о студенте; далее осуществляется ввод коэффициентов уравнения и интервалов определения функции:

Рисунок 3.2 – Схема функционирования программы

3.3. Описание процедур и функций программы

Function F () – Вычисление функции F(x);

Function F1 () – Вычисление первой производной функции F’(x);

Function F2 () – Вычисление второй производной функции F’’(x);

Procedure Newton () – Вычисление приближения к корню функции F(x)


3.5. Перечень обозначений

3.5.1 Обозначения вводимых данных

n, m, – промежутки функции;

a, b, c – коэффициенты уравнения, представленные в виде параметров;

eps – погрешность, аналог ε в разделе "Описании математической модели" и в разделе "Описание (и обоснование выбора) метода решения".

3.5.2 Обозначения выводимых данных

y(x)=x3+a*x2+b*x+c – уравнене используемое в программе;

x – неизвестная, корень уравнения;

x^2 – неизвестная x в степени 2.

x^3 – неизвестная x в степени 3.

3.6 Входные и выходные данные

3.6.1 Входные данные

n, m: real – левый и правый промежутки функции соответственно;

a, b, c: real – параметры, коэффициенты уравнения;

eps: real – погрешность;

3.6.2 Выходные данные

x1: real – значение корня уравнения;

k: integer – количество итераций.

3.6.3 Промежуточные данные

tmp:real – Проверка водимых значений.

k: integer – счетчик итераций.

check: integer – проверка вводимых значений

flag: Boolean – служебная переменная проверки значений

3.7. Алгоритм решения задачи

3.7.1. Алгоритм нахождения корня уравнения y(x)=x3+a*x2+b*x+c

Алгоритм решения уравнения вида y(x)=x3+a*x2+b*x+c приводится на рисунке 3.4.

4. ТЕСТОВЫЕ ПРИМЕРЫ

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

Тестовые примеры для решения уравнения вида y(x)=x3+a*x2+b*x+c приводятся в таблице 4.1.

Таблица 4.1. Тестовые примеры для уравнения вида y(x) =a*x^2+b*x+c

m

n

a

b

c

E

Результат

-2

2

5

29

3

0.001

-0.105

-6

-3

5

3

5

0.001

-4.1583

5

20

5

29

4

0.01

Уравнение не имеет корня

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

При введении в программу интервалов, при которых отсутствует решение, будет появляться сообщение "Интервал выбран не корректно, введите интервал снова", пока не будет введен правильные интервал, соответствующий требованиям программы.


ВЫВОДЫ

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

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

Однако ощутимыми недостатками являются расчёт результатов всего для одной функции.

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


ПЕРЕЧЕНЬ ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

1. Фаронов В.В. "Turbo Pascal 7.0. Начальный курс": учебное пособие. – М.: Кнорус, 2006. – 576 с.

2. Сухарёв М. Turbo Pascal 7.0. Теория и практика программирования. – СПб: "Наука и техника", 2003. – 576 с.

3. Конспект лекций по курсу «Информатика и программирование».


x

(x) 

m

n


 

А также другие работы, которые могут Вас заинтересовать

35843. Математические методы анализа экономики 565 KB
  Этот метод называют также методом последовательного улучшения решения плана. Решить задачу методом больших штрафов РЕШЕНИЕ: Для построения первого опорного плана систему неравенств приведем к системе уравнений путем введения дополнительных переменных переход к канонической форме. Из уравнений выражаем искусственную переменную: которую подставим в целевую функцию: Или Базисные переменные х4 х6 Свободные переменные х1 х2 х3 х5 Полагая что свободные переменные равны 0 получим первый опорный план: X1 = 0008010 Базисное...
35844. Функция полезности: определения свойства 538.06 KB
  Самая распространенная функция КоббаДугласа: g = fLK = 0 Одна из задач фирмы заключается в определении количества продукции и в расчете необходимых для ее выпуска затрат с учетом технологической связи между ними и заданными ценами на затраты и продукцию. Модель фирмы в условиях совершенной конкуренции. Неоклассическая теория фирмы построена на предположении что цель фирмы заключается в максимизации прибыли путем выбора вида затрат при заданной ПФ и заданных ценах на продукцию и затраты. Модель фирмы в условиях олигополии.
35847. СРАВНИТЕЛЬНЫЙ АНАЛИЗ ТЕХНОЛОГИЙ РАСШИРЕНИЯ WEB-СЕРВЕРОВ 236 KB
  Диаграммы Use Cse =диаграммы прецедентов диаграммы вариантов использования Диаграмма Use Cse определяет поведение системы с точки зрения пользователя. Диаграмма Use Cse рассматривается как главное средство для первичного моделирования динамики системы используется для выяснения требований к разрабатываемой системе фиксации этих требований в форме которая позволит проводить дальнейшую разработку. Вершинами в диаграмме Use Cse являются актеры и элементы Use Cse. Элементы Use Cse представляют действия выполняемые системой в интересах...
35848. ОБЩИЕ СВЕДЕНИЯ О ЦИФРОВЫХ АВТОМАТАХ. Функционирование цифрового автомата в дискретном времени 213.5 KB
  ОБЩИЕ СВЕДЕНИЯ О ЦИФРОВЫХ АВТОМАТАХ. функционирование цифрового автомата в дискретном времени. Отличительной особенностью дискретного автомата является дискретное множество внутренних состояний и скачкообразность перехода из одного состояния в другое. В реальных автоматах множество внутренних состояний всегда конечно поэтому дискретные автоматы часто называют конечными автоматами или просто автоматами.
35849. Коммутаторы: принцип работы. Основные и дополнительные характеристики 192 KB
  Эту информацию записывает в кадр станцияисточник кадра с помощью своего сетевого адаптера который реализует алгоритм маршрутизации от источника source routing. На данный момент обеспечиваются скорости от нескольких десятков кбит с например GPRS 115 кбит с Протоколы маршрутизации. Протоколы маршрутизации например RIP OSPF NLSP следует отличать от собственно сетевых протоколов например IP IPX. Протоколы маршрутизации используют сетевые протоколы как транспортное средство.
35851. Конституційне право України 193.5 KB
  До таких актів належать: Конституція України основне джерело права; конституційні закони закони що вносять зміни й доповнення до Конституції або скасовують її окремі норми; органічні закони закони прийняття яких передбачено в Конституції; поточні закони що містять конституційноправові принципи й норми; інші акти Верховної Ради України та акти Всеукраїнського референдуму; певні нормативні акти Президента України; деякі нормативні постанови Кабінету Міністрів України; рішення та висновки Конституційного Суду...