Тема 1. Численные методы решения уравнений

Тема 1. Численные методы решения уравнений

Уравнение называется алгебраическим, если его можно представить в виде:

Тема 1. Численные методы решения уравнений - student2.ru (1.1)

Формула (1.1) – каноническая форма записи алгебраического уравнения. Если уравнение Тема 1. Численные методы решения уравнений - student2.ru не удается привести к виду (1.1) заменой переменных, то уравнение называется трансцендентным.

Решить уравнение означает найти такие значения x, при которых уравнение превращается в тождество.

Известно, что уравнение (1.1) имеет ровно n корней – вещественных или комплексных. Если n=1, 2, 3 [и иногда 4 (биквадратное уравнение], то существуют точные методы решения уравнения (1.1). Если же n>4 или уравнение – трансцендентное, то таких методов не существует, и решение уравнения ищут приближенными методами. Всюду при дальнейшем изложении будем предполагать, что f(x) – непрерывная функция. Методы, которые мы рассмотрим, пригодны для поиска некратных (то есть изолированных) корней.

Отделение корня

Решение уравнения состоит из двух этапов: 1 – отделение корня, 2 – его уточнение.

Отделить корень – значит указать такой отрезок [a, b] , на котором содержится ровно один корень уравнения Тема 1. Численные методы решения уравнений - student2.ru .

Тема 1. Численные методы решения уравнений - student2.ru

Не существует алгоритмов отделения корня, пригодных для любых функций f(x). Если удастся подобрать такие a и b, что

1) f(a) f(b)<0 (1.2)

2) f( x) – непрерывная на [a, b] функция (1.3)

3) f( x) – монотонная на [a, b] функция (1.4)

то можно утверждать, что на отрезке [a, b] корень отделен.

Условия (1.2) –(1.4) – достаточные условия того, что корень на [a, b] отделен, то есть если эти условия выполняются, то корень отделен, но невыполнение, например, условий (1.3) или (1.4) не всегда означает, что корень не отделен.

Корень можно отделить аналитически и графически.

Пример. Аналитически отделить положительный корень уравнения Тема 1. Численные методы решения уравнений - student2.ru

Решение. Составим таблицу

x
Тема 1. Численные методы решения уравнений - student2.ru -5 -11 -11

1) f(2)f(3)<0

2) f(x) – непрерывная функция

3) Тема 1. Численные методы решения уравнений - student2.ru , следовательно, f(x) – монотонно возрастает на отрезке [2, 3].

Вывод: на отрезке [2, 3] корень отделен.

Графический метод отделения корня

Уравнение Тема 1. Численные методы решения уравнений - student2.ru представляют в виде j(x)=y(x), где j(x) и y(x) функции, более простые, чем f(x). Корень уравнения Тема 1. Численные методы решения уравнений - student2.ru - абсцисса точки пересечения графиков функций y=j(x) и y=y(x).

Пример: Тема 1. Численные методы решения уравнений - student2.ru Тема 1. Численные методы решения уравнений - student2.ru

Тема 1. Численные методы решения уравнений - student2.ru

Метод касательных

Дополнительные предположения: f(x) дважды непрерывно дифференцируема на отрезке [a, b], на котором отделен корень; Тема 1. Численные методы решения уравнений - student2.ru сохраняют постоянные знаки на отрезке [a, b].

За х0 выбирается точка, в которой выполняется условие:

Тема 1. Численные методы решения уравнений - student2.ru (1.5)

Это либо точка a, либо точка b. Далее вычисляются точки

Тема 1. Численные методы решения уравнений - student2.ru (1.6)

до тех пор, пока не выполнится условие

Тема 1. Численные методы решения уравнений - student2.ru (1.7) Тогда Тема 1. Численные методы решения уравнений - student2.ru - приближенное значение корня с погрешностью e.

Тема 1. Численные методы решения уравнений - student2.ru

Для решения уравнений, в том числе трансцендентных, в Scilab применяют функцию fsolve(x0,f)

где x0 - начальное приближение, f - функция, описывающая левую часть уравнения f(x)=0.

Систему нелинейных уравнений также можно решить, используя функцию fsolve.

