Решение уравнений и интерполяция функций

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

Рубрика Математика
Вид курсовая работа
Язык русский
Дата добавления 10.02.2019
Размер файла 592,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

25

Решение уравнений и интерполяция функций

Реферат

Пояснительная записка содержит 30 страниц, 15 рисунков, 2 таблицы, 4 источника.

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

Объектом исследования являются приближенные численные методы решения некоторых математических и инженерных задач, а также программное обеспечение, реализующее эти методы.

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

Пояснительная записка к курсовому проекту оформлена в текстовом редакторе Microsoft Office 2016. Графики нелинейных функций построены с помощью программы Matlab. При решении обыкновенных дифференциальных уравнений использовалась среда математического моделирования Matlab.

Введение

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

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

Любая прикладная задача формируется исходя из определенного физического смысла некоторого процесса (распределение тепла в стержне, описание траектории движения объектов). Прикладная математическая задача может быть сформулирована, например, из описания некоторой экономической модели (задача распределения ресурсов, задача планирования производства, транспортная задача перевозки грузов, оптимальных в заданном смысле). Следовательно, для постановки любой прикладной задачи нужна математическая модель. Поэтому, можно выделить следующие этапы решения задач на ЭВМ:

1) описание математической модели задачи на основе физической или экономической модели;

2) изучение методов решения поставленной математической модели задачи и создание новых методов;

3) выбор метода решения задачи исходя из заданной точности решения и особенностей задачи;

4) составление блок-схемы программы для решения задачи на ЭВМ;

5) отладка программы и оценка полученных результатов;

6) решение задачи на ЭВМ, построение графиков, получение оценки погрешностей, обоснование результатов.

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

1. Решение нелинейных уравнений

Нелинейными уравнениями называются уравнения вида

,(1)

где - нелинейная функция, которая может относиться к трем типам:

1) нелинейная алгебраическая функция вида

;

2) трансцендентные функции - тригонометрические, обратные тригонометрические, логарифмические, показательные и гиперболические функции;

3) различные комбинации этих функций, например, .

Решением нелинейного уравнения (1) является такая точка , которая при подстановке в уравнение (1) обращает его в тождество. На практике не всегда удается подобрать такое решение. В этом случае решение уравнения (1) находят с применением приближенных (численных) методов. Тогда решением будет являться такая точка , при подстановке которой в уравнение (1) последнее будет выполняться с определенной степенью точности, т.е. , где - малая величина. Нахождение таких решений и составляет основу численных методов и вычислительной математики.

Решение нелинейных уравнений разделяется на два этапа: отделение корней уравнений и уточнение корней нелинейных уравнений.

На первом этапе необходимо исследовать уравнение и выяснить, имеются корни или нет. Если корни имеются, то узнать, сколько их, и затем определить интервалы, в каждом из которых находится единственный корень.

Первый способ отделения корней - графический. Исходя из уравнения (1), можно построить график функции . Тогда точка пересечения графика с осью абсцисс является приближенным значением корня. Если f(x) имеет сложный вид, то ее можно представить в виде разности двух функций . Так как , то выполняется равенство . Если построить два графика , , то абсцисса точки их пересечения будет приближенным значением корня уравнения.

Второй способ отделения корней нелинейных уравнений - аналитический. Он основывается на следующих трех теоремах.

Теорема 1. Если функция непрерывна на отрезке и меняет на концах отрезка знак (т.е. ), то на содержится хотя бы один корень.

Теорема 2. Если функция непрерывна на отрезке , выполняется условие вида и производная сохраняет знак на , то на отрезке имеется единственный корень.

Теорема 3. Если функция является многочленом n-ой степени и на концах отрезка меняет знак, то на имеется нечетное количество корней (если производная сохраняет знак на , то корень единственный). Если на концах отрезка функция не меняет знак, то уравнение (1) либо не имеет корней на , либо имеет четное количество корней.

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

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

1.1 Метод простых итераций

Пусть известно, что нелинейное уравнение (1) имеет на отрезке единственный вещественный корень . Требуется найти этот корень с заданной точностью. Применяя тождественные преобразования, приведем уравнение к виду

.(2)

Выберем произвольно приближенное значение корня и вычислим . Найденное значение подставим в правую часть соотношения (2) и вычислим . Продолжая процесс вычислений дальше, получим числовую последовательность . Если существует предел этой последовательности, то он и является корнем уравнения (2). В самом деле, пусть . Тогда, переходя к пределу в равенстве (2)

и учитывая непрерывность функции на отрезке , получим

или .

