
- •Методы математического моделирования и вычислительной математики Никитина т.П. Оглавление
- •Введение
- •Основы моделирования
- •Классификация математических моделей
- •Основные этапы математического моделирования
- •Математические модели аналитического типа
- •Эмпирические математические модели
- •Методы вычислительной математики
- •Постановка задачи
- •Этапы решения задачи
- •Локализация корня
- •Метод половинного деления
- •Метод хорд
- •Метод касательных (Метод Ньютона)
- •Комбинированный метод хорд и касательных
- •Решение систем линейных уравнений (слау)
- •Приближенные методы решения систем линейных уравнений Метод простой итерации ( Метод Якоби)
- •Метод Гаусса - Зейделя
- •1. Использованием обратной матрицы
- •2. Решение системы уравнений методом Гаусса
- •Интерполяция
- •Постановка задачи
- •Полиномиальная (алгебраическая) интерполяция
- •Интерполяция по Лагранжу
- •Вычисление определенных интегралов вида Постановка задачи
- •Метод прямоугольников
- •Метод трапеций
- •Метод Симпсона (метод парабол)
- •Решение обыкновенных дифференциальных уравнений Постановка задачи
- •Численные методы решения задачи Коши оду первого порядка
- •Метод Эйлера
- •Усовершенствованный метод Эйлера. Метод Гюна.
- •Методы прогноза и коррекции
- •Метод Рунге-Кутта
- •Решение задачи оптимизации
- •Постановка задачи
- •Численные методы решения задачи одномерной оптимизации
- •Этапы решения задачи
- •Метод двойного половинного деления
- •Метод золотого сечения
- •Численные методы решения задачи линейного программирования
- •Постановка задачи
- •Реализация симплекс метода
- •Литература
Метод половинного деления
Пусть корень уравнения f(x) = 0 локализован на отрезке [a;b]. Требуется найти значение корня с точностью ε.
Графическая интерпретация метода. Отрезок [a;b] делим пополам точкой с=(a+b)/2. Определяем, на каком из отрезков [a;с] или [с;b] локализован корень. Если на отрезке [a;с], то b становится равным c. Если на отрезке [с;b], то а становится равным c. И в том, и в другом случае длина отрезка [a;b] становится в два раза меньше. Эти действия продолжаем до тех пор, пока длина отрезка [a;b] не станет меньше или равна ε.
Алгоритм метода
Ввод исходных данных: a, b, ε.
Расчет середины текущего отрезка c=(a+b)/2.
Проверка условия f(a)*f(c)<0. Если условие выполняется, то b=с, иначе a=с.
Проверка условия (b-a)<= ε. Если условие выполняется, то переход к пункту 5, иначе переход к пункту 2.
Расчет закончен. Корень х*=(a+b)/2.
Реализация метода в MS Excel
Постановка задачи. Дано ecos2(x)-3·sin(0,8·x)+0,5=0, корень локализован на отрезке [0,5;1,5] с точностью ε=0,0001.
1 Формирование заголовка таблицы.
Адрес клетки |
Содержание |
Тип |
А1 |
a |
Текст |
В1 |
b |
Текст |
C1 |
b-a |
Текст |
D1 |
f(a) |
Текст |
E1 |
f(b) |
Текст |
F1 |
c |
Текст |
G1 |
f(c) |
Текст |
H1 |
0,5 |
Число |
Заполнение первой строки в соответствии с алгоритмом.
Адрес клетки |
Содержание |
Тип |
А2 |
0,5 |
Число |
В2 |
1,5 |
Число |
C2 |
= В2 -А2 |
Формула |
Вид листа MS Excel:
2 Расчет f(a), f(b), c и f(c).
Адрес клетки |
Содержание |
Тип |
D2 |
=EXP(COS(A2)^2)-3*SIN(0,8*A2)+0,5 |
Формула |
E2 |
=EXP(COS(B2)^2)-3*SIN(0,8*B2)+0,5 |
Формула |
F2 |
=(A2+B2)*0,5 |
Формула |
G2 |
=EXP((COS(F2)^2))-3*SIN(0,8*F2)+0,5 |
Формула |
Вид листа MS Excel:
3 В соответствии с алгоритмом вводим формулу для определения значения a, в зависимости от знака произведенияf(a)·f(c). Вызываем функцию ЕСЛИ, используя Мастер функций. Щелкаем указателем мыши по значку f(x), открывается окно Мастера функций. На первом шаге работы Мастера функций выбираем категорию Логические, к которой относится функция ЕСЛИ и саму функцию ЕСЛИ.
Вид листа MS Excel:
Щелкаем по кнопке ОКдиалогового окна.
4 Открывается окно второго шага Мастера функций.Заполняем строки в диалоговом окне, так как показано. Щелкаем по кнопкеОКдиалогового окна.
Вид листа MS Excel:
После щелчка по кнопке ОКдиалогового окнаМастера функцийв клетке А3 будет формула: =ЕСЛИ(D2*G2<0;A2;F2).
Вид листа MS Excel:
5 В соответствии с алгоритмом вводим формулу для определения значенияb, в зависимости от знака произведенияf(a)·f(c). Вызываем функцию ЕСЛИ. Вызываем Мастер функций и заполняем строки в диалоговом окне Аргументы функции второго шага Мастера функций.
После
щелчка по кнопкеОКдиалогового
окнаМастера функцийв клетке
В3 будет формула: =ЕСЛИ(D2*G2<0; F2;В2).
Вид листа MS Excel:
6 Выделим диапазон ячеек С2:G2. Установим указатель мыши на маркер заполнения.
Вид листа MS Excel после выполнения этих действий:
После нажатия на левую кнопку мыши переместим мышь, заполняя ячейки третьей строки.
Вид листа MS Excel:
Первая итерация выполнена. Длина исходного отрезка столбец С уменьшилась в два раза.
7 Для выполнения второй и последующих итераций выделим диапазон клеток А3:G3. Установим указатель мыши на маркер заполнения.
Вид листа MS Excel:
Нажимаем левую кнопку мыши и переместим мышь до двадцатой строки.
Вид листа MS Excel:
Проанализировав значения в таблице, увидим, что требуемая точностьε=0,0001достигнута в пятнадцатой строке, так как именно начиная с этой строки, соблюдается условиеb-a<= 2ε.
8 Выполняем пункт 5 алгоритма, рассчитаем искомый корень х* и значение f(x*).
Адрес клетки |
Содержание |
Тип |
В22 |
х* |
Текст |
В23 |
=(A15+B15)*0,5 |
Формула |
C22 |
f(x*) |
Текст |
С23 |
=EXP(COS(C22)^2)-3*SIN(0,8*C22)+0,5 |
Формула |
Вид листа MS Excel:
Решение получено за 13 итераций. Итак, окончательно имеем х*=0,8980, f(x*)=0,0000 и n=13.