Тема 1. Численные методы решения уравнений - student2.ru

clc

function [y]=ff(x)

y(1)=x(1)^2+x(2)^2-1;

y(2)=x(1)^3-x(2);

endfunction

t=fsolve([-.5,-.5],ff)

t = - 0.8260314 - 0.5636242

Тема 2. Аппроксимация

Аппроксимация – замена одной функции f(x) другой, похожей функцией Q(x). Например, функцию, полученную экспериментально в виде таблицы или графика, надо записать в аналитическом виде, либо функцию, достаточно сложную нужно заменить похожей, но более простой.

Простейший способ аппроксимации – замена функции f(x) алгебраическим полиномом

Тема 1. Численные методы решения уравнений - student2.ru (2.1)

Аппроксимацию называют точечной, если f(x) задана на конечном множестве точек (узлов) Тема 1. Численные методы решения уравнений - student2.ru

Если f(x) задана на непрерывном множестве значений аргументов, то аппроксимацию называют интегральной.

Тема 1. Численные методы решения уравнений - student2.ru

Необходимо так подобрать коэффициенты в формуле (2.1), чтобы Q(x,cj) как можно меньше отличалась от f(x).

Метод наименьших квадратов

Чаще всего при точечной аппроксимации используют меру

Тема 1. Численные методы решения уравнений - student2.ru (2.2)

а коэффициенты сj ищут из условия

Тема 1. Численные методы решения уравнений - student2.ru (2.3)

Это точечная квадратичная аппроксимация.

При интегральной аппроксимации

Тема 1. Численные методы решения уравнений - student2.ru

Тема 1. Численные методы решения уравнений - student2.ru

Описанный подход к задаче аппроксимации называется методом наименьших квадратов. Условия (2.2) и (2.3) геометрически означают: из всех кривых заданного вида выбирают ту, у которой сумма площадей квадратов отклонений – наименьшая.

В математике кривую y=Q(x,cj) называют регрессией Y на X . Это означает, что у функции y=Q(x,cj) число искомых коэффициентов меньше количества узлов, в крайнем случае возможно равенство

n+1£m+1 (2.4)

Если аргументом считать y, а x – функцией, то говорят о регрессии X на Y. Отклонения в этом случае откладывают по оси X.

Тема 1. Численные методы решения уравнений - student2.ru

Регрессия Y на X

Тема 1. Численные методы решения уравнений - student2.ru

Регрессия X на Y

2.2 Нахождение коэффициентов cj при точечной аппроксимации методом наименьших квадратов

Минимальное значение K в формуле (2.2) достигается при тех сj , при которых

Тема 1. Численные методы решения уравнений - student2.ru (2.5)

Тема 1. Численные методы решения уравнений - student2.ru (2.6)

Здесь xi и yi – заданные числа.

Пример: построить аппроксимирующую параболу для функции

x
y -1,2 -0,1 1,3 1,8

Составим таблицу

Тема 1. Численные методы решения уравнений - student2.ru

Запишем систему нормальных уравнений для нашей кривой.

Тема 1. Численные методы решения уравнений - student2.ru или Тема 1. Численные методы решения уравнений - student2.ru

Решая систему, получаем:

Тема 1. Численные методы решения уравнений - student2.ru или Тема 1. Численные методы решения уравнений - student2.ru

Вычисляя K по формуле (2.9), получаем: K=0,0720. У любой параболы второй степени значение K, вычисленное по формуле (2.9), будет больше, чем 0,0720.

Неполиномиальная регрессия

Часто на практике возникает следующая задача. Имеется объект исследования (ОИ), который характеризуется набором переменных: входных ( Тема 1. Численные методы решения уравнений - student2.ru ) и выходной y.

Тема 1. Численные методы решения уравнений - student2.ru

Требуется найти зависимость выходной переменной от входных

Тема 1. Численные методы решения уравнений - student2.ru ( 2.7 )

При этом считается, что механизмы процессов, протекающих внутри объекта исследования, неизвестны, а имеются только соответствующие значения входных и выходных параметров. Такая задача носит название задачи «черного ящика».

Рассмотрим простейший случай, когда на вход действует только одна переменная x и требуется найти