Корень можно вычислить с заданной точностью по итерационной формуле

(3)

Достаточное условие, при котором итерационный процесс сходится, определяет следующая теорема: пусть функция определена и дифференцируема на отрезке , причем все ее значения и выполняется условие

,(4)

тогда процесс итераций (3) сходится независимо от начального значения и предельное значение является единственным корнем уравнения (2) на .

Геометрическая интерпретация метода простых итераций заключается в следующем: если построить два графика функций и , то абсцисса точки их пересечения будет корнем . Построим итерационный процесс. Зададим . Вычислим - первое приближение и - второе приближение. В первом случае (рисунок 1, а) процесс сходящийся (), во втором (рисунок 1, б) - расходящийся ().

а б

Рисунок 1 - Сходящийся (а) и расходящийся (б) итерационные процессы

Часто, если итерационный процесс расходится из-за невыполнения условия (4), нелинейное уравнение можно привести к виду, допускающему сходящиеся итерации.

Выполнения условия сходимости можно добиться путем перехода от исходного уравнения к эквивалентному виду следующим образом: сначала умножить обе части уравнения (1) на , а затем прибавить к обеим частям x, тогда . Обозначив , получим уравнение (2). Константа с выбирается так, чтобы выполнялось достаточное условие сходимости итерационного процесса (4), т.е.

(5)

Условие (5) равносильно двойному неравенству

.

Метод простых итераций и почти все другие итерационные методы имеют два достоинства:

1) являются универсальными и самоисправляющимися, то есть любая неточность на каком-либо шаге итераций отражается не на конечном результате, а лишь на количестве итераций. Подобные ошибки устойчивы даже по отношению к грубым ошибкам (сбоям ЭВМ), если только ошибка не выбрасывает очередное приближение за пределы области сходимости;

2) позволяют достигнуть любой заданной точности при любом начальном приближении .

Недостатки методов:

- трудность приведения уравнения (1) к виду (2).

- если начальное приближение находится далеко от корня, то число итераций при этом увеличивается, а объем вычислений возрастает.

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

1) Когда два последних приближения отличается между собой по модулю на заданную величину :

.(6)

Одного критерия (6) недостаточно, так как в случае крутизны графика, данное условие будет выполнено, но может находиться далеко от корня;

2) Когда последнее вычисленное приближение к корню удовлетворяет уравнению с заданной точностью:

.(7)

Отдельно критерия (7) бывает недостаточно, так как при пологой функции условие может быть выполнено, но может быть далеко от корня.

1.2 Метод Ньютона

Пусть уравнение (1) имеет на интервале единственный корень, причем существует непрерывная на производная . Метод Ньютона служит для уточнения корней нелинейных уравнений в заданном интервале. Его можно рассматривать как частный случай метода простых итераций, если

.

Тогда итерационный процесс осуществляется по формуле:

.(8)

Геометрически этот процесс представлен на рисунке 2. Он означает замену на каждой итерации k графика кривой касательной к ней в точках с координатами .

Рисунок 2 - Геометрическая интерпретация метода Ньютона

Достаточное условие сходимости обеспечивается выбором начальной точки . Начальным приближением служит один из концов отрезка , в зависимости от того, в каком из них выполняется достаточное условие сходимости

.(9)

При произвольном начальном приближении итерации сходятся, если

.(10)

Метод Ньютона рекомендуется применять для нахождения простых действительных корней уравнения (1).

Достоинством метода является то, что он обладает скоростью сходимости, близкой к квадратичной.

Недостатки метода:

- не при любом начальном приближении метод Ньютона сходится, а лишь при таком, для которого ;

- если , т.е. касательная к графику почти параллельна оси абсцисс, то и метод расходится;

- если , т.е. касательная к графику почти параллельна оси ординат, то и продвижения к корню не будет.

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

.(11)

1.3 Решение нелинейного уравнения методом простых итераций

Нелинейное уравнение:

(12)

Для приблизительной оценки корней нелинейного уравнения построим график функции с помощью программы Matlab (рисунок 3).

Рисунок 3 - График нелинейной функции y = f(x)

Из рисунка 3 видно, что график функции пересекает ось абсцисс примерно в точке x=-2.

С помощью программы Matlab напишем код для решения нелинейного уравнения методом простых итераций.

x=-10:0.1:10;

y=3*atan(x)+3;

figure(1);

plot (x,y,'b');

hold on;

axis ([-8 8 -8 8]);

xlabel ('x');

ylabel ('y');

grid on;

title ('Метод итераций');

%----Uravnenie----%

eps = 0.001; %tochnost

