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


 

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

55957. ГРАМАТИЧНА ПРАВИЛЬНІСТЬ ЯК ОЗНАКА КУЛЬТУРИ УСНОГО ТА ПИСЕМНОГО СПІЛКУВАННЯ 71 KB
  Відмінювання іменників Іменники це слова які називають предмети істоти опредмечені назви процесів дій ознак і відповідають на питання хто що закон право юрист арбітраж суддя слідчий офіцер правнича фундація документ ділова мова...
55958. КУЛЬТУРА УСНОГО ДІЛОВОГО СПІЛКУВАННЯ 186 KB
  Інтервю Візитна картка та її використання Орфоепія і культура усного мовлення Участь у дебатах Мистецтво публічного виступу Без спілкування люди не могли б жити в суспільстві працювати й передавати свій досвід і знання іншим.
55959. Сенсорне виховання дітей раннього віку «Ігровий майданчик» 76.5 KB
  Хід гризаняття Вихователь ставить на стіл будиночок теремок за яким розташовується 23 мотрійки і говорить малюкам що в будиночку живуть мотрійки. У третій частині заняття діти розглядають предмети витягнуті з іграшок наприклад серветки. Гразаняття Дві мотрійки Складання мотрійки з одним вкладишем Мета: розвивати навички виконувати прості дії з предметами відкривати та закривати мотрійки вкладати і виймати предмети; збагачувати сенсорний досвід під час знайомства з розміром.
55960. Його величність - серце 51 KB
  Мета: Продовжити знайомство учнів з серцевосудинною системою людини. Вивчивши серцевий цикл встановити причину інтенсивної роботи серця. На уроці ми переглянемо біологічний журнал Його величність серце.
55961. Органи кровообігу. Серце, його будова 140 KB
  Застосовувати знання для: кровоносні судини; органи кровообігу на малюнках; особливості будови серцевого мяза; профілактики серцево-судинних хвороб. Кожна хребетна тварина яка має кров має серце. Прислухайся у грудях серце стука Вистукує один і той же ритм...
55962. The Ecological Problems of our Settlement 34 KB
  Good afternoon, everybody! I am glad to see you at our ecological party which is called "A Boomerang". I am sure that everybody who has come here is indifferent to everything that is around us, and understands that the Earth is our home. Today we will discuss and try to solve the environmental problems of our settlement.
55963. Пори року. Техніка - модульне орігамі 2.31 MB
  Вона складається із старого клубка ниток обмотаного грофованим папером білого кольору. Обличчя намальоване фломастерами, волосся і корона з двостороннього кольорового паперу.
55964. Подорож до країни Математики 40 KB
  Діти сьогодні ми з вами можемо потрапити до країни Математики. Добрий день діти Пишу вам з чарівної країни Математики. Розчаклувати жителів країни Математики можуть тільки розумні уважні й кмітливі діти. До зустрічі Королева Математики...
55965. Читання оповідання В. Сухомлинського «Петрик, собака і кошеня» 37 KB
  Продовжувати знайомити дітей з творчістю В. Сухомлинського. Повторити твори, що читали раніше. Ознайомити з оповіданням В. Сухомлинського «Петрик, собака і кошеня». Вчити дітей уважно слухати твір, відповідати на запитання відповідно до змісту.