Тема 1. Численные методы решения уравнений - student2.ru ( 2.8 )

Решение задачи моделирования в этом случае состоит из 4 этапов:

1) проведение эксперимента

2) выбор вида экспериментальной зависимости

3) нахождение параметров выбранной зависимости

4) исследование модели и выводы.

На первом этапе задаем значения входной переменной x из возможного диапазона и замеряем соответствующие значения выходной переменной y.

x x0 x1 xm
y y0 y1 ym

По экспериментальным данным строим график

 
  Тема 1. Численные методы решения уравнений - student2.ru

Рис. 2.2 Экспериментальная кривая

На втором этапе необходимо выбрать формулу, которая могла бы описать экспериментальные данные. Во втором столбце таблицы 2.1 приведены основные типовые формулы, наиболее часто встречающиеся в задачах химии и химической технологии.

Таблица 2.1

Формула Средние точки
Тема 1. Численные методы решения уравнений - student2.ru Тема 1. Численные методы решения уравнений - student2.ru Тема 1. Численные методы решения уравнений - student2.ru
Тема 1. Численные методы решения уравнений - student2.ru Тема 1. Численные методы решения уравнений - student2.ru Тема 1. Численные методы решения уравнений - student2.ru
Тема 1. Численные методы решения уравнений - student2.ru Тема 1. Численные методы решения уравнений - student2.ru Тема 1. Численные методы решения уравнений - student2.ru
Тема 1. Численные методы решения уравнений - student2.ru Тема 1. Численные методы решения уравнений - student2.ru Тема 1. Численные методы решения уравнений - student2.ru
Тема 1. Численные методы решения уравнений - student2.ru Тема 1. Численные методы решения уравнений - student2.ru Тема 1. Численные методы решения уравнений - student2.ru
Тема 1. Численные методы решения уравнений - student2.ru Тема 1. Численные методы решения уравнений - student2.ru Тема 1. Численные методы решения уравнений - student2.ru

Здесь х0, y0 – первая, а хm , ym – последняя точки исходной таблицы.

Для каждой функции рассчитывается средняя точка. Все эти точки наносятся на график с экспериментальной кривой.

Выбирается та кривая, средняя точка которой находится ближе всего к экспериментальной кривой. Покажем, как решается эта часть задачи на конкретном примере.

Пусть x=[5 7 9 11 13];y=[2.5 4.9 8 12.1 16.9];

Тогда

xap =(5+13)/2=9

xgео =(5*13)^0.5= 8.06

xgar =2*5*13/(5+13)= 7.22

yap =(2.5+16.9)/2= 9.7

ygeo = (2.5*16.9)^0.5= 6.5

ygar = 2*2.5*16.9/(2.5+16.9)= 4.36

Средняя точка для первой кривой –(8.06, 6.5)

Средняя точка для второй кривой –(9, 6.5)

Средняя точка для третьей кривой –(9, 4.36)

Средняя точка для четвертой кривой –(8.06, 9.7)

Средняя точка для пятой кривой –(7.22, 9.7)

Средняя точка для шестой кривой –(7.22, 4.36)

Нанесем на график исходные данные (х и у) и соединим соседние точки отрезками прямых. На этот же график нанесем средние точки для каждой кривой, снабдив их соответствующими номерами.

Тема 1. Численные методы решения уравнений - student2.ru

Эту часть задачи можно решить, построив график на Scilab.

clc

xbasc()

x=[5 7 9 11 13];y=[2.5 4.9 8 12.1 16.9];

n=length(x);

xap=(x(1)+x(n))/2

xgar=2*x(1)*x(n)/(x(1)+x(n))

xgeo=(x(1)*x(n))^.5

yap=(y(1)+y(n))/2

ygar=2*y(1)*y(n)/(y(1)+y(n))

ygeo=(y(1)*y(n))^.5

t=[xgeo xap xap xgeo xgar xgar]

z=[ygeo ygeo ygar yap yap ygar]

plot(x,y)

plot(t,z,'*')

for i=1:6

xnumb(t(i),z(i),i)

end