x0 = -2; % nachalnoe priblijenie

iter = 0; %schetchik

x = x0;

razn = 100; %nachalnoe znachenie

while abs(razn)>eps

xn = x+(3*atan(x)+3)/(-10);

razn=xn-x;

x=xn;

iter=iter+1;

end

disp(x);

disp(iter);

disp(razn);

Листинг 1 - Код программы, реализующий метод простых итераций

Рисунок 4 - Результат работы программы

Результат работы программы представлен на рисунке 4. В данном случае итерационный процесс сходится; корень уравнения x= -1.5672 найден с точностью за 44 итераций.

1.4 Решение нелинейного уравнения методом Ньютона

Нелинейное уравнение:

(13)

Для приблизительной оценки корней нелинейного уравнения (13) построим график функции с помощью программы MatLab (рисунок 5).

Рисунок 5 - График нелинейной функции y = f(x)

График функции пересекает ось абсцисс в точке, находящаяся на отрезке [3;4].

С помощью программы Matlab напишем код для решения нелинейного уравнения методом Ньютона.

x=2:0.1:10;

y=log(1./(x-2))+0.5;

figure(1);

plot(x,y,'b');

axis([2 10 -4 8]);

xlabel('x');

ylabel('y');

grid on;

title ('Ньютон');

% ---- Uravnenie ---- %

eps=0.001;

kmax=100;

x=3;

[F F1]=fun1(x);

[x1,D]=Newton(x,F,F1);

k=0;

while (abs(D)>eps)&&(k<kmax)

x=x1;

[F F1]=fun1(x);

[x1,D]=Newton(x,F,F1);

k=k+1;

disp(x1);

end

disp('Root:');

disp(x);

disp('Number of iterations:');

disp(k);

disp('Margin of error');

disp(D)

function [ x1, D ] = Newton(x, F, F1)

D=-F./F1;

x1=x+D;

end

function [F F1] = fun1(x)

F=log(1./(x-2))+0.5; %расчет ф-ции

if nargout>1

F1= 1./(2-x); %1 производная

end

Листинг 2 - Код программы, реализующий метод Ньютона

Рисунок 6 - Результат работы программы

Результат работы программы представлен на рисунке 6. Корень уравнения x= 3,6487 найден с точностью за 3 итерации.

Вывод

Были рассмотрены два метода решения нелинейных уравнений: Ньютона и простых итераций. Метод простых итераций является простейшим для нахождения корней нелинейных уравнений. Он уступает в скорости сходимости методу Ньютона, который в свою очередь, модифицированный метод простых итераций.

2. Интерполяция функций

Пусть функция задана таблицей своих значений на интервале :

(14)

Задача интерполяции - найти функцию , принимающую в точках те же значения .

Условие интерполяции:

(15)

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

Если ищется только на отрезке - то это задача интерполяции, а если за пределами первоначального отрезка, то это задача экстраполяции.

- интерполяция - определение промежуточных значений функции по известному дискретному набору значений функции.

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

- аппроксимация - определение в явном виде параметров функции, описывающей распределение точек.

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

(16)

При этом искомый полином называется интерполяционным полиномом.

При построении одного многочлена для всего рассматриваемого интервала , для нахождения коэффициентов многочлена необходимо использовать все уравнения системы (16). Данная система содержит уравнение, следовательно, с ее помощью можно определить коэффициент. Поэтому максимальная степень интерполяционного многочлена , и многочлен принимает вид:

(17)

2.1 Кусочно-квадратичная интерполяция

В случае квадратичной интерполяции, для каждых трех узловых точек строится уравнение параболы:

, (18)

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

(19)

Из системы уравнений (19) можно найти коэффициенты:

Рисунок 7 - Кусочно-квадратичная интерполяция

2.2 Кусочно-квадратичная интерполяция функции по таблице значений

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

Таблица 1 - Экспериментальные данные для интерполяции

16

Экспериментальные точки

Точки вычисления f(x)

1

x

-5

-2,5

1,5

4,5

5,5

6,6

8,1

11

-10

-1

3

5

6

9,5

y

1,5

2,5

5

8,2

3

0,5

4

7,4

С помощью программы Matlab напишем программу для интерполяции.

x0 = [ -5 -2.5 1.5 4.5 5.5 6.6 8.1 11 ];

y0 = [ 1.5 2.5 5 8.2 3 0.5 4 7.4 ];

x = [-10 -1 3 5 6 9.5 ];

figure(1);

plot(x0,y0,'r');

axis([-2 18 -12 18]);

xlabel('x');

ylabel('y');

