РЕАЛИЗАЦИЯ ЧИСЛЕННЫХ МЕТОДОВ НА ЭВМ - Студенческий научный форум

XVI Международная студенческая научная конференция Студенческий научный форум - 2024

РЕАЛИЗАЦИЯ ЧИСЛЕННЫХ МЕТОДОВ НА ЭВМ

 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Численные методы

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

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

У каждого, кто изучал численные методы, рано или поздно возникнет вопрос: где и как их реализовывать? При решении «на бумаге» для точного результата требуется много времени и вычислений. К тому же нельзя исключать человеческий фактор, ведь в процессе реализации того или иного метода могут быть вычислительные ошибки, не говоря уже о сложности некоторых методов. Именно поэтому численные методы намного проще и эффективнее реализовывать на ЭВМ.

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

Пакеты прикладных программ

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

В качестве примера для этого и последующих программ будем использовать метод Ньютона.

Метод Ньютона (метод касательных) - численный метод для решения уравнений. Поиск решения осуществляется путём построения последовательных приближений и основан на принципах простой итерации. Он является одним из наиболее эффективных методов решения нелинейных уравнений. Но также стоит отметить, что метод Ньютона не всегда сходится, например, если начальное приближение недостаточно близко к решению (Рис. 1).

Примечания:

  1. Функции f и dfпередаются в виде анонимных функций или как отдельно определенные функции.

  2. Начальное приближение x0, допустимая погрешность tolerance и максимальное количество итераций max_iterations также должны быть заданы.

  3. Р
     

    Рис 1. Код реализации метода Ньютона на Octave

    езультатом функции newton_method будет приближенное значение корня.

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

Чтобы выполнить подробное тестирование этой реализации, вы можете определить функции f и df соответствующим образом и вызвать newton_method с нужными аргументами.

Выполнять проверку для этого и последующих способов решая уравнение .

Программа вывела:

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

Языки программирования

Другой способ реализации Метода Ньютона – это использование языков программирования для написания программы решения того или иного уравнения. В отличие от первого способа, этот намного доступнее: компиляторы практически для любого языка программирования можно получить бесплатно, языки программирования проще учить, благодаря огромному количеству доступной информации. В качестве языка программирования возьмём профильный для нашего вуза C++.

Благодаря обширной стандартной библиотеки с использованием библиотеки <cmath>, позволяющий использовать математические операции, реализовать метод Нтютона достаточно просто (Рис.2):

Примечания:

В этом коде функция f представляет функцию, для которой мы хотим найти корень, а функция f_derivative представляет производную этой функции. Метод newton_method находит корень методом Ньютона, используя начальное приближение x0, точность epsilon (т.е. останавливается, когда |f(x)| <epsilon) и максимальное количество итераций max_iterations. Он возвращает найденное значение корня либо значение, близкое к корню, а в функции main примерно заданы начальное приближение x0, точность epsilon и максимальное количество итераций max_iteration. Затем вызывается функция newton_method и выводится найденное значение корня.

При запуске программа выводить ответ в консольную строку:

Рис 2. Код реализации Метода Ньютона на С++

Excel Таблицы

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

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

1. Выберите значение начального приближения корня уравнения. Лучше всего выбрать значение, близкое к истинному корню.

2. Найти формулу производной функции.

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

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

Решим уравнение с использованием метода Ньютона. Начальное приближение возьмем, как и в прошлые разы, равным 2.

  1. В ячейке A1 напишите значение начального приближения, т.е. 2.

  2. В ячейке B1 вычислите значение функции в текущем приближении, используя формулу "=A1^3 - 2".

  3. В ячейке C1 вычислите значение производной функции в точке начального приближения, используя формулу "=3*A1".

  4. В ячейке D1 вычислите новое приближение корня, используя формулу "=A1 - B1/C1".

  5. Повторяйте шаги 2-4, пока не достигнете желаемой точности. Например, можно проверять разницу между текущим и предыдущим приближением и остановиться, когда она станет меньше некоторого значения.

 

Рис 3. Реализация Метода Ньютона в Excel (Формулы)

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

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

 

Рис 4. Реализация Метода Ньютона в Excel

Выглядеть это будет так:

Выводы

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

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

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

  1. Википедия [Электронный ресурс]- https://ru.wikipedia.org/wiki/Метод_Ньютона (Дата обращения 30.11.2023) https://ru.wikipedia.org/wiki/GNU_Octave (Дата обращения 30.11.2023)

  2. Численные методы. Практикум : учеб. пособие / А.В. Пантелеев, И.А. Кудрявцева. — М. : ИНФРА-М, 2017. — 512 с. (Дата обращения 02.12.2023)

  3. CodeProject [Электронный ресурс] - https://www.codeproject.com/Articles/17998/Some-simple-numerical-methods-in-C (Дата обращения 02.12.2023)

  4. StudFiles [Электронный ресурс]- https://studfile.net/preview/16403956/page:2/, (Дата обращения 30.11.2023) https://studfile.net/preview/9706952/page:10/ (Дата обращения 04.12.2023)

Просмотров работы: 38