** Решение нелинейных уравнений
При решении нелинейных уравнений невозможно выразить переменную. В этих случаях целесообразно применить ряд численных методов нахождения корней уравнения. Ниже рассмотрены некоторые из них.
Любое уравнение можно представить в виде f (x) = 0 , перенеся всё в одну сторону, тогда поиск корней уравнения сводится к поиску точек пересечения функции f (x) с осью абсцисс. Для более удобной реализации методов в языке Паскаль целесообразно сразу описать функцию f (x) как подпрограмму:
function F(x:real):real;
begin
F:= . ;
end;
Существует ряд методов численного решения нелинейных уравнений, целесообразность применения каждого из которых определяется видом уравнения, его порядком, требуемой точностью и т. д. Эти методы подробно рассмотрены в [1,2,5].
Метод отделения корней
Итак, дано уравнение ƒ(x) = 0, где ƒ(x) – непрерывная функция. Поиск корней уравнения сводится к поиску точек пересечения функции ƒ(x ) с осью абсцисс. Все рассматриваемые ниже методы подразумевают, что уже найден отрезок [a,b], в котором существует один корень уравнения. В зависимости от вида функции таких отрезков может быть несколько, а для периодических функций – бесконечное множество. Метод отделения корней осуществляет поиск таких отрезков.
Наиболее наглядным является графический способ отделения корней. Для реализации этого метода необходимо построить график функции. Это будет легко сделать, если составить программу, которая будет выдавать таблицу значений функции при меняющемся с некоторым шагом h аргументе x (см. рис. 1).
Если есть такая таблица значений функции, то график функции можно и не строить. Достаточно найти две строчки, где значение функции меняет знак на противоположный. Такой способ называется табличным методом отделения корней (см. пример).
Рис. 1. Графическая интерпретация метода отделения корней
Пример. 4.1. Реализация табличного метода отделения корней.
Здесь x пробегает значения от xn до xk с шагом h и при этом на экран выводятся значения x и f(x). Отрезок [xn, xk] и шаг h нужно подбирать для каждой функции, исходя из её характера. Шаг должен быть меньше, чем расстояние между корнями уравнения, чтобы исключить попадание в шаг двух корней.
program tablica;
var xn,xk,x,h:real;
function F(x:real):real;
begin F:=sqrt(x)+2*sqr(x)+3*x; end;
begin
write(‘Введите начало интервала > ’); readln(xn);
write(‘Введите конец интервала > ’); readln(xk);
write(‘Введите шаг > ’); readln ( h );
x:=xn;
begin
writeln(‘x=’,x,‘ f(x)=’,f(x));
x:=x+h;
end;
end.
Процесс выбора отрезка [a,b], содержащего корень, можно автоматизировать. Для этого нужно, начиная с какого-то начального значения, смещать отрезок длиной h в цикле и каждый раз анализировать значения функции на концах этого отрезка. Корень присутствует, если эти значения разного знака. Можно использовать сложное условие
(f(a)>0 AND f(b)<0) OR (f(a) AND f(b)>0),
а можно просто найти произведение и проверить его знак. Корень присутствует, если f(a)*f(b) . После этого можно уточнять значение корня, а можно перейти к поиску следующего отрезка, задав начало поиска от конца найденного.
Пример. 4.2. Поиск ближайшего отрезка, содержащего корень.
program poisk;
var a,b,h:real;
function F(x:real):real;
begin F:=sqrt(x)+2*sqr(x)+3*x; end;
begin
write(‘Введите начало поиска > ’); readln(b);
write(‘Введите шаг > ’); readln ( h );
repeat
a:=b;
b:=a+h;
writeln(‘a=’,a,‘ b=’,b);
end.
Метод половинного деления
Пусть дано уравнение ƒ(x) = 0, где ƒ ( x ) – непрерывная функция, корень Р отделен на отрезке [a,b], т. е. ƒ(a) × ƒ(b) > 0, причем | b – a | < E. Требуется найти значение корня Р с точностью до Е (см. рис. 2).
Если корень Р не отделен на заданном отрезке, т. е. ƒ (a) и ƒ (b) одного знака и, следовательно, ƒ (a) × ƒ b) > 0, то вычисляются значения функции в точках, расположенных через равные интервалы на оси Х. Когда ƒ (an) и ƒ (bn) имеют противоположные знаки, то значения a = an и b=bn принимаются в качестве начальных и находят середину отрезка [a,b], т. е. с=(a+b)/2. Тогда отрезок [a,b] точкой с разделится на два равных отрезка [a,c] и [c,b], длина которых равна (b–a)/2. Из двух этих образовавшихся отрезков выбирается тот, на концах которого функция ƒ (x) принимает значения противоположных знаков; обозначим его [a1,b1]. Затем отрезок [a1,b1] делим пополам и проводим те же действия. Получим отрезок [a2,b2], длина которого равна (b–a)/2 2 . Процесс деления отрезка пополам производится до тех пор, когда на каком-то k-м этапе будет получен отрезок [ak,bk], такой, что
bk – ak = (b – a)/2 k ≤ E и ak ≤ P ≤ bk ,
где число k указывает на количество проведенных делений. Числа ak и bk – корни уравнения ƒ (x) = 0 с точностью до E. За приближенное значение корня следует взять Р=(ak+bk)/2, причем погрешность не превысит (b–a)/2 k+ 1 .
Рис. 2. Графическая интерпретация метода половинного деления
Отметим, что в качестве условия прекращения счета более целесообразно пользоваться условием E ≤ I bk – ak I .
Блок-схема алгоритма представлена на рис. 3.
Рассмотренный метод имеет относительно малую скорость сходимости, но отличается от других методов простотой реализации алгоритма, не требующего вычисления производных заданной функции.
На блок-схеме видно два цикла. Первый реализует поиск отрезка [a,b] длиной h, на котором есть корень уравнения. Второй цикл уменьшает этот отрезок методом половинного деления до тех пор, пока его длина не станет меньше заданной погрешности е. Удобнее всего для организации циклов применить оператор repeat … until. Внутри второго цикла размещён условный оператор, который проверяет, с какой стороны нужно уменьшить отрезок [a,b].
Рис. 3. Блок-схема алгоритма метода половинного деления
Метод касательных
Расчетная формула метода касательных (или метод Ньютона-Рафсона) получается из разложения функции ƒ(x) = 0 в ряд Тейлора в окрестности точки xn. При ограничении разложения двумя членами ряда получим
Здесь O (от английского order) означает порядок остаточного члена в разложении, который в дальнейшем считается малым.
Обычно окончательная формула записывается в виде
Таким образом, зная какое-либо предыдущее приближение xn, где n – номер приближения или итерации (n ≥ 0), можно определить последующее приближенное значение корня xn+1. Если заданное (xn) и расчетное (xn+1) значения совпадают с точностью ε, т. е.
то значение xn+1 считается приближенным значением корня уравнения ƒ (x) = 0.
Кроме предыдущего условия окончания счета, можно использовать условие малости функций ƒ (x) около корня, т. е. | ƒ (xn)| ≤ εf или | ƒ (xn+1) | ≤ εf , где εf – заданная погрешность.
Рассмотрим геометрическое толкование метода касательных (см. рис. 4), где значение корня Р определяется следующим образом.
Рис. 4. Графическая интерпретация метода касательных
Исходя из некоторого начального приближения xn, находим соответствующее ему значение ƒ (xn) (точка А), проводим касательную к кривой ƒ (x) через точку А и ищем точку пересечения этой касательной с осью Х. Эта точка будет значением xn+1, т. к. требовалось провести через точку с координатами xn, ¦(xn) прямую с угловым коэффициентом ƒ ‘(xn) и затем найти её пересечение с осью Х.
Величина отрезка (xn – xn+1) больше заданной погрешности e, поэтому поиск значения корня продолжается аналогично. Принимая последнее найденное значение xn+1 за исходное, определяем следующее значение xn+2 по той же формуле
далее опять проверяется условие
Повторение поиска следующей точки продолжается до тех пор, пока не выполнится условие окончания поиска приближенного значения корня.
Для составления программ можно руководствоваться блок-схемой, представленной на рис. 5.
Рис. 4.5. Блок-схема алгоритма метода касательных
Наличие в блок-схеме вывода f(x1) означает дополнительную проверку правильности определения корня, т. к. в этом случае значение функции должно быть близко к нулю.
Замечание. При реализации этого метода целесообразно функцию ¦(x) и её производную ¦ ‘ (x) описать как подпрограммы:
function F(x:real):real;
begin F:= . ; end;
function F1(x:real):real;
begin F1:= . ; end;
При этом функция должна быть предварительно продифференцирована вручную.
Основной цикл удобнее всего организовать при помощи оператора repeat … until.
Метод касательных обладает относительно большой скоростью сходимости при выполнении следующих условий:
- Начальное приближение x0 выбрано достаточно близко к корню уравнения ƒ (x) = 0.
- Вторая производная ƒ «(x) не принимает больших значений.
- Первая производная ƒ ‘ (x) не слишком близка к нулю.
Важно помнить, что успешность поиска корня напрямую зависит от того, насколько близко к корню выбрано начальное приближение. Поэтому иногда целесообразно вначале провести поиск отрезка, содержащего корень, методом отделения корней, как это было сделано перед реализацией метода половинного деления. Подбирая необходимый шаг, можно легко найти такой отрезок. Тогда в качестве первого приближения можно взять любой из его концов или середину этого отрезка.
Модифицированный метод Ньютона
Модифицированный метод Ньютона лишь немного отличается от метода касательных и обладает меньшей скоростью сходимости. Здесь значение производной вычисляется всего один раз в точке первого приближения и больше не изменяется. Следовательно, её вычисление будет стоять до оператора цикла. Общая формула вычисления последующего приближения будет выглядеть так:
Литература
- Беспалов В.В. Информационные технологии. Программирование: учеб. пособие. – Томск: Изд-во Томского политехнического университета, 2015. – 94 с.
- Беспалов В.В. Основы применения вычислительной техники и программирование: учеб. пособие. – Томск: Изд-во ТПУ, 2007. – 107 с.
- Офицеров Д.В., Старых В.А. Программирование в интерактивной среде Турбо-Паскаль: справ. пособие. – Минск: Беларусь, 1992. – 240 с.
- Шевелев Г.Е. Информатика: лабораторный практикум: учеб. пособие / Том. политехн. ун-т. – Томск, 2004. – 118 с.
- Мудров А. Е. Численные методы для ПЭВМ на языках Бейсик, Фортран, Паскаль. –Томск: МП «РАСКО», 1991.–227 с.
Численные методы решения нелинейных уравнений f(x)=0
В прошлой статье мы говорили о решении специальных типов уравнений с помощью точных методов. Сегодня же поговорим о приближенных (численных) методах решения уравнений вида f(x)=0.
В листингах программ есть записи вида:
Helpers.Function(expression, x)
которые соответствуют процедуре получения значения функции, записанной в виде математического выражения в точке x. Фактически, функция Function реализует парсер функций.
Метод половинного деления
Другие названия: метод бисекции (bisection method), метод дихотомии.
Метод половинного деления – простейший численный метод для решения нелинейных уравнений вида f(x)=0, где функция f(x) должна быть непрерывной на искомом отрезке [xL; xR], причем функция должна принимать значения разных знаков, т.е. должно выполняться условие:
С непрерывности функции f(x) следует, что на интервале [xL; xR] существует, по крайней мере, один корень уравнения (если их несколько, то метод находит один из них).
Выберем точку – середину интервала:
Если f(xM) = 0, то корень найден. Если f(x)≠0, то разобьем этот интервал на два: [xL; xM] и [xM; xR].
Теперь найдем новый интервал, на котором функция изменяет знак. Повторим описанную процедуру до тех пор, пока не получим требуемую точность или превысим максимально допустимое количество итераций.
Геометрическая интерпретация метода:
Реализация метода на C#:
public static double Bisection(string expression, double Left, double Right, double epsilon = 0.000001) < if (Helpers.Function(expression, Left) * Helpers.Function(expression, Right) >= 0) < throw new ArgumentException("F(a) and f(b) should have opposite signs."); >int iterationCount = 0; double c; do < c = (Left + Right) / 2; if (Helpers.Function(expression, Left) * Helpers.Function(expression, c) < 0) < Right = c; >else < Left = c; >if (Math.Abs(Helpers.Function(expression, c)) iterationCount++; > while (true); return c; >
Метод секущих
Другие названия: метод хорд (secant method);
Метод хорд – еще один численный метод для решения нелинейных уравнений вида f(x)=0, где функция f(x) должна быть непрерывной на искомом отрезке [x0; x1], причем функция должна принимать значения разных знаков, т.е. должно выполняться условие:
Последующие приближения находят по формуле:
Геометрическая интерпретация метода:
Реализация метода на C#:
public static double Secant(string expression, double xa, double xb, double epsilon = 0.00001) < double xlast; double x = 0; if (Helpers.Function(expression, xa) * Helpers.Function(expression, xb) >= 0) < throw new ArgumentException("F(a) and f(b) should have opposite signs."); >var iter = 0; do < xlast = x; x = xb - Helpers.Function(expression, xb) * (xb - xa) / (Helpers.Function(expression, xb) - Helpers.Function(expression, xa)); if (Helpers.Function(expression, x) * Helpers.Function(expression, xa) >0) < xa = x; >else < xb = x; >iter++; > while (Math.Abs(x — xlast) > epsilon || (xb — xa)
Метод простых итераций
Уравнение f(x)=0 с помощью некоторых преобразований необходимо переписать в виде x=φ(x).
Уравнение f(x)=0 эквивалентно уравнению x=x+λ(x)f(x) для любой функции λ(x)≠0. Возьмем φ(x)=x-λ(x)f(x) и выберем функцию (или переменную) λ(x)≠0 так, чтобы функция φ(x) удовлетворяла необходимым условиям.
Для нахождения корня уравнения x=φ(x) выберем некоторое начальное значение x0, которое должно находиться как можно ближе к корню уравнения. Дальше с помощью итерационной формулы xn+1=φ(xn) будем находить каждое следующее приближение корня уравнения.
Пример: x 2 -5x+6=0
Преобразования в вид x=φ(x):
Реализация метода на C#:
public static double SimpleIterations(string expression, double xa, double epsilon = 0.00001) < double x = 0.0; double xPrev = xa; var iter = 0; do < x = Helpers.Function(expression, xPrev); if (Math.Abs(x - xPrev) xPrev = x; iter++; > while (true); return x; >
Метод Вегштейна
Метод Вегштейна является модификацией метода секущих, однако его можно назвать и улучшенным методом простой итерации, преобразовав вычислительную формулу к виду:
Это двухшаговый метод, и для начала вычислений необходимо задать 2 приближения xa и xb.
Реализация метода на C#:
public static double Wegstein(string expression, double xa, double xb, double epsilon = 0.00001) < double x = 0.0;
var iter = 0; do < x = xb - (xb - Helpers.Function(expression, xb)) / (1 - (Helpers.Function(expression, xb) - Helpers.Function(expression, xa)) / (xb - xa)); if (Math.Abs(x - xb) xa = xb; xb = x; iter++; > while (true); return x; >
Метод Ньютона
Если — начальное приближение корня уравнения f(x) = 0, то последовательные приближения находят по формуле:
Если f’ и f» непрерывны и сохраняют определенные знаки на отрезке , а f(a)f(b) < 0 , то, исходя из начального приближения удовлетворяющего условию можно вычислить с любой точностью единственный корень уравнения f(x) = 0.
Геометрическая интерпретация метода:
Реализация метода на C#:
public static double Newton(string expression, string derivativeExpression, double x, double epsilon = 0.00001) < int t = 0; double x1, y; do < t++; x1 = x - Helpers.Function(expression, x) / Helpers.Function(derivativeExpression, x); x = x1; y = Helpers.Function(expression, x); >while (Math.Abs(y) >= epsilon); return x; >
Численные методы решения нелинейных уравнений
где f(x) — заданная алгебраическая или трансцендентная функция.
Решить уравнение — значит найти все его корни, то есть те значения x , которые обращают уравнение в тождество.
Если уравнение достаточно сложно, то задача точного определения корней является в некоторых случаях нерешаемой. Поэтому ставится задача найти такое приближенное значение корня xПP , которое отличается от точного значения корня x* на величину, по модулю не превышающую указанной точности (малой положительной величины) ε , то есть
Величину ε также называют допустимой ошибкой , которую можно задать по своему усмотрению.
Этапы приближенного решения нелинейных уравнений
Приближенное решение уравнения состоит из двух этапов:
- Отделение корней, то есть нахождение интервалов из области определения функции f(x) , в каждом из которых содержится только один корень уравнения f(x)=0 .
- Уточнение корней до заданной точности.
Отделение корней
Отделение корней можно проводить графически и аналитически.
Для того чтобы графически отделить корни уравнения, необходимо построить график функции f(x) . Абсциссы точек его пересечения с осью Ox являются действительными корнями уравнения.
Для примера рассмотрим задачу решения уравнения
где угол x задан в градусах. Указанное уравнение можно переписать в виде
Для графического отсечения корней достаточно построить график функции
Из рисунка видно, что корень уравнения лежит в промежутке x∈(6;8) .
Аналитическое отделение корней
Аналитическое отделение корней основано на следующих теоремах.
Теорема 1 . Если непрерывная функция f(x) принимает на концах отрезка [a; b] значения разных знаков, т.е.
то на этом отрезке содержится по крайней мере один корень уравнения.
Теорема 2 . Если непрерывная на отрезке [a; b] функция f(x) принимает на концах отрезка значения разных знаков, а производная f'(x) сохраняет знак внутри указанного отрезка, то внутри отрезка существует единственный корень уравнения f(x) = 0 .
Уточнение корней
Для уточнения корней может использоваться один из следующих методов:
- Метод последовательных приближений (метод итераций)
- Метод Ньютона (метод касательных)
- Метод секущих (метод хорд)
- Метод половинного деления (метод дихотомии)
Метод последовательных приближений (метод итераций)
Метод итерации — численный метод решения математических задач, используемый для приближённого решения алгебраических уравнений и систем. Суть метода заключается в нахождении по приближённому значению величины следующего приближения (являющегося более точным). Метод позволяет получить решение с заданной точностью в виде предела последовательности итераций. Характер сходимости и сам факт сходимости метода зависит от выбора начального приближения решения.
Функциональное уравнение может быть записано в виде
Функцию f(x) называют сжимающим отображением .
Последовательность чисел x0, x1 ,…, xn называется итерационной , если для любого номера n>0 элемент xn выражается через элемент xn-1 по рекуррентной формуле
а в качестве x0 взято любое число из области задания функции f(x) .
Реализация на C++ для рассмотренного выше примера
Уравнение может быть записано в форме
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Результат выполнения
Метод Ньютона (метод касательных)
Если известно начальное приближение x0 корня уравнения f(x)=0, то последовательные приближения находят по формуле
Графическая интерпретация метода касательных имеет вид
Реализация на C++
Для заданного уравнения
производная будет иметь вид
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#define _USE_MATH_DEFINES
#include
#include
using namespace std;
double find( double x, double eps)
double f, df; int iter = 0;
cout do f = sin(M_PI*x / 180) — 1 / x;
df = M_PI / 180 * cos(M_PI*x / 180) + 1 / (x*x);
x = x — f / df;
iter++;
> while (fabs(f) > eps && iter <20000);
cout return x;
>
int main()
cout cin.get(); return 0;
>
Результат выполнения
Метод секущих (метод хорд)
Если x0 , x1 — приближенные значения корня уравнения f(x) = 0 и выполняется условие
то последующие приближения находят по формуле
Методом хорд называют также метод, при котором один из концов отрезка закреплен, т.е. вычисление приближения корня уравнения f(x) = 0 производят по формулам:
Геометрическая интерпретация метода хорд:
Реализация на C++
В отличие от двух рассмотренных выше методов, метод хорд предполагает наличие двух начальных приближений, представляющих собой концы отрезка, внутри которого располагается искомый корень.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#define _USE_MATH_DEFINES
#include
#include
using namespace std;
double find( double x0, double x1, double eps)
double rez = x1, f0, f;
int iter = 0;
cout do f = sin(M_PI*rez / 180) — 1 / rez;
f0 = sin(M_PI*x0 / 180) — 1 / x0;
rez = rez — f / (f — f0)*(rez — x0);
iter++;
> while (fabs(f) > eps && iter <20000);
cout return rez;
>
int main()
cout cin.get(); return 0;
>
Результат выполнения
Метод половинного деления (метод дихотомии)
Если x0 , x1 — приближенные значения корня уравнения f(x) = 0 и выполняется условие
то последующие приближения находятся по формуле
и вычисляется f(xi) . Если f(xi)=0 , то корень найден. В противном случае из отрезков выбирается тот, на концах которого f(x) принимает значения разных знаков, и проделывается аналогичная операция. Процесс продолжается до получения требуемой точности.
Геометрическая интерпретация метода дихотомии
Реализация на C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#define _USE_MATH_DEFINES
#include
#include
using namespace std;
double func( double x)
return (sin(M_PI*x / 180) — 1 / x);
>
double find( double x0, double x1, double eps)
double left = x0, right = x1, x, fl, fr, f;
int iter = 0;
cout do x = (left + right) / 2;
f = func(x);
if (f > 0) right = x;
else left = x;
iter++;
> while (fabs(f) > eps && iter <20000);
cout return x;
>
int main()
cout cin.get(); return 0;
>
Результат выполнения
Для численного поиска решения также можно использовать генетические алгоритмы.
Методы решения нелинейных уравнений
Воронова, М. Е. Методы решения нелинейных уравнений / М. Е. Воронова, М. Н. Симакова, Е. Е. Симаков. — Текст : непосредственный // Юный ученый. — 2016. — № 3 (6). — С. 102-105. — URL: https://moluch.ru/young/archive/6/414/ (дата обращения: 09.01.2024).
Статья посвящена изучению методов решения нелинейных уравнений, в том числе, с использованием системы автоматизированного проектирования MathCAD. Рассмотрены шаговый метод, методы половинного деления и Ньютона, приведены подробные алгоритмы применения данных методов, а также проведен сравнительный анализ указанных методов.
Ключевые слова: нелинейные уравнения, прикладная математика, САПР MathCAD, метод Ньютона, шаговый метод, метод дихотомии.
Цель работы: изучить методы решения нелинейных уравнений с одним неизвестным и апробировать их в опытно-экспериментальной работе.
Задачи работы:
- Проанализировать специальную литературу и выбрать наиболее рациональные способы решения нелинейных уравнений, позволяющие глубоко изучить и усвоить данную тему всем выпускникам средней школы.
- Разработать некоторые аспекты методики решения нелинейных уравнений с применением ИКТ.
- Изучить методы решения нелинейных уравнений:
‒ Метод деления пополам
Введение.
Без математической грамотности невозможно успешное освоение методов решения задач по физике, химии, биологии и другим предметам. Весь комплекс естественных наук построен и развивается на базе математических знаний. Например, исследование ряда актуальных задач математической физики приводит к необходимости решения нелинейных уравнений. Решение нелинейных уравнений необходимо в нелинейной оптике, физике плазмы, теории сверхпроводимости и физике низких температур. По этой теме есть достаточное количество литературы, но во многих учебниках и статьях трудно разобраться ученику средней школы. В данной работе рассмотрены методы решения нелинейных уравнений, которые можно использовать при решении прикладных задач физики, химии. Интересным представляется аспект применения информационных технологий к решению уравнений и задач по математике.
Шаговый метод.
Пусть требуется решить нелинейное уравнение вида уравнение F(x)=0. Предположим также, что нам задан некоторый интервал поиска [x0,x1]. Требуется найти интервал [а,b] длиной h, содержащий первый корень уравнения, начиная с левой границы интервала поиска.
Рис. 1. Шаговый метод
Решить подобную задачу можно несколькими способами. Шаговый метод является наиболее простым из численных методов решения неравенств, но для достижения большой точности необходимо существенно уменьшить шаг, а это сильно увеличивает время расчётов. Алгоритм решения уравнений с помощью данного метода состоит из двух этапов.
На этом этапе определяются участки, на каждом из которых находится только один корень уравнения. Есть несколько вариантов реализации этого этапа:
- Подставляем значения X (желательно с каким-то достаточно мелким шагом) и смотрим где функция сменит знак. Если функция сменила знак, это значит, что на участке между предыдущим и текущим значением X лежит корень (если функция не меняет характер возрастания/убывания, то можно утверждать, что корень на этом интервале один).
- Графический метод. Строим график и оцениваем на каких интервалах лежит один корень.
- Исследуем свойства конкретной функции.
На данном этапе значение корней уравнения, определенных ранее, уточняется. Как правило на этом этапе используются итерационные методы. Например, метод половинного деления (дихотомии) или метод Ньютона.
Метод половинного деления
Быстрый и достаточно простой численный метод решения уравнений, основанный на последовательном сужении интервала, содержащего единственный корень уравнения F(x)=0 до того времени, пока не будет достигнута заданная точность Е. Данный метод обычно используется при решении квадратных уравнений и уравнений высших степеней. Однако у данного метода есть существенный недостаток — если на отрезке [а,b] содержится более одного корня, то с его помощью не удастся добиться хороших результатов.
Рис. 2. Метод дихотомии
Алгоритм данного метода следующий:
‒ Определить новое приближение корня х в середине отрезка [а;b]: х=(а+b)/2.
‒ Найти значения функции в точках а и х: F(a) и F(x).
‒ Проверить условие F(a)*F(x) 0. Таким образом, выбирается точка с абсциссой x0, в которой касательная к кривой y=f(x) на отрезке [a;b] пересекает ось Ox. За точку x0 сначала удобно выбирать один из концов отрезка.
Рассмотрим данный алгоритм на конкретном примере.
Пусть нам дана возрастающая функция y = f(x) =x 2– 2, непрерывная на отрезке (0;2), и имеющая f ‘(x) =2x>0 и f »(x) = 2> 0.
В нашем случае уравнение касательной имеет вид: y-y0=2x0·(x-x0). В качестве точки x0 выбираем точку B1(b; f(b)) = (2,2). Проводим касательную к функции y = f(x) в точке B1, и обозначаем точку пересечения касательной и оси Ox точкой x1. Получаем уравнение первой касательной:y-2=2·2(x-2), y=4x-6. Точка пересечения касательной и оси Ox: x1 =
Рис. 3. Построение первой касательной к графику функции f(x)
Затем находим точку пересечения функции y=f(x) и перпендикуляра, проведенного к оси Ox через точку x1, получаем точку В2 =(1.5; 0.25). Снова проводим касательную к функции y = f(x) в точке В2, и обозначаем точку пересечения касательной и Ox точкой x2.
Уравнение второй касательной: y-2.25=2*1.5(x-1.5), y = 3x — 4.25. Точка пересечения касательной и оси Ox: x2 = .
Затем находим точку пересечения функции y=f(x) и перпендикуляра, проведенного к оси Ox через точку x2, получаем точку В3 и так далее.
В3 = ( )
Рис. 4. Построение второй касательной к графику функции f(x)
Первое приближение корня определяется по формуле:
= 1.5.
Второе приближение корня определяется по формуле:
=
Третье приближение корня определяется по формуле:
Таким образом, i-ое приближение корня определяется по формуле:
Вычисления ведутся до тех пор, пока не будет достигнуто совпадение десятичных знаков, которые необходимы в ответе, или заданной точности e — до выполнения неравенства |xi-xi-1| нелинейные уравнения, прикладная математика, САПР MathCAD, метод Ньютона, шаговый метод, метод дихотомии.
Похожие статьи
Организация приближённого решения интегральных уравнений.
Разработано много приближённых методов решения интегральных уравнений и
Приведём краткий обзор о методах решения ИУ. А. Разностный метод или метод квадратурных
уравнение, точное решение, начальное приближение, итерационная формула, формула.
Организация численных методов в MathCAD | Статья в журнале.
«начальная итерация и уравнение. «ссылка к внутренней функции и вывод решения. Пример 2. Определение всех решений уравнения .
«вывод решения. Организуем теперь алгоритмы методов простой итерации ва Ньютона, они имеют важное значение при изучении методов.
Решения нелинейных волновых уравнений методом.
В этой работе метод вариационных итераций (МВИ) применяется для решения волновых уравнений. МВИ обеспечивает последовательность функций, которая сходится к точному решению и способен отменить некоторые из повторных вычислений.
Решение смешанной задачи для волнового уравнения.
Ключевые слова: смешанная задача, волновое уравнение, метод разделения переменных, метод вариационных итераций, метод разложения Адомиана, начальное приближение, последовательность функций, точное решение. Основной задачей строительной механики.
Применение метода вариационных итераций к приближенному.
Метод очень прост и удобен. Ключевые слова: дифференциальные уравнения, метод вариационных итераций, коррекция функционала, начальное приближение, последовательность функции, точное решение. В 1999 году метод вариационных итераций.
О корнях кубического уравнения | Статья в журнале.
Существуют различные методы решения кубических уравнений. Эти методы разделяются на аналитические (точные) и численные. Аналитическим методам относятся метод Карно, тригонометрический способ Виета, использование возвратных уравнений и т. д. [1,2,3].
Алгоритм интегрирования с переменным числом стадий для.
Для численного решения (18) используем метод установления, который заключается в том, что для стационарной задачи строится нестационарный процесс, решение которого с течением времени устанавливается к решению исходной задачи. Рассмотрим задачу.
Касательная. Задачи на касательную | Статья в журнале.
Приведем алгоритм решения этой задачи. 1. Составляем уравнение касательной к графику
Составим уравнение касательной к графику заданной функции в точке : Так как эта прямая
Затем используя прямые методы, решение интегрального уравнения сведено к конечной.
Численная реализация разностного метода решения одной.
Положить ; задать начальное приближение искомого решения во внутренних узлах
Изучить методы решения нелинейных уравнений: ‒ Шаговый метод. Самый точный из численных методов решения; подходит для решения очень сложных уравнений, но усложняется.
- Как издать спецвыпуск?
- Правила оформления статей
- Оплата и скидки
Похожие статьи
Организация приближённого решения интегральных уравнений.
Разработано много приближённых методов решения интегральных уравнений и
Приведём краткий обзор о методах решения ИУ. А. Разностный метод или метод квадратурных
уравнение, точное решение, начальное приближение, итерационная формула, формула.
Организация численных методов в MathCAD | Статья в журнале.
«начальная итерация и уравнение. «ссылка к внутренней функции и вывод решения. Пример 2. Определение всех решений уравнения .
«вывод решения. Организуем теперь алгоритмы методов простой итерации ва Ньютона, они имеют важное значение при изучении методов.
Решения нелинейных волновых уравнений методом.
В этой работе метод вариационных итераций (МВИ) применяется для решения волновых уравнений. МВИ обеспечивает последовательность функций, которая сходится к точному решению и способен отменить некоторые из повторных вычислений.
Решение смешанной задачи для волнового уравнения.
Ключевые слова: смешанная задача, волновое уравнение, метод разделения переменных, метод вариационных итераций, метод разложения Адомиана, начальное приближение, последовательность функций, точное решение. Основной задачей строительной механики.
Применение метода вариационных итераций к приближенному.
Метод очень прост и удобен. Ключевые слова: дифференциальные уравнения, метод вариационных итераций, коррекция функционала, начальное приближение, последовательность функции, точное решение. В 1999 году метод вариационных итераций.
О корнях кубического уравнения | Статья в журнале.
Существуют различные методы решения кубических уравнений. Эти методы разделяются на аналитические (точные) и численные. Аналитическим методам относятся метод Карно, тригонометрический способ Виета, использование возвратных уравнений и т. д. [1,2,3].
Алгоритм интегрирования с переменным числом стадий для.
Для численного решения (18) используем метод установления, который заключается в том, что для стационарной задачи строится нестационарный процесс, решение которого с течением времени устанавливается к решению исходной задачи. Рассмотрим задачу.
Касательная. Задачи на касательную | Статья в журнале.
Приведем алгоритм решения этой задачи. 1. Составляем уравнение касательной к графику
Составим уравнение касательной к графику заданной функции в точке : Так как эта прямая
Затем используя прямые методы, решение интегрального уравнения сведено к конечной.
Численная реализация разностного метода решения одной.
Положить ; задать начальное приближение искомого решения во внутренних узлах
Изучить методы решения нелинейных уравнений: ‒ Шаговый метод. Самый точный из численных методов решения; подходит для решения очень сложных уравнений, но усложняется.