- •Методы математического моделирования и вычислительной математики Никитина т.П. Оглавление
- •Введение
- •Основы моделирования
- •Классификация математических моделей
- •Основные этапы математического моделирования
- •Математические модели аналитического типа
- •Эмпирические математические модели
- •Методы вычислительной математики
- •Постановка задачи
- •Этапы решения задачи
- •Локализация корня
- •Метод половинного деления
- •Метод хорд
- •Метод касательных (Метод Ньютона)
- •Комбинированный метод хорд и касательных
- •Решение систем линейных уравнений (слау)
- •Приближенные методы решения систем линейных уравнений Метод простой итерации ( Метод Якоби)
- •Метод Гаусса - Зейделя
- •1. Использованием обратной матрицы
- •2. Решение системы уравнений методом Гаусса
- •Интерполяция
- •Постановка задачи
- •Полиномиальная (алгебраическая) интерполяция
- •Интерполяция по Лагранжу
- •Вычисление определенных интегралов вида Постановка задачи
- •Метод прямоугольников
- •Метод трапеций
- •Метод Симпсона (метод парабол)
- •Решение обыкновенных дифференциальных уравнений Постановка задачи
- •Численные методы решения задачи Коши оду первого порядка
- •Метод Эйлера
- •Усовершенствованный метод Эйлера. Метод Гюна.
- •Методы прогноза и коррекции
- •Метод Рунге-Кутта
- •Решение задачи оптимизации
- •Постановка задачи
- •Численные методы решения задачи одномерной оптимизации
- •Этапы решения задачи
- •Метод двойного половинного деления
- •Метод золотого сечения
- •Численные методы решения задачи линейного программирования
- •Постановка задачи
- •Реализация симплекс метода
- •Литература
Метод хорд
Пусть корень уравнения f(x) = 0 локализован на отрезке [a;b]. Функцияf(x) на отрезке [a;b] должна быть дважды дифференцируема. Требуется найти значение корня с точностью ε.
Графическая интерпретация метода.
Строим исходную функцию y= f(x) и находим значения функции на концах отрезка f(a) и f(b). Проводим хорду М1M2 c концами в точках М1(a, f((a)) и M2(b, f(b)). Абсцисса точки пересечения хорды М1M2 с осью OX это и есть приближенный корень x1. Далее находим точку M3(х1, f(x1)), строим следующую хорду, находим второй приближенный корень x2 и так далее.
В зависимости от поведения функции возможны два случая:
|
|
|
В одном случае за неподвижный конец хорд используется точка М1(a, f((a)), а в другом случае точка M2(b, f(b)).
Алгоритм метода
Ввод исходных данных: a, b, ε.
Расчет значений функции f(a), f(b) на концах отрезка и значения второй производной от функции f'' (a) и f'' (b).
Проверяем условие f(a)·f''(a)>0. Если условие выполняется, то c=a, x=b, иначе проверяем условие f(b)·f''(b)>0 c= b, x=a. Если условие «быстрой» сходимости не выполняется, то принимаем c=a, x=b.
x0=x.
Рассчитываем абсциссу точки пересечения хорды с осью ОХ по формуле

Проверка условия |x-x0|<= ε. Если условие выполняется, то переход к пункту 7, иначе переход к пункту 4.
Расчет закончен. Корень х*=x.
Реализация метода в MS Excel
Постановка задачи. Дано ecos2(x)-3·sin(0,8·x)+0,5=0, корень локализован на отрезке [0,5;1,5]. Найти корень с точностью ε=0,0001.
Находим первую и вторую производные от функции ecos2(x)-3·sin(0,8·x)+0,5. f´(x)= (ecos2(x)-3·sin(0,8·x)+0,5)´= -ecos2(x)·sin(2·x)-2,4·cos(0,8·x)
f´´(x)=(-ecos2(x)·sin(2·x)-2,4·cos(0,8·x))´= ecos2(x) ·(sin2(2·x)-2·cos(2·x)) + 1,92·sin(0,8·x)
1 Формирование заголовка таблицы и расчеты по пунктам 1 и 2 алгоритма.
|
Адрес клетки |
Содержание |
Тип |
|
А1 |
a |
Текст |
|
В1 |
b |
Текст |
|
C1 |
f(a) |
Текст |
|
D1 |
f(b) |
Текст |
|
E1 |
f'' (a) |
Текст |
|
F1 |
f'' (b) |
Текст |
|
А2 |
0,5 |
Число |
|
В2 |
1,5 |
Число |
|
С2 |
=EXP(COS(A2)^2)-3*SIN(0,8*A2)+0,5 |
Формула |
|
D2 |
=EXP(COS(B2)^2)-3*SIN(0,8*B2)+0,5 |
Формула |
|
Е2 |
=EXP(COS(A2)^2)*(SIN(2*A2)^2-2*COS(2*A2))+ 1,92*SIN(0,8*A2) |
Формула |
|
F2 |
=EXP(COS(B2)^2)*(SIN(2*B2)^2-2*COS(2*B2)) +1,92*SIN(0,8*B2) |
Формула |
Вид листа MS Excel:

2 В соответствии с пунктами 3 и 4 алгоритма рассчитываем значения переменных с, х и х0.
|
Адрес клетки |
Содержание |
Тип |
|
А4 |
=ЕСЛИ(D2*F2>0;B2;A2) |
Формула |
|
В4 |
=ЕСЛИ(D2*F2>0;A2;B2) |
Формула |
|
C4 |
=B4 |
Формула |
Вид листа MS Excel:

Вид листа MS Excel:

3 Расчет значений f(c) и f(x0).
|
Адрес клетки |
Содержание |
Тип |
|
D4 |
f(c) |
Текст |
|
E4 |
f(x0) |
Текст |
|
D5 |
=EXP(COS(A4)^2)-3*SIN(0,8*A4)+0,5 |
Формула |
|
E5 |
=EXP(COS(C4)^2)-3*SIN(0,8*C4)+0,5 |
Формула |
Вид листа MS Excel:

4 Расчет по пункту 5 алгоритма.
|
Адрес клетки |
Содержание |
Тип |
|
B5 |
=C4-E4*($A$4-C4)/($D$4-E4) |
Формула |
|
F4 |
|x-x0| |
Текст |
|
F5 |
=ABS(B5-C4) |
Формула |
Обратите внимание, что адреса $A$4 и $D$4 являются абсолютными, потому что в этом алгоритме значение с и f(с) остаются постоянными во всех итерациях.
Вид листа MS Excel:

5 Выделим диапазон ячеек С4:E4. Установим указатель мыши на маркер заполнения и переместим мышь на одну строку вниз.
Вид листа MS Excel после выполнения этих действий:

Первая итерация завершена. Графическая интерпретация выполненных действий приведена на рисунке:

6 Для выполнения второй и последующих итераций выделим диапазон клеток B5:F5. Установим указатель мыши на маркер заполнения, нажмем левую кнопку и переместим мышь на пятнадцатую строку.
Вид листа MS Excel после выполнения этих действий:

Требуемая точность достигнута в десятой строке, так как именно начиная с этой строки, соблюдается условие |x-x0|<= ε.
7 Выполняем пункт 7 алгоритма, рассчитаем искомый корень х* и значение f(x*).
|
Адрес клетки |
Содержание |
Тип |
|
В17 |
х* |
Текст |
|
В18 |
=B10 |
Формула |
|
C17 |
f(x*) |
Текст |
|
С18 |
=EXP(COS(C17)^2)-3*SIN(0,8*C17)+0,5 |
Формула |
Вид листа MS Excel:

Решение получено за шесть итераций. Окончательно имеем х*=0,8980, f(x*)=0,0000 и n=6.


