Решение уравнений на паскале методом ньютона

Решение уравнений на паскале методом ньютона

Pers.narod.ru. Алгоритмы. Метод Ньютона решения нелинейного уравнения

В литературе называется также методом касательных.

Рассмотрим графическую иллюстрацию метода (рис. 1). Предположим, что графическим методом определено начальное приближение х0 к корню. В точке х0 вычислим левую часть решаемого уравнения f0 = f(x0), а также производную в этой точке f'(x0) = tg α. Следующее приближение к корню найдем в точке х1, где касательная к функции f(x), проведенная из точки 0, f0), пересекает ось абсцисс. Затем считаем точку х1 в качестве начальной и продолжаем итерационный процесс. Из рис. видно, что таким способом можно приближаться к корню х*. При этом с каждой итерацией расстояние между очередным хk+1 и предыдущим хk приближениями к корню будет уменьшаться. Процесс уточнения корня закончим, когда выполнится условие

Метод Ньютона обладает высокой скоростью сходимости. Обычно абсолютная точность решения 10 -5 — 10 -6 достигается через 5-6 итераций.

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

Можно, несколько уменьшив скорость сходимости, ограничиться вычислением производной f'(x) только на первой итерации, а затем вычислять лишь значения f(x), не изменяя производной f'(x). Это алгоритм так называемого модифицированного метода Ньютона (рис. 2).

Ниже приводится простая консольная программа на Паскале для решения алгебраического уравнения произвольной степени n>1 . Функция f(x) и первая производная f'(x) задаются подпрограммами-функциями f и f1 соответственно.

Решение нелинейных уравнений на языке программирования Pascal

Практически перед каждым программистом рано или поздно встает задача определения корней уравнения. На сегодняшний день существует достаточно много алгоритмов решения данной задачи. Из этой статьи вы узнаете о наиболее известных алгоритмах численного решения уравнений. Практически все они могут быть разделены на два этапа: отделения и уточнения корней. Первую часть легко выполнить графическим методом. Для выполнения второго этапа решения уравнения можно воспользоваться одним из многих методов уточнения корней уравнения.

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

Данный метод достаточно прост и содержит всего два действия. Сначала находится переменная х – середина интервала [a,b]. После чего вычисляется значение функции в середине интервала. Затем определяется, совпадает ли по знаку значение функции в середине интервала, со знаком функции в левой части. В случаи если их знаки равны, то новой левой границей считается середина интервала, в ином же случаи правой граница интервала считается его середина. Таким образом, при каждой итерации интервал сокращается вдовое то справа, то слева. Очень часто можно встретить следующую реализацию данного метода.

Этот вариант, хотя и очень прост для понимания, содержит один недостаток. Дело в том, что если функция очень сильно изменяется, то при заданной точности, её значение может очень сильно отличаться. Поэтому для исключения этой неточности выгоднее использовать цикл с постусловием и сравнивать с заданным значением точности не разницу границ интервала, а значение функции. Тогда реализация метода примет следующий вид.

Другим очень хорошим методом нахождения корней уравнения, который несколько сложнее в реализации, чем предыдущий, является метод хорд. Отличается он тем, что границы интервала соединяются прямой линией, то есть хордой. Затем определяется точка пересечения этой прямой с осью абсцисс, по формуле:

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

Еще одним хорошим методом решения уравнений является метод касательных или метод Ньютона. Главное его отличие от представленных ранее методов биссекции и хорд – отсутствие необходимости отделения корня. Вместо этого нужно задать лишь начальное приближение. Однако его главным недостатком остается сложность реализации, связанная, прежде всего с необходимостью определять производные исходного уравнения.

В основе метода Ньютона лежит разложения функции в ряд Тейлора:

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

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

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

К сожалению, при всех своих достоинствах метод Ньютона не гарантирует сходимости. Отсутствия решения может возникнуть по нескольким причинам. Например, это может произойти из-за того, что касательная будет параллельна оси абсцисс. В этом случаи необходимо предусмотреть выход из цикла при достижении большого количества итераций.

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

Программа. Решение нелинейных уравнений. Метод Ньютона.