grid on;

hold on;

plot(x0,y0,'o');

n=length(x0);

n1=length(x);

y=ones(1,n1);

tmp=ones(1,3);

tmpy=ones(1,3);

rez = ones(1,3);

i = 1; % сброс счетчика перед началом цикла

while(i<=n-1)

j = 0; % сброс счетчика перед началом циклов

if(i==n-1)

while(j<=2)

tmp(j+1)=x0(i-1+j);

tmpy(j+1)=y0(i-1+j);

j=j+1;

end

else

while(j<=2)

tmp(j+1)=x0(i+j);

tmpy(j+1)=y0(i+j);

j=j+1;

end

end

rez = gauss(tmp,tmpy);

l=x0(i):0.1:x0(i+1);

m=rez(1)*l.^2+rez(2)*l+rez(3);

plot(l,m,'b');

k=1;

while(k<=n1) % ищем расчетные точки, которые попали в текущий интервал

if(x(k)>=x0(i)&& x(k)<=x0(i+1))

y(k)=rez(1)*x(k)^2+rez(2)*x(k)+rez(3); % значения в расчетных точках

end

k=k+1;

end

i=i+1;

end

plot(x,y,'*');

disp('Расчетные точки');

disp(x);

disp('Значения в расчетных точках');

disp(y);

Листинг 3 - Код программы, реализующий кусочно-квадратичную интерполяцию

а б

Рисунок 8 - Интерполяция функции

Значения функции в расчетных точках приведены на рисунке 9

Рисунок 9 - Результат выполнения программы

2.3 Интерполяция с помощью кубических сплайнов

Сплайном называется кусочно-полиномиальная функция, определенная на отрезке [a, b] и имеющая на этом отрезке некоторое количество непрерывных производных. Преимущества интерполяции сплайнами по сравнению с обычными методами интерполяции - в сходимости и устойчивости вычислительного процесса.

Формулы для вычисления коэффициентов сплайна:

Если учесть, что то вычисление c можно провести с помощью метода прогонки для трёхдиагональной матрицы.

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

Таблица 2 - Экспериментальные данные для интерполяции

16

Экспериментальные точки

Точки вычисления f(x)

2

x

-10

-6,5

-4

-2

-1,5

-0,5

2

4

7,5

-9

-3

-2,5

-1

1

6

9

y

-1

3

5

4

0

-2,5

0

3

5

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

x0 = [ -10 -6.5 -5 -2 -1.5 -0.5 2 4 7.5 ];

y0 = [ -1 3 5 4 0 -2.5 0 3 5 ];

x = [-9 -3 -2.5 -1 1 6 9 ];

n = length(x0) -1;

y = ones(1,n-1);

h=ones(1,n);

D = ones(1,n-1);

A = ones(1,n-1);

B = ones(1,n-1);

C = ones(1,n-1);

i = 1;

while (i<=n)

h(i)=x0(i+1)-x0(i);

i=i+1;

end

i=1;

while (i<=n-1)

D(i)=6*((y0(i+2)-y0(i+1))/h(i+1)-(y0(i+1)-y0(i))/h(i));

i=i+1;

end

A(1)=0;

i=2;

while (i<=n-1)

A(i)=h(i);

i=i+1;

end

i=1;

while (i<=n-1)

B(i)=2*(h(i)+h(i+1));

i=i+1;

end

i=1;

while (i<=n-2)

C(i)=h(i+1);

i=i+1;

end

%метод прогонки

Q=zeros(1,n);

R=zeros(1,n);

i=1;

while (i<=n-1)

Q(i+1)=-(C(i)/(B(i)+A(i)*Q(i)));

R(i+1)=(D(i)-A(i)*R(i))/(B(i)+A(i)*Q(i));

i=i+1;

end

%обратный ход

M=zeros(1,n-1);

M(n-1)=R(n);

i=n-2;

while (i>=1)

M(i)=Q(i+1)*M(i+1)+R(i+1);

i=i-1;

end

M = [0, M, 0];

%формула для сплайна

k=1;

while(k<n)

i=1;

while(i<=n)

if(x(k)>=x0(i) && x(k)<=x0(i+1))

y(k)=(1/(6*h(i)))*((M(i)*(x0(i+1)-x(k))^3)+M(i+1)*(x(k)-x0(i))^3)+(1/h(i))*((y0(i)-((M(i)*h(i)^2)/6))*(x0(i+1)-x(k))+(y0(i+1)-((M(i+1)*h(i)^2)/6))*(x(k)-(x0(i))));

else

if(x(k)<x0(1))