Из графика видно, что ближе всего к экспериментальной кривой лежит точка с номером 1, поэтому таблично заданную функцию будем заменять первой кривой Тема 1. Численные методы решения уравнений - student2.ru .

Приведем полученную кривую к линейному виду.

Кривую Тема 1. Численные методы решения уравнений - student2.ru (как и любую другую из таблицы 2.1) приводят к линейному виду (то есть к виду Тема 1. Численные методы решения уравнений - student2.ru ) заменой переменных. Тема 1. Численные методы решения уравнений - student2.ru В этом случае g=lny, c0=lna, c1=b, t=lnx.

Коэффициенты (параметры) с0 и с1 находят методом наименьших квадратов, то есть добиваются того, чтобы Тема 1. Численные методы решения уравнений - student2.ru было минимальным. Эта задача сводится к решению системы нормальных уравнений:

Тема 1. Численные методы решения уравнений - student2.ru или Тема 1. Численные методы решения уравнений - student2.ru

В нашем примере получается система:

Тема 1. Численные методы решения уравнений - student2.ru Тема 1. Численные методы решения уравнений - student2.ru

Решая ее, получаем с0=- 2.294 с1= 1.995

Зная с0 и с1 , находят a и b. В нашем примере

Тема 1. Численные методы решения уравнений - student2.ru

Таким образом, мы заменили таблично заданную функцию кривой Тема 1. Численные методы решения уравнений - student2.ru .

Подставляя в полученную формулу с конкретными значениями a и b значения x0, x1, … , xm и сравнивая их с исходными данными, делают выводы об адекватности математической модели.

В нашем случае модель получилась адекватной.

x y Тема 1. Численные методы решения уравнений - student2.ru
2.5 2.480
4.9 4.853
8.011
12.1 11.956
16.9 16.685

Решим эту часть задачи на scilab.

Решение.

Тема 1. Численные методы решения уравнений - student2.ru . Покажем, как найти неизвестные коэффициенты a и b на Scilab.

clc

xbasc()

function [zr]=F(c,z)

zr=z(2)-(c(1)*z(1)^c(2))

endfunction

x=[5 7 9 11 13];

y=[2.5 4.9 8 12.1 16.9];

z=[x;y];

c=[1;1];

[d,S]=datafit(F,z,c)

t=5:.01:13;

Yt=(d(1)*t^d(2));

plot2d(x,y,-3);

plot2d(t,Yt);

S = 0.0067979

d = 0.0973802 2.0102774

В ответе d(1)= 0.0973802 это a, d(2)= 2.0102774 это b.

Таким образом, уравнение кривой, полученной на scilab, Тема 1. Численные методы решения уравнений - student2.ru

Тема 1. Численные методы решения уравнений - student2.ru

x y Тема 1. Численные методы решения уравнений - student2.ru
2.5 2.464
4.9 4.846
8.032
12.1 12.022
16.9 16.819

Тема 3. Интерполяция

Интерполяция – частный случай аппроксимации, когда аппроксимирующая кривая проходит через все точки таблицы, то есть

Тема 1. Численные методы решения уравнений - student2.ru (3.1)

Задача интерполяции ставится так:

Функция y=f(x) задана в виде таблицы

x x0 x1 xm
y y0 y1 ym

Требуется вычислить значение функции в точке x, не совпадающей ни с одним из узлов таблицы. Если эта точка лежит между узлами, то такая задача называется интерполяцией. Если точка x лежит за пределами таблицы, то говорят о задаче экстраполяции.

Очевидно, что коэффициенты сj можно найти методом наименьших квадратов, положив n=m.

Рассмотрим другие способы решения этой задачи.

Интерполяция по Лагранжу

Построим полином

Тема 1. Численные методы решения уравнений - student2.ru (3.2)

Выражение (3.2) – алгебраический полином степени n. Покажем, что он проходит через все точки таблицы при n=2 и n=3.

Тема 1. Численные методы решения уравнений - student2.ru

Тема 1. Численные методы решения уравнений - student2.ru ; Тема 1. Численные методы решения уравнений - student2.ru ; Тема 1. Численные методы решения уравнений - student2.ru ;

Тема 1. Численные методы решения уравнений - student2.ru