Обращаем Ваше внимание, что в соответствии с Федеральным законом N 273-ФЗ «Об образовании в Российской Федерации» в организациях, осуществляющих образовательную деятельность, организовывается обучение и воспитание обучающихся с ОВЗ как совместно с другими обучающимися, так и в отдельных классах или группах.

«Актуальность создания школьных служб примирения/медиации в образовательных организациях»

Свидетельство и скидка на обучение каждому участнику

Выберите документ из архива для просмотра:

Выбранный для просмотра документ пояснительная записка метод Ньютона.doc

МАОУ Гимназия №17

Исследовательская работа по численным методам

«Решение нелинейных уравнений. Метод Ньютона»

Выполнил: ученик 11А класса

1. Введение

В данной работе рассмотрен один из методов приближенных вычислений корней уравнений – метод Ньютона. Для решения уравнения составлена программа – приложение win 32 в среде Microsoft Visual Basic 6.0 for 32- bit Windows Development . Здесь рассмотрена теория метода Ньютона, представлена блок-схема метода, описана структура программы и основных компонентов. Дан код ядра программы и описана графическая часть программы – визуализации с использованием компонента PictureBox .

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

Найти корень уравнения y = 3 x -4 ln ( x ) -5 =0 на интервале [2;4] методом Ньютона. Иллюстрировать данный метод с последовательным уточнением корня. Точность задается с клавиатуры.

3. Теоретическая часть.

Если x 0 – есть приближенное значение корня уравнения f ( x )=0, то в качестве более точного приближения берется x 1 = x 0 – f ( x 0)/ f ’( x 0).

Заменой x 0 на x 1 может быть получено следующее приближение x 2 и т.д. Процесс последовательных приближений всегда сходится, если только корень уравнения не кратный (т.е. f ’( a ) = 0, где a – корень данного уравнения) и первое приближение взято достаточно близко. Следовательно, корень может быть найден с любой степенью точности.

Рис.1. Первоначальное приближенное значение корня x 0.

Обычно, за начальную точку x 0 берется середина интервала [ a , b ], на котором ищется корень: x 0 = ( b + a )/2. Одно из необходимых условий нахождения корня – функция f ( x ) на данном интервале должна быть непрерывная и монотонно-убывающая или монотонно-взрастающая.

4. Блок-схема метода Ньютона

Рис.2. Блок-схема работы алгоритма нахождения корня уравнения по методу Ньютона.

5. Описание программы.

Программа состоит из нескольких форм. Формы их назначение описаны в таблице 1.

Таблица 1. Формы программы.

Главное окно программы. На данной форме расположены 4 кнопки:

Форма «О программе», вызываемая кнопкой «О программе».

Форма визуализации метода Ньютона, вызываемая кнопкой «Визуализация».

Форма с алгоритмом метода Ньютона. Вызывается кнопкой «Алгоритм».

Рис. 3. Общий вид программы.

При нажатии на кнопку «Корень уравнения» вызывается процедура Sub Newton(), с помощью которой и вычисляется корень уравнения с заданной точностью.

Ниже приведен листинг программы:

Begin VB.Form Form1

StartUpPosition = 3 ‘Windows Default

Begin VB.CommandButton Command4

Begin VB.CommandButton Command3

Begin VB.CommandButton Command2

Caption = » Корень уравнения «

Begin VB.CommandButton Command1

Caption = » О программе «

Attribute VB_Name = «Form1»

Attribute VB_GlobalNameSpace = False

Attribute VB_Creatable = False

Attribute VB_PredeclaredId = True

Attribute VB_Exposed = False

f = 3 * x0 — 4 * Log(x0) — 5

MsgBox (Str(i) + «-е текущее приближение: » + Str(x))

While Abs(x — x0) >= eps

f = 3 * x0 — 4 * Log(x0) — 5

MsgBox (Str(i) + «-е текущее приближение: » + Str(x))

MsgBox (» Корень : » + Str(x))

Print #1, » Точность: «; eps ; » // Корень: «; x ; » // Количество итераций: «; i

Private Sub Command1_Click()