y(k)=y0(1)+((-((x0(2)-x0(1))*M(2)))/6+(y0(2)-y0(1))/(x0(2)-x0(1)))*(x(k)-x0(1));

l=x(1):0.1:x0(1);

m=y0(1)+((-((x0(2)-x0(1))*M(2)))/6+(y0(2)-y0(1))/(x0(2)-x0(1)))*(l-x0(1));

figure(1);

plot(l,m,'b');

hold on;

end

if(x(k)>x0(n))

y(k)=y0(n+1)+((((x0(n+1)-x0(n))*M(n))/6+((y0(n+1)-y0(n))/(x0(n+1)-x0(n))))*(x(k)-x0(n+1)));

l=x0(n+1):0.1:x(n-1);

m=y0(n+1)+((((x0(n+1)-x0(n))*M(n))/6+((y0(n+1)-y0(n))/(x0(n+1)-x0(n))))*(l-x0(n+1)));

figure(1);

plot(l,m,'b');

hold on;

end

end

l=x0(i):0.01:x0(i+1);

m=(1/(6*h(i)))*((M(i)*(x0(i+1)-l).^3)+M(i+1)*(l-x0(i)).^3)+(1/h(i))*((y0(i)-((M(i)*h(i)^2)/6))*(x0(i+1)-l)+(y0(i+1)-((M(i+1)*h(i)^2)/6))*(l-(x0(i))));

figure(1);

plot(l,m,'b');

hold on;

i=i+1;

end

k=k+1;

end

disp(x);

disp(y);

figure(1);

hold on;

plot(x0,y0,'r');

plot(x0,y0,'o');

axis([-12 20 -10 16]);

xlabel('x');

ylabel('y');

grid on;

plot(x,y,'*');

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

Рисунок 10 - Результат работы программы

График полученной функции представлен ниже, на рисунке 11.

Рисунок 11 - Интерполяция функции кубическим сплайном

Вывод

Интерполяция позволяет из набора значений получить некоторую графическую зависимость и рассчитать значения в промежуточных точках. При столкновении с научными и инженерными расчётами, приходится оперировать наборами значений, полученных опытным путём или методом случайной выборки. Как правило, на основании этих наборов требуется построить функцию, на которую могли бы с высокой точностью попадать другие получаемые значения, для этого подходит одна из разновидностей аппроксимации - интерполяция. В данной работе представлены метод кусочно-квадратичной интерполяции и интерполяции кубическими сплайнами. Графики, построенные двумя разными способами, похожи. Только график, построенный при помощи кубических сплайнов, более плавный и более точный. Значения функций в расчетных точках отличаются между собой при разных способах вычисления, это демонстрирует нам погрешность методов. Метод интерполяции кубическими сплайнами более точный, чем кусочно-квадратичная интерполяция.

3. Решение обыкновенных дифференциальных уравнений

Дифференциальные уравнения являются основным математическим инструментом моделирования и анализа разнообразных явлений и процессов в науке и технике.

Методы их решения подразделяются на два класса:

аналитические методы, в которых решение получается в виде аналитических функций;

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

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

Решить дифференциальное уравнение

(20)

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

.

3.1 Метод Эйлера

Этот метод является сравнительно грубым и применяется в основном для ориентировочных расчетов. Однако идеи, положенные в основу метода Эйлера, являются исходными для ряда других численных методов.

Пусть дано обыкновенное дифференциальное уравнение (ОДУ) с начальными условиями (задача Коши):

(21)

и удовлетворяются условия существования и единственности решения.

Требуется найти решение задачи Коши на отрезке . Найдем решение в виде таблицы . Для этого разобьем отрезок на n равных частей и построим последовательность

,

где - шаг интегрирования.

Проинтегрируем исходное уравнение на отрезке :

Полученное соотношение можно переписать как

.(22)

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

.

Подставляя полученный результат в формулу (22), получим основную расчетную формулу метода Эйлера:

.(23)

Вычисление значений осуществляется с использованием формулы (23) следующим образом. По заданным начальным условиям и y0, полагая в выражении (23), вычисляется значение

.(24)

Далее, определяя значение аргумента x по формуле , используя найденное значение y1 и полагая в формуле (23) , вычисляем следующее приближенное значение интегральной кривой как

.(25)

Поступая аналогичным образом при , определяем все остальные значения yk, в том числе последнее значение

,(26)

которое соответствует значению аргумента .

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

Метод Эйлера может быть применен к решению систем дифференциальных уравнений.

Пусть задана система двух уравнений первого порядка:

(27)

с начальными условиями

.

