Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Численные методы. Учебное пособие для СПО

.pdf
Скачиваний:
0
Добавлен:
15.08.2026
Размер:
851 Кб
Скачать

СРЕДНЕЕ ПРОФЕССИОНАЛЬНОЕ ОБРАЗОВАНИЕ

__________________________________________________________

С.Н. Шергин

ЧИСЛЕННЫЕ МЕТОДЫ

УЧЕБНОЕ ПОСОБИЕ ДЛЯ СПО

Рекомендовано Учебно-методическим отделом СПО в качестве учебного пособия для использования в учебном процессе образовательными учреждениями среднего профессионального образования по всем профессиям и специальностям

Москва

Саратов

Ай Пи Ар Медиа

Профобразование

2025

2025

УДК 519.6 ББК 22.192

Ш49

Автор:

Шергин С.Н. — канд. физ.-мат. наук, доц. инженерной школы цифровых технологий

Югорского государственного университета

Рецензенты:

Царегородцев А.Л. канд. техн. наук,

первый заместитель директора АУ Югорского НИИ информационных технологий;

Пирогов В.Ю. — канд. физ.-мат. наук, проф. кафедры программирования и автоматизации бизнес-процессов Шадринского государственного педагогического университета

Шергин, Сергей Николаевич.

Ш49 Численные методы : учебное пособие для СПО / С.Н. Шергин. — Москва : Ай Пи Ар Медиа ; Саратов : Профобразование,

2025. — 74 с. — ISBN 978-5-4497-4553-8, 978-5-4488-2610-8. —

(Среднее профессиональное образование). — Текст : электронный // Цифровой образовательный ресурс IPR SMART : [сайт]. —

URL: https://www.iprbookshop.ru/152478.html. — Режим доступа:

для авторизир. пользователей.

Учебное пособие состоит из 7 разделов и включает теоретическое описание численных методов, их алгоритмическую реализацию на языках Python и MATLAB, практические задания и вопросы для самостоятельной работы.

Подготовлено в соответствии с требованиями Федерального государственного образовательного стандарта среднего профессионального образования.

Учебное пособие предназначено для студентов всех профессий и специальностей, изучающих дисциплину «Численные методы».

Учебное электронное издание

ISBN 978-5-4497-4553-8 (Ай Пи Ар Медиа) © Шергин С.Н., 2025

ISBN 978-5-4488-2610-8 (Профобразование) © Оригинал-макет, оформление.

ООО Компания «Ай Пи Ар Медиа», 2025 © ООО «Профобразование», 2025

Учебное издание

Шергин Сергей Николаевич

Редактор А.Д. Талмаева

Технический редактор, компьютерная верстка А.А. Гвоздюк, М.В. Леман

Корректор М.В. Сигарева

Обложка Я.А. Кирсанов, С.С. Сизиумова, фотобанк Freepik

Подписано к использованию 10.07.2025. Объем данных 12 Мб.

ООО «Профобразование» 8-800-511-14-70 (бесплатный звонок по России)

E-mail: office@profspo.ru, sale@profobr.pro

СОДЕРЖАНИЕ

 

ВВЕДЕНИЕ .................................................................................

6

1. ЧИСЛЕННОЕ РЕШЕНИЕ НЕЛИНЕЙНЫХ

 

УРАВНЕНИЙ .............................................................................

8

1.1. Метод деления отрезка пополам.....................................

9

1.2. Метод Ньютона .............................................................

12

1.3. Метод простой итерации ..............................................

13

2. МЕТОДЫ РЕШЕНИЯ СИСТЕМ ЛИНЕЙНЫХ

 

АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ..................................

18

2.1. Метод Гаусса .................................................................

18

2.2. Метод обратной матрицы.............................................

22

2.3. Метод прогонки.............................................................

23

2.4. Метод простой итерации (метод Якоби) ....................

25

2.5. Метод Зейделя ...............................................................

27

3. ЧИСЛЕННЫЕ МЕТОДЫ РЕШЕНИЯ СИСТЕМ

 

НЕЛИНЕЙНЫХ УРАВНЕНИЙ...........................................

30

3.1. Метод простой итерации (метод Якоби) ....................

31

3.2. Метод Зейделя для систем нелинейных уравнений ....

33

3.3. Метод Ньютона решения систем нелинейных

 

уравнений..............................................................................

36

4. АППРОКСИМАЦИЯ ФУНКЦИЙ ..................................

41

4.1. Интерполяция ................................................................

41

4.2. Сплайн-интерполяция...................................................

45

4.3. Сглаживание. Метод наименьших квадратов ............

49

4

5. ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ .............................

53

5.1. Метод прямоугольников...............................................

53

5.2. Метод трапеций.............................................................

54

5.3. Метод парабол (Симпсона) ..........................................

55

6. ЧИСЛЕННОЕ РЕШЕНИЕ ОБЫКНОВЕННЫХ

 

ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ .........................

58

6.1. Решение задачи Коши...................................................

59

6.1.1. Метод Эйлера........................................................