Private Sub Command2_Click()

Private Sub Command3_Click()

Private Sub Command4_Click()

Private Sub Command5_Click()

Open File1.Path + «\» + File1.FileName For Append As #1

Print #1, » Новая запись :»

Private Sub Dir1_Change()

Private Sub Drive1_Change()

Форма Form 3 визуально показывает график функции и нахождение одного из корней уравнения. Следует заметить, что начало координат у компонента PictureBox начало координат находится в левом-вернем углу. При построении взята область размером 6000х6000 усл. единиц. Поэтому при построении графика функции нужен перерасчет координат. На рис. 4. представлено соотношение координат компонента PictureBox и классической декартовой системы координаты.

Рис. 4. Отношение систем координат и построенный график в программе.

Поэтому при построении нужно пересчитать координаты точек ( x , y ) в координаты ( i , j ).

Листинг программы визуализации дан ниже:

Begin VB.Form Form3

StartUpPosition = 3 ‘Windows Default

Begin VB.CommandButton Command1

Begin VB.PictureBox Pict

Attribute VB_Name = «Form3»

Attribute VB_GlobalNameSpace = False

Attribute VB_Creatable = False

Attribute VB_PredeclaredId = True

Attribute VB_Exposed = False

Private Sub Command1_Click()

For i = 0 To maxx Step 600

Pict.Line (i, 0)-(i, maxy), RGB(100, 100, 100)

Pict.Line (0, i)-(maxx, i), RGB(100, 100, 100)

Pict.PSet (i + 600, maxy / 2), RGB(255, 0, 0)

Pict.Print (t — 0.5) * 4 / 5 — 2

Pict.Line (0, maxy / 2)-(maxx, maxy / 2), RGB(255, 0, 0)

Pict.Line (0, 0)-(0, maxy), RGB(255, 0, 0)

For i = 100 To 6000

x = i / maxx * (s_x2 — s_x1)

y = 3 * x — 4 * Log(x) — 5

j = maxy / 2 — maxy / 4 * y / (s_y2 — s_y1)

Pict.PSet (i, j), RGB(0, 0, 255)

Pict.PSet (3100, 400)

Pict.Print » График функции y=3x-4ln(x)-5″

6. Результат выполнения программы.

График функции был предварительно исследован в математическом пакете Advanced Grapher . См. рис. 5.

Рис. 5. Полученные графики функции и производной в математической программе AG .

Далее, для проверки результатов работы созданной программы уравнение было решено в MathCAD с точностью до 15 знаков после запятой. Для решения была использована стандартная процедура писка решения root (). Был получен следующий результат: x 0 = 3.22978377707656. Решение представлено на рис. 6.

Рис. 6. Полученный корень уравнения в MathCAD 11.

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

Таблица 2. Зависимость количества итераций и погрешность вычисления.

Рис. 7. Результат исследования функции в AG .

В AG получен результат x 0 = 3,2299594398.

В суперкалькуляторе получено x 0= 3,22995940572711 :

7. Заключение

В данной работе был рассмотрен метод приближенных вычислений корня уравнения y =3 x -4 ln ( x ) -5 =0 на интервале [2;4] с разной степенью точности. Для проверки результатов эксперимента были использованы специальные математические приложения: Advanced Grapher и MathCAD 11. Для решения задачи и создания программы был использована среда объектно-ориентированного программирования Microsoft Visual Basic 6.0 for 32- bit Windows Development . Данным методом можно практически с точностью до 6-8 знаков после запятой рассчитать корень уравнения. Для более точного расчета потребуется пересмотр алгоритма решения или применения каких-то иных дискретных математических методов решения данной задачи.

Список литературы

Бронштейн И.Н., Семендяев К.А. Справочник по математике. Для инженеров и учащихся ВТУЗов. Гос. издательство физико-математической литературы. М.: 1962 г. – 608 с.

Виленкин Н.Я. Алгебра и математический анализ. Учебное пособие для учащихся школ и классов с углубленным изучением математики. М.: «Просвещение», 1998. – 288 с.