Тема 1. Численные методы решения уравнений - student2.ru

Выражение (3.2) – интерполяционный полином Лагранжа, проходящий через все точки таблицы. Теперь, чтобы найти значение функции в некоторой точке x* , которой нет в таблице, достаточно подставить эту точку вместо x в формулу (3.2) и считать, что

y*=Ln(x*) (3.3) Тема 1. Численные методы решения уравнений - student2.ru

Обратная интерполяция

Постановка задачи:

Функция y задана в виде таблицы

x x0 x1 xn
y y0 y1 yn

Требуется найти значение аргумента x*, при котором функция принимает некоторое значение y*.

Задачу можно решить по крайней мере двумя различными способами.

1. а) Строим интерполяционный полином (как правило, ИПЛ) Тема 1. Численные методы решения уравнений - student2.ru

в) Решаем уравнение Тема 1. Численные методы решения уравнений - student2.ru любым подходящим численным методом (например, методом деления отрезка пополам).

Тема 1. Численные методы решения уравнений - student2.ru

Из рисунка видно, что задача может иметь не единственное решение.

2. а) Строим интерполяционный полином Тема 1. Численные методы решения уравнений - student2.ru

в) Подставляем в этот полином значение y* и получаем x*:

Тема 1. Численные методы решения уравнений - student2.ru ( 3.8 )

Тема 1. Численные методы решения уравнений - student2.ru

Как правило, решения задачи, полученные первым и вторым способом, будут различными.

Численное дифференцирование

Численное дифференцирование – это вычисление производных от функций, заданных в виде таблицы. Задача решается в два этапа. На первом этапе строится интерполяционный полином. На втором этапе находятся производные (первая, вторая и т.д.) от этого полинома.

Если шаг постоянный, то на первом этапе строят ИПН.

Тема 1. Численные методы решения уравнений - student2.ru

Найдем первую производную от этого полинома.

Тема 1. Численные методы решения уравнений - student2.ru ( 3.9 )

Аналогично,

Тема 1. Численные методы решения уравнений - student2.ru ( 3.10 )

Если производную нужно вычислить в каком-либо узле таблицы (например, в точке х=х0), то формулы (3.9) и (3.10) упрощаются, так как Тема 1. Численные методы решения уравнений - student2.ru

Тема 1. Численные методы решения уравнений - student2.ru ( 3.11 )

Тема 1. Численные методы решения уравнений - student2.ru ( 3.12 )

Задача численного дифференцирования относится к числу некорректных задач. Это означает, что сколь угодно малые погрешности в исходных данных могут привести к большим погрешностям результата решения, поэтому к численному дифференцированию не следует прибегать без особой необходимости. По тем же причинам обычно не вычисляют производные старших порядков.

Нахождение значения производной в заданной точке на Scilab:

Найти Тема 1. Численные методы решения уравнений - student2.ru

clc

function y=f(x)

y=(x+2).^3+5*x;

endfunction

numdiff(f,1)

ans =

32.

Метод Эйлера

Перепишем уравнение (4.7) в виде

Тема 1. Численные методы решения уравнений - student2.ru

Тема 1. Численные методы решения уравнений - student2.ru Обозначим Тема 1. Численные методы решения уравнений - student2.ru . Тогда

Тема 1. Численные методы решения уравнений - student2.ru (4.8)

Формула (4.8) – формула метода Эйлера решения ОДУ первого порядка.

Тема 1. Численные методы решения уравнений - student2.ru

 
  Тема 1. Численные методы решения уравнений - student2.ru

Тема 1. Численные методы решения уравнений - student2.ru Тема 1. Численные методы решения уравнений - student2.ru Y *

Тема 1. Численные методы решения уравнений - student2.ru

Тема 1. Численные методы решения уравнений - student2.ru Тема 1. Численные методы решения уравнений - student2.ru Тема 1. Численные методы решения уравнений - student2.ru Тема 1. Численные методы решения уравнений - student2.ru

Тема 1. Численные методы решения уравнений - student2.ru

Тема 1. Численные методы решения уравнений - student2.ru Тема 1. Численные методы решения уравнений - student2.ru Тема 1. Численные методы решения уравнений - student2.ru Тема 1. Численные методы решения уравнений - student2.ru *