59

6.1.2. Улучшенный метод Эйлера ..................................

61

6.1.3. Метод Рунге-Кутта .............................................

63

6.1.4. Метод Адамса .......................................................

64

6.2. Разностные методы решения краевой задачи ............

65

7. ЗАДАЧИ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ ... 70

ЛИТЕРАТУРА.........................................................................

74

5

ВВЕДЕНИЕ

Дисциплина «Численные методы» занимает центральное место в подготовке специалистов в области информатики, вычислительной техники, прикладной математики и программной инженерии, обеспечивая их необходимыми знаниями и навыками для решения задач математического моделирования, оптимизации

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

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

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

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

6

циалистам осознанно выбирать оптимальный подход в зависимости от специфики задачи.

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

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

В результате освоения дисциплины «Численные методы» студент должен:

1)знать: методы решения основных математических задач — интегрирования, дифференцирования, решения линейных

инелинейных уравнений;

2)уметь:

-использовать основные численные методы решения математических задач;

-выбирать оптимальный численный метод для решения поставленной задачи;

-давать математические характеристики точности исходной информации и оценивать точность полученного численного решения.

7

1. ЧИСЛЕННОЕ РЕШЕНИЕ НЕЛИНЕЙНЫХ УРАВНЕНИЙ

Численное решение нелинейных уравнений применяется, когда аналитическое решение невозможно или затруднено. Основные методы включают итерационные подходы, такие как метод бисекции (деления пополам), метод Ньютона (касательных) и метод простой итерации. Эти методы позволяют находить приближенные корни уравнения с заданной точностью, используя последовательные приближения. Выбор метода зависит от вида уравнения, требуемой точности и скорости сходимости [1].

Математически задается непрерывная функция ( ), для которой необходимо найти корни уравнения ( ) = 0. Подобные проблемы встречаются в различных областях научных исследований, в том числе и при расчетах строительных конструкций, организации и управлении строительным производством.

Нелинейные уравнения делятся на два класса. Алгебраические — уравнения, содержащие только алгебраические функции. Трансцендентные — уравнения, содержащие другие функции (тригонометрические, показательные, логарифмические и др.) [5].

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

а) отыскания приближенного значения корня или содержащего его отрезка;

б) уточнения значения до некоторой степени точности. Итерационный процесс состоит в последовательном уточ-

нении 0. Каждый такой шаг называется итерацией. В результате

8

итераций находятся последовательности приближенных значений корня 0, 1, … , . Если эта последовательность с ростом значения приближается к истинному значению корня, то итерационный процесс сходится. Итерационный процесс продолжаем до тех пор, пока значение функции ( ) после -й итерации не станет меньшим по модулю некоторого заданного малого числа , т.е.| ( )| < , и (или) по условию близости двух последних приближений: | +1 − | < [3].

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

1.1. МЕТОД ДЕЛЕНИЯ ОТРЕЗКА ПОПОЛАМ

Метод деления отрезка пополам (также называемый ме-

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

Допустим, что мы нашли отрезок [ , ], в котором расположено искомое значение корня = , т.е. < < .

Пусть для определенности ( ) < 0, ( ) > 0. В качестве начального приближения корня 0 принимается середина этого отрезка, т.е. 0 = ( + )/2. Далее исследуем значение функции( ) на концах отрезков [ , 0], и [ 0, ]. Тот из них, на концах которого ( ) принимает значения разных знаков, содержит искомый корень. Поэтому его принимаем в качестве нового отрезка. Вторую половину отрезка [ , ], отбрасываем. В качестве первой итерации корня принимаем середину нового отрезка и т. д. [2].

9

Таким образом, после каждой итерации отрезок, на котором расположен корень, уменьшается вдвое, т.е. после n итераций он сокращается в 2 раз. Если длина полученного отрезка становится меньше допустимой погрешности, т.е. | − | < , счет прекращается.

Метод деления отрезка пополам — это надежный и понятный способ нахождения корней нелинейных уравнений, обладающий гарантией сходимости и пригодный для широкого спектра приложений. К преимуществам метода можно отнести тот факт, что он всегда сходится при выполнении условий, а также достаточно прост в реализации. Из недостатков — медленная сходимость (линейная) и то, что требуется знать отрезок, где функция меняет знак. Метод применяется при грубом нахождении корня с последующим уточнением более быстрыми методами.

Реализация на языке Python

import timeit #Импорт счетчика времени

from math import fabs #Импорт части библиотеки Математика code_to_test =

#Задаем функцию def f(x):

return x * (x + 3) - 5

#В данной части происходит выполнение алгоритма деления отрезка пополам

def dihotomia(a, b, eps): ksi = (a + b) / 2.0

if (fabs(f(a) - f(b)) <= eps) or (fabs(f(ksi)) <= eps): return (a + b) / 2.0

if (f(a) * f(ksi) <= 0.0): return dihotomia(a, ksi, eps) else:

return dihotomia(ksi, b, eps)

#Задаем начальные данные и выводим их результат

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]