- •1. Приближенное решение нелинейных уравнений 5
- •Введение
- •1. Приближенное решение нелинейных уравнений
- •1.1. Графический способ отделения корней.
- •1.2. Аналитический способ отделения корней.
- •1.4.2. Блок-схема.
- •1.4.3. Программа.
- •1.3. Метод половинного деления.
- •1.3.1. Расчётная схема.
- •1.4. Метод хорд.
- •1.4.1. Расчетная схема метода.
- •1.5. Метод касательных.
- •1.5.1. Расчётная схема.
- •1.5.2. Блок-схема.
- •1.5.3. Программа.
- •1.6. Комбинированный метод.
- •1.6.1. Расчётная схема.
- •1.7. Метод итераций.
- •1.7.1. Расчётная схема.
- •1.7.2. Блок-схема.
- •1.7.3. Программа.
- •1.8. Дополнения к разделу.
- •1.8.1. Комментарии.
- •1.8.2. Алгоритмы и программы.
- •1.8.3. Пример работы программ.
- •2. Приближенное вычисление определенных интегралов.
- •2.1. Геометрическая интерпретация.
- •2.2. Метод прямоугольников.
- •2.2.1. Расчётная схема.
- •2.3. Метод трапеций.
- •2.3.1. Расчётная схема.
- •2.4. Метод Симпсона.
- •2.4.1. Расчётная схема.
- •2.5. Дополнения к разделу.
- •2.5.1. Комментарии.
- •2.5.2. Пример работы программ.
- •3. Решение систем линейных уравнений.
- •3.1. Метод простых итераций.
- •3.1.1. Расчётная схема.
- •3.1.2. Блок-схема.
- •3.1.3. Программа.
- •3.2. Метод Зейделя.
- •3.2.1. Расчётная схема.
- •3.2.2. Блок-схема.
- •3.2.3. Программа.
- •3.4. Метод Гаусса.
- •3.4.1. Расчётная схема.
- •3.4.2. Блок-схема.
- •3.4.3. Программа.
- •3.5. Дополнения к разделу.
- •3.5.1. Комментарии.
- •3.5.2. Алгоритмы и программы.
- •3.5.3. Пример работы программ.
- •4.3. Метод Рунге-Кутта (четвертого порядка).
- •4.3.1. Расчётная схема.
- •4.4. Дополнения к разделу.
- •4.4.1. Комментарии.
- •4.4.2. Пример работы программ.
- •5. Математическая обработка данных.
- •5.1. Интерполяция.
- •5.1.2. Квадратичная интерполяция.
- •5.1.2.1. Блок-схема.
- •5.1.2.2. Программа.
- •5.1.3. Интерполяция Лагранжа.
- •5.1.3.1. Расчётная схема.
- •5.2.1. Линейное приближение методом наименьших квадратов.
- •5.3. Дополнения к разделу.
- •5.3.1. Комментарии.
- •5.3.2. Алгоритмы и программы.
- •5.3.3. Пример работы программ.
- •6. Задания по численным методам.
1.3. Метод половинного деления.
Этот метод основан
на делении отреза
пополам, т.е. нахождении последовательно
значений
более близких к корню, по формуле:
1.3.1. Расчётная схема.
На каждом этапе
отрезок
уменьшается в 2 раза и выбирается та
половина, на концах которой
имеют разные знаки:
Этот процесс
деления отрезка пополам выполняется
до тех пор, пока длина последнего отрезка
не станет удовлетворять условию
.
Последнее означает, что значение
является корнем уравнения, вычисленным
с точностью
.
Пример.
Найти корень уравнения
на отрезке [0;1] с точностью
методом половинного деления.
Решение. Процесс вычисления проиллюстрирован ниже и приведён в таблице:
|
|
|
|
|
|
|
|
1 |
0.00 |
1.0 |
1.00 |
-23.00 |
0.5 |
-14.5 |
1>2 |
2 |
0.00
|
0.5 |
1.00 |
-14.5 |
025 |
-6.9 |
0.5>2 |
3 |
0.00 |
0.25 |
1.00 |
-6.9 |
0.125 |
-0.3 |
0.25>2 |
4 |
0.00 |
0.125 |
1.00 |
-0.3 |
0.0625 |
-0.1 |
0.062>2 |
5 |
0.00 |
0.0625 |
1.00 |
-0.1 |
0.0312 |
-0.076 |
0.0312<2 |
Искомое значение корня находим по формуле:
1.3.2. Блок-схема.
|
1.3.3. Программа. function mdelen(t,tt,e: real): real; var x,a,b,f1,f2: real; p: boolean; begin a:=t; b:=tt; p:=true; x:=a; f1:=f(x); while p=true do begin x:=(a+b)/2; f2:=f(x); if (abs(f2)<=e) then begin p:=false; end else begin if (f1*f2>0) then a:=x else b:=x; end; end; mdelen:=x; end; |
1.4. Метод хорд.
Этот метод состоит
в том, что на отрезке
строится хорда, стягивающая точки с
координатами
и
,
а в качестве приближенного значения
корня
принимается
значение абсциссы точки пересечения
этой хорды с осью ОХ.
Рисунок 1.3 - Первая и вторая производная имеют одинаковые знаки на отрезке
Рисунок 1.4 - Первая и вторая производная имеют разные знаки на отрезке
Здесь первая и вторая производная имеют разные знаки на отрезке . Эта процедура повторяется, причем отрезок сужается на каждом шаге при переносе левого или правого конца отрезка в точку пересечения хорды и оси абсцисс (См. рис.1.3 и рис.1.4).
1.4.1. Расчетная схема метода.
а)
Если
на отрезке
,
то
б)
Если
на отрезке
,
то
Итерационный
процесс прекращается, как только
,
а последнее значение
считается значением корня уравнения с
точностью
.
1.4.2. Блок-схема.
1.4.3. Программа.
function mhord(a,b,e: real): real;
var
x,x0,x1,ae: real;
p: boolean;
begin
p:=true;
x:=(a+b)/2;
if (ff(x)*fff(x)>0) then
begin
x0:=a;
ae:=b;
end
else
begin
x0:=b;
ae:=a;
end;
while p=true do
begin
x1:=x0-f(x0)*(ae-x0)/(f(ae)-f(x0));
if (abs(x1-x0)<e) then
p:=false
else
x0:=x1;
end;
mhord:=x1;
end;