Необходимо найти решение этой задачи Коши. Проводя аналогичные рассуждения, получаем расчетные формулы вида:

(28)

где h - шаг интегрирования.

При расчетах полагается, что и . В результате применения расчетной схемы (28) получается приближенное представление интегральных кривых и в форме двух ломанных Эйлера, построенных по полученным таблицам . Точность метода Эйлера .

3.2 Метод Эйлера-Коши

Метод Эйлера-Коши (метод Хойна) является моделированным методом Коши, где на каждом шаге выполняется два действия. Сначала «грубо» рассчитывается

(29)

Затем полученное значение используется для более точного расчета по формуле

(30)

3.3 Решение ОДУ методом Эйлера

ОДУ первого порядка (задача Коши):

(31)

Отрезок от 3,8 до 5,8 с шагом 0,2

Пишем код программы с методом решения в среде MatLab с указанием интервала с шагом и начального приближения. Результат работы программы представлен на рисунке 12. График показан на рисунке 13.

x0= 3.8:0.2:5.8;

n=length(x0);

y0=ones(1,n);

y0(1)=0.9;

h=0.2;

i=0;

x=x0;

for x=3.8:0.2:5.6

i=i+1;

y0(i+1)=y0(i)+h*(log(6-x)+(1/(x-6))-y0(i));

end

splins1(x0,y0);

disp(y0);

function splins1(x0, y0)

n = length(x0) -1;

h=ones(1,n);

D = ones(1,n-1);

A = ones(1,n-1);

B = ones(1,n-1);

C = ones(1,n-1);

i = 1;

while (i<=n)

h(i)=x0(i+1)-x0(i);

i=i+1;

end

i=1;

while (i<=n-1)

D(i)=6*((y0(i+2)-y0(i+1))/h(i+1)-(y0(i+1)-y0(i))/h(i));

i=i+1;

end

A(1)=0;

i=2;

while (i<=n-1)

A(i)=h(i);

i=i+1;

end

i=1;

while (i<=n-1)

B(i)=2*(h(i)+h(i+1));

i=i+1;

end

i=1;

while (i<=n-2)

C(i)=h(i+1);

i=i+1;

end

%метод прогонки

Q=zeros(1,n);

R=zeros(1,n);

i=1;

while (i<=n-1)

Q(i+1)=-(C(i)/(B(i)+A(i)*Q(i)));

R(i+1)=(D(i)-A(i)*R(i))/(B(i)+A(i)*Q(i));

i=i+1;

end

%обратный ход

M=zeros(1,n-1);

M(n-1)=R(n);

i=n-2;

while (i>=1)

M(i)=Q(i+1)*M(i+1)+R(i+1);

i=i-1;

end

M = [0, M, 0];

%формула для сплайна

k=1;

while(k<n)

i=1;

while(i<=n)

l=x0(i):0.02:x0(i+1);

m=(1/(6*h(i)))*((M(i)*(x0(i+1)-l).^3)+M(i+1)*(l-x0(i)).^3)+(1/h(i))*((y0(i)-((M(i)*h(i)^2)/6))*(x0(i+1)-l)+(y0(i+1)-((M(i+1)*h(i)^2)/6))*(l-(x0(i))));

figure(1);

plot(l,m,'b');

hold on;

i=i+1;

end

k=k+1;

end

hold on;

plot(x0,y0,'r');

plot(x0,y0,'o');

xlabel('x');

ylabel('y');

grid on;

end

Листинг 5 - Код программы, реализующий решение методом Коши

Рисунок 12 - Значения на выходе

Рисунок 13 - График функции

3.4 Решение ОДУ методом Эйлера-Коши

ОДУ первого порядка (задача Коши):

(32)

Отрезок от -1 до 3 с шагом 0,4

Пишем код программы с методом решения в среде MatLab с указанием интервала с шагом и начального приближения. Результат работы программы представлен на рисунке 14. График показан на рисунке 15.

x0=-1:0.4:3;

n = length(x0);

y0=ones(1,n);

y1=ones(1,n);

y0(1)=1;

h=0.4;

x=x0;

i=1;

for x=-1:0.4:2.6

y1(i+1)=y0(i)+h*(2*x^4-8*x^2-2*(x-y0(i)+1));

y0(i+1)=y0(i)+((h/2)*((2*x^4-8*x^2-2*(x-y0(i)+1))+((2*x^4+h-8*x^2+h-2*(x+h-y0(i+1)+1)))));

i=i+1;

end

lagranj(x0, y0);

disp(y0);

function lagranj(x0, y0)