Ефимов Н.В. Краткий курс аналитической геометрии. М.: «Академкнига», 1967 – 267 с.

Кузьмина Е.А., Минасов Ш.М., Тархов С.В. Электронный л абораторный практикум

по дисциплине: «Информатика». Уфа, кафедра Информатики УГАТУ, 2004-2005 г.

Стойлова Л.П. Математика: Учебник для студ. высш. пед. учеб. заведений. М.: «Академия», 1999. – 424 с.

Краткое описание документа:

В данной работе рассмотрен один из методов приближенных вычислений корней уравнений – метод Ньютона. Для решения уравнения составлена программа – приложение win32 в среде Microsoft Visual Basic 6.0 for 32-bit Windows Development. Рассмотрена теория метода Ньютона, представлена блок-схема метода, описана структура программы и основных компонентов.

Курс повышения квалификации

Дистанционное обучение как современный формат преподавания

  • Сейчас обучается 949 человек из 80 регионов

Курс повышения квалификации

Педагогическая деятельность в контексте профессионального стандарта педагога и ФГОС

  • Курс добавлен 23.11.2021
  • Сейчас обучается 48 человек из 28 регионов

Курс повышения квалификации

Инструменты онлайн-обучения на примере программ Zoom, Skype, Microsoft Teams, Bandicam

  • Курс добавлен 31.01.2022
  • Сейчас обучается 33 человека из 19 регионов

Ищем педагогов в команду «Инфоурок»

Дистанционные курсы для педагогов

Самые массовые международные дистанционные

Школьные Инфоконкурсы 2022

33 конкурса для учеников 1–11 классов и дошкольников от проекта «Инфоурок»

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

5 566 740 материалов в базе

Материал подходит для УМК

«Информатика. Углубленный уровень (в 2-ух частях) », Поляков К.Ю., Еремин Е.А.

§ 70. Решение уравнений

Другие материалы

  • 02.05.2018
  • 296
  • 1

  • 02.05.2018
  • 279
  • 0

  • 01.05.2018
  • 835
  • 1

  • 29.04.2018
  • 281
  • 0

  • 27.04.2018
  • 825
  • 3

  • 27.04.2018
  • 1599
  • 14

  • 27.04.2018
  • 1374
  • 17

  • 27.04.2018
  • 5537
  • 144

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

Добавить в избранное

  • 03.05.2018 2757
  • ZIP 167.4 кбайт
  • 21 скачивание
  • Оцените материал:

Настоящий материал опубликован пользователем Инкин Сергей Александрович. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

Автор материала

  • На сайте: 4 года и 5 месяцев
  • Подписчики: 0
  • Всего просмотров: 31333
  • Всего материалов: 41

Московский институт профессиональной
переподготовки и повышения
квалификации педагогов

Дистанционные курсы
для педагогов

663 курса от 690 рублей

Выбрать курс со скидкой

Выдаём документы
установленного образца!

Учителя о ЕГЭ: секреты успешной подготовки

Время чтения: 11 минут

Тринадцатилетняя школьница из Индии разработала приложение против буллинга

Время чтения: 1 минута

В России могут объявить Десятилетие науки и технологий

Время чтения: 1 минута

Объявлен конкурс дизайн-проектов для школьных пространств

Время чтения: 2 минуты

В Воронеже продлили удаленное обучение для учеников 5-11-х классов

Время чтения: 1 минута

Рособрнадзор не планирует переносить досрочный период ЕГЭ

Время чтения: 0 минут

Количество бюджетных мест в вузах по IT-программам вырастет до 160 тыс.

Время чтения: 2 минуты

Подарочные сертификаты

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

Все материалы, размещенные на сайте, созданы авторами сайта либо размещены пользователями сайта и представлены на сайте исключительно для ознакомления. Авторские права на материалы принадлежат их законным авторам. Частичное или полное копирование материалов сайта без письменного разрешения администрации сайта запрещено! Мнение администрации может не совпадать с точкой зрения авторов.


источники:

http://tpdn.ru/library/articles/52/13520

http://infourok.ru/programma-reshenie-nelineynih-uravneniy-metod-nyutona-2962509.html