- •Министерство образования и науки Российской федерации
- •Кафедра математики и математических методов в экономике
- •ЧИСЛЕННЫЕ МЕТОДЫ
- •Хабаровск 2014
- •1.1. Постановка задачи о приближении функций
- •1.2. Метод множителей Лагранжа
- •Идея метода – искать полином не в виде (1.2), а как
- •Схема построения полиномов Лагранжа
- •Шаг 2. Пусть x – переменная. Составим произведение
- •Шаг 3. Раскрывая внешние скобки, можно получить многочлен степени n
- •Пример. По таблице
- •Шаг 1. Находим коэффициенты
- •Шаг 3. Раскрыв скобки, получим
- •1.3. Метод разделённых разностей и полиномы Ньютона
- •Часть 1. Разностные аналоги производных
- •Часть 2. Рекурсивное вычисление функции
- •Пример. Известна таблица значений функции
- •Ответ: значения полинома Ньютона равны 18 в точке 2 и 2,2401 в точке 0,7.
- •Аналогично
- •Продифференцировав каждое слагаемое три раза, получим
- •1.5. Метод наименьших квадратов
- •Поиск линейной зависимости
- •Подставив суммы в систему (1.11), получим
- •Подставив найденные суммы в систему (1.12), получим
- •Пример 4. По приведённым данным
- •Отсюда очевидным образом имеем, что
- •Схема метода касательных
- •Вычисление корней при помощи метода простых итераций
- •Составим систему
- •Соответствующая линейная система имеет вид
- •Таблица 2.3 – Решение примера 2
- •Общая схема метода
- •Остаётся сравнить значения
- •Общая схема метода золотого сечения
- •Пусть функция f(x) задана таблицей
- •Проинтегрировав, получаем, что
- •Последовательно находим
- •Интегрируя каждое слагаемое, получим, что
- •Тогда интеграл сводится к
- •Проинтегрировав каждое слагаемое, получим
- •По теореме об интегрировании сходящихся степенных рядов
- •Если интеграл определённый, то
- •Найдём значения
- •По формуле трапеций получим
- •По формуле Симпсона будет
- •По формуле парабол
- •Поскольку значения на концах не зависят от числа точек и
- •Ответ:
- •Шаг 4. Ответ:
- •Тогда
- •Ответ:
- •Ответ:
- •Формула метода 3-го порядка точности:
- •Ответ:
- •Формула метода 4-го порядка точности
- •Все дальнейшие вычисления аналогичны и приведены в таблице.
- •Таблица (начало)
- •Таблица (окончание)
- •Ответ:
- •Пример 1. Решим систему
- •Ответ:
- •Последнее преобразуется к виду
- •Задачу (5.10) – (5.11) будем записывать в виде операторного уравнения
- •Из ограниченности третьей производной следует, что
- •Таким образом, точность близости будет О(h).
- •В силу граничных условий имеет место и неравенство
- •Если yh есть решение уравнения (5.12), то из (5.27) имеем оценку
- •Замечание о делении отрезка на части
- •Решение уравнений делением отрезка
- •Метод секущих (хорд)
- •При реализации в EXCEL достаточно заполнить строчку
- •Метод касательных
- •Реализация метода мало отличается от метода секущих, заполняем строку
- •Таблица 6.1 – Решение уравнения
- •Подбор полиномов, проходящих через точки
- •Таблица 6.2 – Поиск полинома при помощи обратной матрицы
- •Полиномы Лагранжа
- •Таблица 6.3 – Построение полинома Лагранжа
- •Таблица 6.4 – Построение полинома Ньютона
- •Метод Эйлера решения задачи Коши
- •Таблица 6.5 – Решение уравнения методом Эйлера
- •Приближённое интегрирование
- •Таблица 6.6 – Вычисление интеграла методом трапеций и методом Симпсона
- •ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ
- •Часть 1. Задания для работы без пакетов прикладных программ
- •Задание 1. Решение уравнений
- •Задание 2. Метод простых итераций
- •Задание 3. Метод простых итераций в приближённых вычислениях
- •Задание 4. Полиномы Лагранжа и Ньютона
- •Задание 5. Метод наименьших квадратов
- •Задание 6. Приближённое интегрирование
- •Задание 7. Задача Коши
- •Часть 2. Задания для работы в пакете EXCEL
- •Задание 1. Приближение функций полиномами
- •Задание 2. Задача Коши
- •Задание 3. Системы дифференциальных уравнений
- •Задание 4. Задача Коши 2-го порядка
- •Задание 5. Приближённое интегрирование
- •Задание 7. Метод Ньютона решения систем нелинейных уравнений
- •Задание 9. Применение рядов в приближённом интегрировании
- •Оглавление
как ограничения. Нажав «Выполнить», получаем решение в столбце и число 0 в ячейках с формулами.
Начальное приближение может отразиться на результатах, если у системы несколько решений. Если же оно близко от точки, где градиент равен 0 или не существует, небольшое изменение может полностью изменить ответ.
Недостаток применения надстройки «Поиск решения» – скрытость, когда не видно ни процесса, ни особенностей и скорости сходимости. Так, если ответ не получается, не видно, в чём причина – в неудачном выборе приближения, в возникновении аварийной ситуации типа «деление на 0», в малом числе итераций или просто в нашей ошибке.
При изучении численных методов интереснее и поучительнее запрограммировать решение так, чтобы были видны промежуточные результаты и идея решения. Ниже приведены некоторые алгоритмы или краткие советы, для удобства чтения формулы даны в содержательном виде, а не в синтаксисе EXCEL.
Замечание о делении отрезка на части
Во многих задачах требуется разделить отрезок a, b на заранее указанное число частей n так, чтобы отрезок можно было быстро поменять. Это удобно сделать следующим образом.
Поместим a,b, n в 3 любые ячейки. В 4-й найдём шаг h b a , т.е. запишем n
формулу b a / n , где a,b, n – ссылки на значения.
Пусть для определённости точки отрезка надо расположить столбцом. Отведём место для такого столбца, в верхней клетке занесём формулу a , а под ней (не пропуская строк!) формулу x0 $h , где x0 – ссылка на только что запол-
ненную верхнюю клетку. Скопировав мышью формулу вниз, получим точки отрезка x0 , x1 , , xn , расположенные с шагом h. При этом x0 a и xn b .
Теперь при необходимости заменить отрезок a, b на c, d меняем значения в ячейках в ячейках, отведённых в самом начале под a,b . Если длина отрезка поменялась, автоматически изменится шаг h.
Если же требуется изменить число n, придётся учесть, что число точек меняется, и либо продолжить копирование мышью, либо убрать лишние точки.
Решение уравнений делением отрезка
97
1-й способ. Проще всего занести в 2 ячейки, разделённые одной ячейкой, концы отрезка, а в ячейке между ними найти среднее арифметическое. Строкой ниже для трёх полученных чисел найти значения функции f(x). В 1-й строке получим точки a, c, b, во 2-й строке значения f(a), f(c), f(b).
Если знаки функции совпадают в 1-й и во 2-й точке, а в 3-й знак меняется, то в ячейку, предназначенную для a, заносим вручную число c. Если же совпали знаки f(b) и f(c), то c заносим в ячейку, отведённую для b. При этом мгновенно меняются середина отрезка (новая точка c) и все значения функции.
Снова проверяются знаки функций, и так продолжаем, пока точки a, c, b не совпадут с необходимой точностью.
Такой подход позволяет хорошо понять идею метода, но в силу медленной сходимости метода неудобен, когда надо достичь высокой точности.
2-й способ. Оператор «ЕСЛИ» позволяет избавиться от ручной работы и существенно ускоряет решение. Занесём в 1-й строке a, c, b, f(a), f(c), f(b) (здесь a, b – концы отрезка, остальные обозначения соответствуют формулам EXCEL со ссылками на ячейки).
Во 2-й строке в ячейке для a заносим формулу =ЕСЛИ (f(b)f(c)<0, c, a). В ячейке под b заносим =ЕСЛИ (f(a)f(b)<0, c, b). Вместо букв пишем ссылки на содержащие их ячейки. Скопировав («протянув мышью») все столбцы, сразу получим решение уравнения. Если точность не устраивает, заносим последний отрезок на место начального или копируем столбцы дальше.
3-й способ. Можно воспользоваться и тем, что при работе в EXCEL сразу видны все результаты, и делить отрезок не на 2, а на 5 – 10 частей так, как указано выше. В узловых точках считать значения функции f(x) (занеся 1 раз формулу и скопировав её на всю строку), смотреть, между какими соседними точками меняется знак функции и заносить их вместо a, b по аналогии с 1-м способом.
Метод секущих (хорд)
При реализации в EXCEL достаточно заполнить строчку
|
|
|
|
|
x0 |
x1 |
f x0 |
f x1 |
x2 |
Значение x2 считается по соответствующей формуле метода хорд. Затем в следующей строке под ячейкой с x0 надо занести ссылку на x1 , под ячейкой с x1
занести ссылку на x2 , и скопировать мышью все формулы вниз.
98
Если начальные точки взяты удачно, получим в 1-м и 2-м столбце по два очередных соседних приближения, а рядом – значения функции, всё более похожие на 0, причём с некоторого момента появится сообщение о делении на 0.
Можно значение x2 считать сразу под значением x1 . Удобно разбить вычис-
ление на несколько шагов: отдельно найти отношение x1 x0 к |
f x1 f x0 и т.п. |
|||||
|
|
Метод касательных |
|
|||
Реализация метода мало отличается от метода секущих, заполняем строку |
||||||
|
|
|
|
|
|
|
|
x0 |
f x0 |
f x0 |
= x1 |
|
|
|
|
|
|
|
|
|
Во 2-й строке под ячейкой x0 заносим ссылку на x1 , копируем формулы вниз.
Последний |
столбец необязателен, |
формулу вычисления x1 |
можно |
сразу |
поместить в следующей строке под x0 , хотя это менее наглядно. |
|
|
||
В таблице |
6.1 показано решение |
уравнения x3 7x 9 0 |
методом |
хорд |
(столбцы А – Е) и методом касательных (столбцы G – I). Для краткости оставлены 3 знака после запятой.
Числа 0 и 1 в ячейках А1 и В1 – начальное приближение метода хорд. Стол-
бец F0 – |
это значение функции f x x3 7x 9 |
в точке |
x |
0 |
0 , |
т.е. формула |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x 3 |
7x |
0 |
9 со ссылкой на А1. |
Столбец F1 – значение f x , т.е. формула, по- |
||||||||||||||||||
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
лученная копированием формулы из С1 вправо. |
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
x |
x |
|
|
|
|
|
|
|
|
|
|
|
В столбце Дробь найдено отношение |
|
1 |
0 |
|
|
|
, затем в ячейке А2 занесе- |
|||||||||||||||
|
f x |
f x |
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
1 |
|
|
0 |
|
|
|
|
|
|
|
|
||
на ссылка на предыдущее x1 , т.е. набрано = В1. |
|
|
|
|
|
|
|
|
|
|
||||||||||||
В ячейке В2 найдено новое |
x1 по формуле x1 |
f1 *Дробь , где все значения |
||||||||||||||||||||
взяты из 1-й строки. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
Таблица 6.1 – Решение уравнения x3 7x 9 0 |
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A |
B |
C |
D |
|
|
E |
|
F |
|
|
|
G |
|
|
H |
I |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
X0 |
X1 |
F0 |
F1 |
|
Дробь |
|
|
|
|
X |
|
F(X) |
F'(X) |
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
1 |
|
0,000 |
1,000 |
–9,000 |
–1,000 |
|
0,125 |
|
|
|
0,000 |
|
–9,000 |
7,000 |
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
2 |
|
1,000 |
1,125 |
–1,000 |
0,298 |
|
0,096 |
|
|
|
1,286 |
|
2,125 |
11,959 |
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
3 |
|
1,125 |
1,096 |
0,299 |
–0,009 |
|
0,094 |
|
|
|
1,108 |
|
0,116 |
10,683 |
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
4 |
|
1,096 |
1,097 |
–0,009 |
–0,000 |
|
0,094 |
|
|
|
1,097 |
|
0,000 |
10,611 |
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
5 |
|
1,097 |
1,097 |
–0,000 |
0,000 |
|
0,094 |
|
|
|
1,097 |
|
0,000 |
10,611 |
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
99
В столбцах G – I вначале занесено x0 0 и подсчитаны |
f x0 и |
f x0 , где |
|||||
f x 3x2 7 , число 1, 286 – это x |
|
|
f x0 |
|
. |
|
|
|
f x0 |
|
|
|
|||
|
0 |
|
|
|
|
||
|
|
|
|
|
|
|
Затем эта формула скопирована, начиная со 2-й строки, а формулы для f x0
и f x0 скопированы с 1-й строки.
Подбор полиномов, проходящих через точки
Дана n 1 точка xk , yk . Надо подобрать полином Pn x , чтобы для всех точек выполнялось условие Pn xk yk .
Занесём данные в два столбца – один для аргументов xk , другой для значений yk . В квадрате из n 1 n 1 клеток находим все степени аргументов от 0 до n, то есть в 1-й строке находим x00 , x01 , , x0n , во 2-й строке x10 , x11 , , x1n , и так до строки xn0 , x1n , , xnn . Дальше возможны 2 пути решения.
1) вызов функции ЛИНЕЙН
Обведя свободное место из 5 строк и n+1 столбца, вызовем функцию ЛИНЕЙН. У этой функции 4 аргумента. Известные значения у – это столбец yk ,
известные значения х – это вся таблица (матрица) из степеней xk . Смысл аргу-
ментов «Константа» и «Статистика» понятен из справки о функции.
Нажав Ctrl–Shift–Enter, получаем коэффициенты полинома. Их порядок – обратный по отношению к порядку степеней xk , т.е. если степени идут от 1 до x n ,
получатся коэффициенты при xn , xn 1, x и в конце – свободный коэффициент. Если учтены все степени полинома, статистика о регрессии интереса не пред-
ставляет, поскольку полином в точности описывает зависимость y x .
2) решение системы уравнений
Обведя свободный квадрат из n 1 n 1 ячейки, при помощи функции МОБР находим матрицу, обратную к матрице степеней xk . Затем при помощи функции МУМНОЖ умножаем её на столбец значений yk . Получаем столбец коэффициентов полинома, начиная со свободного коэффициента.
В таблице 6.2 найден полином, проходящий через точки 1; 2 , 1; 0 , 2; 11 и3; 46 . Оказалось, что это P3 x 2x3 3x 1 . Заметьте, что коэффициенты идут в том порядке, в каком идут степени в матрице.
100