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


 

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

47796. ТЕОРІЯ ЙМОВІРНОСТЕЙ І МАТЕМАТИЧНА СТАТИСТИКА 5.91 MB
  Класичне означення ймовірності появи події Ймовірність одне з основних понять теорії ймовірностей. Знайти ймовірність встановлення верстату що виготовлений: а третім заводом постачальником подія А; б першим заводомпостачальником подія В. Властивості ймовірності Ймовірність вірогідної події дорівнює одиниці. Ймовірність неможливої події дорівнює нулю.
47797. Информатика и вычислительная техника. Конспект лекций 3.51 MB
  Практические курсант должен по окончании курса иметь такие знания умения и навыки: Понятие информации ее виды формы и способы ее хранения передачи кодирования измерения; Назначение и функции операционных систем и операционных оболочек; Распространенное современное прикладное программное обеспечение назначение и основные функции систем обработки текстов электронных таблиц и их назначения системы управления базой данных Порядок составления алгоритмов и их реализацию. Создание базы данных в Microsoft Excel. Операции над базой...
47798. Основи екології. Курс лекцій 688.5 KB
  Науковотехнічний прогрес швидкість якого на декілька порядків перевищує швидкість адаптування організмів до змінених людиною умов існування породжує нові джерела збурення тиску на біосферу її забруднення знищення природних ресурсів катастрофічне зменшення біорозманіття. Трансграничні забруднення та локальні поліпшення стану довкілля за рахунок руйнування екосистем інших регіонів лише призведуть до подальшої деградації глобальної екосистеми та посилення небезпеки для всієї планети. Екологи України зробили вагомий внесок у розробку...
47800. Учёт и анализ расчётов с персоналом по оплате труда 421.5 KB
  Заработная плата представляет собой выраженную в денежной форме часть общественного продукта, которая выплачивается наёмному работнику исходя из количества и качества выполненного им труда, и максимальным пределом не ограничивается.
47801. Проект редуктора привода ленточного транспортера для перемещения багажа в аэропорту 1.15 MB
  Материалы для шестерни и зубчатого колеса выбираем по таблице «Механические характеристики сталей» При этом твердость поверхности НВ1 для материала шестерни устанавливаем на 20/25 единиц выше твердости поверхности НВ2.
47802. КУЛЬТУРОЛОГІЯ. КОНСПЕКТ ЛЕКЦІЙ 2.5 MB
  Особистість у світі культури. Феномен української культури. Тенденції розвитку сучасної української культури. В загальній спрямованості сучасного гуманітарного знання до ствердження пріоритету індивідуальноособистісних сенсожиттєвих орієнтацій проблема всебічного осмислення культури постає однією з найактуальніших і безпосередньо повязується з виявленням найглибших світоглядних засад людського буття.
47803. Мікроекономіка. Навчальний посібник 2.26 MB
  Значна увага приділяється теорії виробництва та механізму вибору його обсягів які максимізують прибуток виробника в умовах різних моделей ринку. При аналізі теорії виробництва особлива увага приділяється формуванню затрат і залежності динаміки продукту від динаміки затрат факторів виробництва. Проаналізовано також закономірності формування витрат виробництва в короткотерміновому та довготерміновому періодах. Чотири теми що їх включає в себе цей розділ присвячені відповідно прийняттю фірмою рішення про ціни та обсяги виробництва в умовах...