Тема 1. Численные методы решения уравнений - student2.ru Тема 1. Численные методы решения уравнений - student2.ru Тема 1. Численные методы решения уравнений - student2.ru X

Результатом численного решения дифференциального уравнения является таблица

X Тема 1. Численные методы решения уравнений - student2.ru Тема 1. Численные методы решения уравнений - student2.ru Тема 1. Численные методы решения уравнений - student2.ru Тема 1. Численные методы решения уравнений - student2.ru
Y Тема 1. Численные методы решения уравнений - student2.ru Тема 1. Численные методы решения уравнений - student2.ru Тема 1. Численные методы решения уравнений - student2.ru Тема 1. Численные методы решения уравнений - student2.ru

где Тема 1. Численные методы решения уравнений - student2.ru заданы, Тема 1. Численные методы решения уравнений - student2.ru (шаг hi задается и может быть как переменным, так и постоянным, а yi (i=1, 2, … , n) вычисляются по соответствующим формулам (например, по формуле (4.8)).

Пример:

Тема 1. Численные методы решения уравнений - student2.ru h=0.2 Тема 1. Численные методы решения уравнений - student2.ru

Тема 1. Численные методы решения уравнений - student2.ru

x Тема 1. Численные методы решения уравнений - student2.ru Тема 1. Численные методы решения уравнений - student2.ru Тема 1. Численные методы решения уравнений - student2.ru
0.2 0.021403 0.0214
0.4 0.04 0.091825  
0.6 0.128 0.222119  

Погрешность метода Эйлера – o(h).

Тема 1. Численные методы решения уравнений

Уравнение называется алгебраическим, если его можно представить в виде:

Тема 1. Численные методы решения уравнений - student2.ru (1.1)

Формула (1.1) – каноническая форма записи алгебраического уравнения. Если уравнение Тема 1. Численные методы решения уравнений - student2.ru не удается привести к виду (1.1) заменой переменных, то уравнение называется трансцендентным.

Решить уравнение означает найти такие значения x, при которых уравнение превращается в тождество.

Известно, что уравнение (1.1) имеет ровно n корней – вещественных или комплексных. Если n=1, 2, 3 [и иногда 4 (биквадратное уравнение], то существуют точные методы решения уравнения (1.1). Если же n>4 или уравнение – трансцендентное, то таких методов не существует, и решение уравнения ищут приближенными методами. Всюду при дальнейшем изложении будем предполагать, что f(x) – непрерывная функция. Методы, которые мы рассмотрим, пригодны для поиска некратных (то есть изолированных) корней.

Отделение корня

Решение уравнения состоит из двух этапов: 1 – отделение корня, 2 – его уточнение.

Отделить корень – значит указать такой отрезок [a, b] , на котором содержится ровно один корень уравнения Тема 1. Численные методы решения уравнений - student2.ru .

Тема 1. Численные методы решения уравнений - student2.ru

Не существует алгоритмов отделения корня, пригодных для любых функций f(x). Если удастся подобрать такие a и b, что

1) f(a) f(b)<0 (1.2)

2) f( x) – непрерывная на [a, b] функция (1.3)

3) f( x) – монотонная на [a, b] функция (1.4)

то можно утверждать, что на отрезке [a, b] корень отделен.

Условия (1.2) –(1.4) – достаточные условия того, что корень на [a, b] отделен, то есть если эти условия выполняются, то корень отделен, но невыполнение, например, условий (1.3) или (1.4) не всегда означает, что корень не отделен.

Корень можно отделить аналитически и графически.

Пример. Аналитически отделить положительный корень уравнения Тема 1. Численные методы решения уравнений - student2.ru

Решение. Составим таблицу

x
Тема 1. Численные методы решения уравнений - student2.ru -5 -11 -11

1) f(2)f(3)<0

2) f(x) – непрерывная функция

3) Тема 1. Численные методы решения уравнений - student2.ru , следовательно, f(x) – монотонно возрастает на отрезке [2, 3].

Вывод: на отрезке [2, 3] корень отделен.

Наши рекомендации