x=1:0.:0;

n = length(x0);

n1 = length(x);

L=ones(1,n1);

k=1;

l=length(x);

while(k<=l)

S=0;

i=1;

while(i<=n)

P=1;

j=1;

while(j<=n)

C=x0(i)-x0(j);

if(i==j)

j=j+1;

else

P=P*(x(k)-x0(j))/C;

j = j+1;

end

end

S=S+P*y0(i);

i=i+1;

end

L(k)=S;

k=k+1;

S

end

figure(1);

hold on;

plot(x,L,'b');

plot(x0,y0,'o');

axis([-20 10 -60 10]);

xlabel('x');

ylabel('y');

grid on;

plot(x0,y0,'r');

end

Листинг 6 - Код программы, реализующий решение методом Эйлера-Коши

Рисунок 14 -Значения после окончания работы программы

Рисунок 15 - График функции

Вывод

Были рассмотрены 2 метода решения ОДУ: Эйлера и Эйлера - Коши. В методе Эйлера происходит движение не по интегральной кривой, а по касательной к ней. На каждом шаге касательная находится уже для новой интегральной кривой (что и дало название методу - метод ломаных), таким образом ошибка будет возрастать с отдалением x от x0. То есть метод дает низкую точность. Метод Эйлера-Коши базируется на предыдущем, однако здесь апостериорная погрешность контролируется на каждом шаге вычисления, что повышает точность.

Заключение

Задачи, на которые ответ нужно дать в виде числа, как известно, решаются с помощью математических методов. На сегодняшний день существует три основных группы таких методов: аналитические, графические и численные.

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

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

Недостаток аналитических методов: аналитические методы применимы лишь к небольшому числу, как правило, не очень сложных по своей структуре задач. Так, например, до сих пор не удалось решить в общем виде уравнение пятой степени.

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

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

Основным инструментом для решения сложных математических моделей и задач в настоящее время являются численные методы. Они сводят решение задачи к выполнению конечного числа арифметических действий над числами и дают результат в виде числового значения с погрешностью, приемлемой для данной задачи.

Численные методы разработаны давно. Однако при вычислениях вручную они могли использоваться лишь для решения не слишком трудоемких задач. С появлением компьютеров, которые за короткое время могут выполнить миллиарды операций, начался период бурного развития численных методов и внедрения их в практику

К инженерным приложениям численных методов можно отнести расчеты магнитных и электростатических линз для заряженных частиц, различного рода радиотехнические расчеты, включая, например, проектирование СВЧ-волноводов. В инженерной практике решаются численными методами различные задачи теоретической механики, например, задачи столкновения.

Одно из самых «приземленных» применений численных методов заключается в 3D-моделировании и в работе с компьютерной графикой, в частности в увеличении или уменьшении размеров изображения.

Библиографический список

численный решение уравнение программа

1. Вержбицкий В.М. Численные методы. Линейная алгебра и нелинейные уравнения. М.: Оникс 21 век, 2005. - 636 с.

2. Вержбицкий В.М. Численные методы. Математический анализ и обыкновенные дифференциальные уравнения. М.: Оникс 21 век, 2005. - 400 с.

3. Бахвалов Н.С. Численные методы / Н.С. Бахвалов, Н.П. Жидков, Г.М. Кобельков - М.: Бином. Лаборатория знаний, 2008. - 432 с.

4. Ракитин В.И. Практическое руководство по методам вычислений / Ракитин В.И. - М.: Москва. Высшая школа 1998г. - 374 с.

Размещено на Allbest.ru

...

Подобные документы

  • Методы решения нелинейных уравнений: касательных и хорд, результаты их вычислений. Алгоритм и блок схема метода секущих. Исследование характерных примеров для практического сравнения эффективности рассмотренных методов разрешения нелинейных уравнений.

    дипломная работа [793,2 K], добавлен 09.04.2015

  • Изучение численных методов приближенного решения нелинейных систем уравнений. Составление на базе вычислительных схем алгоритмов; программ на алгоритмическом языке Фортран - IV. Приобретение практических навыков отладки и решения задач с помощью ЭВМ.

    методичка [150,8 K], добавлен 27.11.2009

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

    курсовая работа [378,5 K], добавлен 08.01.2013

  • Численные методы решения систем линейных уравнений: Гаусса, простой итерации, Зейделя. Методы аппроксимации и интерполяции функций: неопределенных коэффициентов, наименьших квадратов. Решения нелинейных уравнений и вычисление определенных интегралов.

    курсовая работа [322,7 K], добавлен 27.04.2011

  • Сущность и графическое представление методов решения нелинейных уравнений вида F(x)=0. Особенности метода хорд, бисекции, простой итерации, касательных и секущих. Проверка результатов с помощью встроенных функций и оценка точности полученных значений.

    контрольная работа [316,1 K], добавлен 09.11.2010

  • Особенности решения линейных и нелинейных уравнений. Характеристика и практическое применение и различных методов при решении уравнений. Сущность многочлена Лагранжа и обратного интерполирования. Сравнение численного дифференцирования и интегрирования.

    курсовая работа [799,6 K], добавлен 20.01.2010

  • Понятие и отличительные особенности численных методов решения, условия и возможности их применения. Оптимизация функции одной переменной, используемые методы и закономерности их комбинации, сравнение эффективности. Сущность и разновидности интерполяции.

    реферат [273,3 K], добавлен 29.06.2015

  • Сравнение методов простой итерации и Ньютона для решения систем нелинейных уравнений по числу итераций, времени сходимости в зависимости от выбора начального приближения к решению и допустимой ошибки. Описание программного обеспечения и тестовых задач.

    курсовая работа [3,1 M], добавлен 26.02.2011

  • Решение эллиптических и параболических дифференциальных уравнений в частных производных. Суть метода Кранка-Николсона и теории разностных схем для теплопроводности. Построение численных методов с помощью вариационных принципов, описание Matlab и Mathcad.

    курсовая работа [1,4 M], добавлен 13.03.2011

  • Неизвестная функция, ее производные и независимые переменные - элементы дифференциального уравнения. Семейство численных алгоритмов решения обыкновенных дифференциальных уравнений, их систем. Методы наименьших квадратов, золотого сечения, прямоугольников.

    контрольная работа [138,9 K], добавлен 08.01.2016

  • Анализ методов решения систем дифференциальных уравнений, которыми можно описать поведение материальных точек в силовом поле, законы химической кинетики, уравнения электрических цепей. Этапы решения задачи Коши для системы дифференциальных уравнений.

    курсовая работа [791,0 K], добавлен 12.06.2010

  • Анализ методов решения систем нелинейных уравнений. Простая итерация, преобразование Эйткена, метод Ньютона и его модификации, квазиньютоновские и другие итерационные методы решения. Реализация итерационных методов с помощью математического пакета Maple.

    курсовая работа [820,5 K], добавлен 22.08.2010

  • Понятие Диофантовых уравнений, их сущность и особенности, методика и этапы решения. Великая теорема Ферма и порядок ее доказательства. Алгоритм решения иррациональных уравнений. Метод поиска Пифагоровых троек. особенности решения уравнения Каталана.

    учебное пособие [330,2 K], добавлен 23.04.2009

  • Изучение нестандартных методов решения задач по математике, имеющих широкое распространение. Анализ метода функциональной, тригонометрической подстановки, методов, основанных на применении численных неравенств. Решение симметрических систем уравнений.

    курсовая работа [638,6 K], добавлен 14.02.2010

  • Виды дифференциальных уравнений: обыкновенные, с частными производными, стохастические. Классификация линейных уравнений второго порядка. Нахождение функции Грина, ее применение для решения неоднородных дифференциальных уравнений с граничными условиями.

    курсовая работа [4,8 M], добавлен 29.04.2013

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

    курсовая работа [508,1 K], добавлен 16.12.2015

  • Решение задач вычислительными методами. Решение нелинейных уравнений, систем линейных алгебраических уравнений (метод исключения Гаусса, простой итерации Якоби, метод Зейделя). Приближение функций. Численное интегрирование функций одной переменной.

    учебное пособие [581,1 K], добавлен 08.02.2010

  • Решение систем линейных алгебраических уравнений методом простой итерации. Полиномиальная интерполяция функции методом Ньютона с разделенными разностями. Среднеквадратическое приближение функции. Численное интегрирование функций методом Гаусса.

    курсовая работа [2,4 M], добавлен 14.04.2009

  • Математическое объяснение метода Эйлера, исправленный и модифицированный методы. Блок-схемы алгоритмов, описание, текст и результаты работы программы. Решение обыкновенных дифференциальных (нелинейных) уравнений первого порядка с начальными данными.

    курсовая работа [78,1 K], добавлен 12.06.2010

  • Исследование сущности и сфер применения метода итераций. Нелинейные уравнения. Разработка вычислительный алгоритм метода итераций. Геометрический смысл. Составление программы решения систем нелинейных уравнений методом итераций в среде Turbo Pascal.

    реферат [183,7 K], добавлен 11.04.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.