Метод дополнительного аргумента

Особенности применения метода дополнительного аргумента к решению характеристической системы. Оценка доказательства эквивалентности систем. Изучение доказательства существования решения задачи Коши. Дискретизация исходной задачи и её решение итерациями.

Рубрика Математика
Вид дипломная работа
Язык русский
Дата добавления 21.10.2017
Размер файла 2,6 M

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

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

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

Оглавление

Введение

1. Постановка начальной задачи

2. Применение метода дополнительного аргумента к решению характеристической системы

3. Доказательство эквивалентности систем (8) и (26)

4. Доказательство существования решения задачи Коши

5. Постановка задачи численного расчёта

6. Дискретизация исходной задачи и её решение итерациями

7. Программа и её описание. Результаты вычислений

Заключение

Литература

эквивалентность коша итерация дискретизация

Введение

Разработано несколько разных методов для исследования разрешимости нелинейных дифференциальных уравнений в частных производных первого порядка. Например, всем известный классический метод характеристик, метод Галеркина, метод потоков. Как и любой метод, каждый из них имеет свои преимущества и свои недостатки. Нельзя выделить какой-либо метод, позволяющий решать любые дифференциальные уравнения в частных производных первого порядка. Каждый из известных методов хорошо применим только к определенному классу уравнений. Если, например, обратиться к тому же самому методу характеристик, то оказывается, что он с успехом применяется лишь в случае, когда коэффициенты перед производными не содержат неизвестных функций. А для систем квазилинейных дифференциальных уравнений или решения нелинейных дифференциальных уравнений реально его применять довольно сложно. В первую очередь, это связано с тем, что при применении метода характеристик для таких уравнений в соответствующем интегральном уравнении появляется суперпозиция неизвестных функций. В последнее время широкое развитие получил, в частности, метод дополнительного аргумента. Он позволяет свести решение исходной задачи к интегральному уравнению или системе интегральных уравнений. В этом уравнении неизвестная функция зависит от трех независимых переменных, но сами уравнения достаточно простые по своей структуре. Для них достаточно просто доказать существование дифференцируемого решения, исследовать качественные свойства решения, а также построить численное решение. В частности, для этого можно использовать метод последовательных приближений. Сущность метода дополнительного аргумента, его применение к решению нелинейных дифференциальных уравнений рассматриваются далее.

1. Постановка начальной задачи

В области и рассмотрим нелинейное дифференциальное уравнение:

И пусть задано следующее начальное условие

Продифференцируем данное уравнение по х:

Обозначим Тогда уравнение (3) перепишется в виде:

Исходное уравнение (1) в наших новых обозначениях перепишется так:

Преобразуем его так:

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

Таким образом, нелинейное уравнение (1) м свели к системе из двух квазилинейных уравнений (8). С учётом (2) зададим начальное условие для функции :

Покажем, что функция , определяемая системой уравнений (8) и начальными условиями (2) и (9), будет являться искомым решением уравнения (1) с начальным условием (2). Для этого достаточно показать, что

Продифференцируем первое уравнение системы по x:

(10)

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

(11)

Обозначим через , тогда из равенство (11) перепишется в виде:

или:

При всех и функция ограничена. Кроме того,

.

Значит, можно определить константу , что при . А это и означает, что

, а значит функция , определяемая системой уравнений (8) и начальными условиями (2) и (9), будет являться искомым решением уравнения (1) с начальным условием (2), что и требовалось доказать.

2. Применение метода дополнительного аргумента к решению характеристической системы

Применяя метод характеристик к обоим уравнениям системы (8), получим следующую систему из трёх уравнений:

(13)

Исследуем начальную задачу (8), (2), (9) при помощи метода дополнительного аргумента. Введём следующие обозначения:

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

Второе уравнение системы (14) можно рассматривать как линейное неоднородное уравнение первого порядка относительно функции , которая зависит от . Тогда методом Эйлера (метод интегрирующего множителя) можно найти :

Далее, будем искать такое решение системы, которое при перейдёт в точку , то есть

Также будем учитывать и другие начальные условия:

Пользуясь формулой Ньютона-Лейбница из первого уравнения системы (14) получим следующее интегральное уравнение:

Из условия (15) , поэтому уравнение (18) можно переписать в виде:

= (19)

Из второго уравнения системы (14) аналогично получим следующее интегральное уравнение:

Из (17) , а из (19) при получим =, а значит и уравнение (20) перепишется в виде:

Снова используя формулу Ньютона-Лейбница, получим = и . Поэтому (21) можно переписать так:

Совершенно аналогично переходим от третьего уравнения системы (14) к уравнению (23):

Из (23) вытекает, что

Аналогично из (22):

Итак, мы перешли к следующей системе из двух уравнений:

3. Доказательство эквивалентности систем (8) и (26)

Покажем, что если решением системы уравнений (26) являются непрерывно-дифференцируемые и ограниченные вместе со своими первыми производными функции и , то функции , будут решением задачи Коши (8), (2), (9) при где .

Продифференцируем (22) по :

Умножим второе равенство на :

Получившееся равенство сложим с первым:

Обозначим через , а через тогда последнее равенство перепишется в виде:

Аналогично продифференцируем (23) по :

Умножим второе равенство на :

Сложим получившееся равенство с первым:

Последнее равенство с учётом обозначений , перепишем в виде:

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

Обозначим через:

Тогда из (27) и (28):

Меняя порядок интегрирования, будем иметь:

Обозначим через , тогда для всех

Обозначим через , тогда:

Складывая, получаем:

Обозначим через . Очевидно, что для любого

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

Подставим функции

С учётом равенств (29) и (24), получим тождество:

Аналогично для второго уравнения системы:

Учитывая (30) и (25), получим тождество:

Проверим, что функции удовлетворяют начальным условиям (2) и (9). Для этого подставим в (26) .

В результате приходим к равенствам:

которые подтверждают, что решение системы (26) удовлетворяет начальным условиям (2), (9).

Итак, мы доказали, что решение задачи (8), (2), (9) даёт решение системы (26), и наоборот, непрерывно дифференцируемое решение системы (26) при ) будет решением задачи (8), (2), (9). То есть эквивалентность двух систем показана.

4. Доказательство существования решения задачи Коши (1)-(2)

Осталось доказать существование ограниченного непрерывно дифференцируемого решения системы уравнений (26), тем самым будет доказано существование классического решения задачи Коши (1), (2).

Введём некоторые обозначения и определения.

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

Введём следующие обозначения:

где - произвольно зафиксированное положительное число,

Также будем пользоваться ранее введённым обозначением:

Для произвольной функции и мы положим:

Лемма 1. Пусть , причем и подобраны таким образом, что выполняются неравенства

Пусть, далее - положительный корень уравнения

где - любое число из интервала (0,)

и для любого

где

Тогда при система уравнений (26) имеет единственное решение.

Доказательство.

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

и будем строить последовательности функций

таким образом, что для всех

В силу (31), (32) из (34) и (33) все , будут ограничены:

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

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

следовательно, удовлетворяет условию Липшица с константой :

где , а значит

Аналогично для функции

Из этого равенства выводим, что

Из двух последних слагаемых (36):

С учётом этих равенств получим из (36)

Аналогично из (35):

Сложим последние равенства (37) и (38):

Рассмотрим вектор . Будем доказывать, что последовательные приближения сходятся по норме к вектору . За норму вектора положим сумму норм и :

Тогда с учётом введённых обозначений равенство (39) перепишется в виде:

Пусть - положительный корень уравнения . Тогда при любом ряд сходится к вектору . Именно, мы можем представить в виде суммы:

мажорируется сходящимся (так как рядом

(здесь взято .

Это означает, что его частичная сумма сходится к вектору по норме.

А это и означает, что ряды и также сходятся соответственно к функциям и по норме. Перейдя к пределу в равенствах (33) и (34), получим, что функции и , будут удовлетворять системе (26).

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

где.

Лемма 2. При выполнении условий леммы 1 , .

Доказательство.

Согласно (25) функция

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

С учётом этого функция

также непрерывна и ограничена в .

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

С учетом того, что

получаем:

Приводя подобные, получаем:

Аналогично для функции :

Складывая получившиеся равенства, получаем:

Вспоминая, что

а также, что

получаем:

Обозначая за

Снова введём в рассмотрение вектор . За его норму положим сумму норм и

Тогда получаем:

При имеем

Далее, так как , а , , то , поэтому

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

А это означает, что последовательность ограничена по норме. Следовательно, ограничены по норме и последовательности и .

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

С помощью метода последовательных приближений доказывается, что уравнения (39) и (40) имеют решения, принадлежащие пространству .

Из равенств (42) и (43):

Аналогично из равенств (41) и (44):

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

Переходя к норме в неравенствах (45) и (46), получаем

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

получаем, что для всех будет выполняться неравенство:

При имеем , поэтому из предыдущего неравенства вытекает:

Таким образом, для любого будет выполняться неравенство:

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

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

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

Складывая получившиеся неравенства, получаем:

Обозначим

Тогда неравенство перепишется в виде:

То есть

При имеем

Далее, так как , а , , то , поэтому

Обозначим

Тогда неравенство перепишется в виде:

Увеличивая число , получаем:

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

А это означает, что последовательность ограничена по норме. Следовательно, ограничены по норме и последовательности и .

Чтобы несколько облегчить доказательство её сходимости, рассмотрим вначале линейное интегральное уравнение относительно неизвестных функций и и рассмотрим вектор

где

где

Аналогично для последовательности :

где

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

Переходя к норме в неравенствах (45) и (46), получаем

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

получаем, что для всех будет выполняться неравенство:

При имеем , поэтому из предыдущего неравенства вытекает:

Таким образом, для любого будет выполняться неравенство:

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

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

В результате для последовательностей {} и {} установлены следующие свойства:

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

Аналогично , а значит

Таким образом, лемма 2 доказана.

На основе этих двух лемм и всего вышеизложенного, можно сформулировать общую теорему:

Теорема 1. Пусть на области и задано нелинейное дифференциальное уравнение:

И пусть задано следующее начальное условие

Если:

Функция непрерывна, ограничена, дважды непрерывно дифференцируема по переменным и все вторые, а также смешанные производные удовлетворяют по этим переменным условию Липшица и ограничены при всех значениях аргументов.

Пусть функция дважды непрерывно дифференцируема на , а её вторая производная ограничена и удовлетворяет условию Липшица.

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

5. Постановка задачи численного расчёта

Для решения исходной задачи воспользуемся системой (26) и, для удобства, третьим уравнением

Решение будем рассматривать в области

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

Пример 1. В качестве функции выберем . Тогда исходное уравнение примет вид:

В качестве начального условия возьмём функцию

Дифференцируя (47) по и полагая , , получаем следующее уравнение:

Используя метод характеристик, получаем:

А значит,

Следовательно, , .

Из равенства

cледует .

При а значит,

То есть

Выразив , получаем:

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

Интегрируя, получаем решение исходной задачи - функцию :

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

Теперь найдём решение исходного уравнения с помощью метода дополнительного аргумента.

Имеем:

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

Подставляя , получаем

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

Т.е.

Третье уравнение можно рассматривать как линейное неоднородное дифференциальное уравнение относительно переменной.

Помножим обе части уравнения на

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

И

Тогда, интегрируя, получаем:

Следовательно, функция будет равна

Подставляя находим постоянную :

Тогда

Итак, для программы численного решения исходного уравнения, потребуется три уравнения:

Возьмём , тогда:

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

Уравнение

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

6. Дискретизация исходной задачи и её решение итерациями

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

Задача численных расчётов - найти значения функции в узлах сетки и воспроизвести результат на графике. Конечной целью является графическое воспроизведение функции .

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

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

- массив значений функции

- массив значений функции

- массив значений функции

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

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

где - известная функция, а - неизвестная функция, которую нужно определить. Сама функция представляетя собой некоторый график:

Известно, что физический смысл интеграла - это площадь криволинейной трапеции. Будем рассматривать метод трапеций как наиболее точный при небольшой затрате процессорного времени на вычисления. Зададим сеточные функции и , будем считать параметром массива, притом . Очевидно, что при большом значении , а, следовательно, при большем количестве узлов, мы получим более точное решение. Итак, как известно, площадь трапеции определяется по формуле:

где - стороны трапеции. В нашем случае мы будем иметь следующую формулу:

Теперь можно записать окончательную формулу для :

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

7. Программа и её описание. Результаты вычислений

Текст основной программы приведён ниже.

Программа 1.

#include "stdafx.h"

#include <iostream>

#include <math.h> //необходимые заголовочные файлы

#include <conio.h>

#include <fstream>

using namespace std;

double U(double t,double x,double u)

{

return u;

}

double fi(double x)

{

return pow(x,2)/2; //функция , первое приближение

}

int _tmain(int argc, _TCHAR* argv[])

{

double T0=5; //определяем физические ограничения по t

const int nt=25;//число значений t

double T[nt]; //массив значений t

double S[nt]; //массив значений s

double dt=T0/(nt-1);//шаг по переменной t

T[0]=0;//начальное значение t, первый элемент массива

S[0]=0;

for (int i=1;i<nt;i++)

{

T[i]=T[i-1]+dt;//заполнение массива значений по t

S[i]=S[i-1]+dt;

}

double X0=20;//определяем ограничения по x

const int nx=20;//число значнеий x

double X[nx];//массив значений x

double dx;

dx=X0/(nx-1);//шаг по переменной x

X[0]=-X0/2;//первый элемент массива

for (int i=1;i<nx;i++)//заполнение массива значений по x

{

X[i]=X[i-1]+dx;

}

/*Массивы значений функций (V1 и V - два соседних приближения)*/

double u[nt][nx];

double (*eta)[nt][nx];

eta=new double[nt][nt][nx];

double (*eta1)[nt][nx];

eta1=new double[nt][nt][nx];

double (*V)[nt][nx];

V=new double[nt][nt][nx];

double (*W)[nt][nx];

W=new double[nt][nt][nx];

double (*V1)[nt][nx];

V1=new double[nt][nt][nx];

for (int i=0;i<nx;i++) /*заполнение массивов при (начальное условие )*/

{

u[0][i]=fi(X[i]);

eta[0][0][i]=X[i];

V[0][0][i]=u[0][i];

}

for (int i=0;i<nt;i++)

{

for (int j=0;j<nt;j++)

{

for (int k=0;k<nx;k++)

{

V[i][j][k]=fi(X[k]); //заполнение массива

}

}

}

for (int j=0;j<nt;j++)

{

for (int k=0;k<nx;k++)

{

u[j][k]=fi(X[k]); //определение функции

}

}

ofstream out("fi.txt");

out<<nx<<endl;

for (int i=0;i<nx;i++)

{

for (int j=0;j<nt;j++)//t

{

out<<u[j][i]<<"\t"; //запись значений функции в файл

}

out<<endl;

}

out.close();

/* определение переменных, с помощью которых обеспечивается выход из программы и сходимость последовательных приближений */

double sumst=0,sumst1=0,sumst2=0,sum0s=0,sum0s1=0,sum0s2=0;

double e=0.0001;

double dif=11;

double dif1=0;

double difeta=15;

double difeta1=0;

double dif2=0;

for (int n=0;n<5;n++)

{

for (int n=0;n<5;n++)

{

dif=0;//max raznost

difeta=0;//max raznost

//заполнение массива eta

for (int k=0;k<nx;k++)//x

{

for (int j=0;j<nt;j++)//t

{

for (int i=0;i<nt;i++)//s

{

if (i<=j)

{

sumst=0;

//вычисление интеграла

for (int s1=i;s1<j;s1++)

{

sumst+=V[s1][j][k]*dt;

}

eta1[i][j][k]=X[k]-sumst;

}

if (i>j)

{

sumst=0;

for (int s1=i;s1>j;s1--)

{

sumst+=V[s1][j][k]*dt;

}

eta1[i][j][k]=X[k]+sumst;

}

difeta1=fabs(eta1[i][j][k]-eta[i][j][k]);

if (difeta1>difeta) difeta=difeta1;

}

}

}

cout<<"difeta = "<<difeta<<endl;

//заполнение массива V [i][j][k] и W[i][j][k]

for (int k=0;k<nx;k++)//x

{

for (int j=0;j<nt;j++)//t

{

for (int i=0;i<nt;i++)//s

{

V1[i][j][k]=eta1[0][j][k]*exp(-2.0*i);

sum0s=0;

for (int s2=0;s2<i;s2++)

{

sum0s+=exp(2.0*s2)*V1[s2][j][k]*V1[s2][j][k]*dt;

}

W[i][j][k]=exp(-2.0*i)*(eta1[0][j][k]*eta1[0][j][k]*0.5+sum0s);

dif1=fabs(V1[i][j][k]-V[i][j][k]);

if (dif1>dif) dif=dif1;

}

}

}

cout<<dif<<endl;

if (fabs(dif2-dif)<e) break;

dif2=dif;

for (int k=0;k<nx;k++)//x

{

for (int j=0;j<nt;j++)//t

{

for (int i=0;i<nt;i++)//s

{

V[i][j][k]=V1[i][j][k]; /*последнее приближение становится предыдущим и цикл продолжается */

eta[i][j][k]=eta1[i][j][k]; //аналогично

}

}

}

}

for (int k=0;k<nx;k++)//x

{

for (int j=0;j<nt;j++)//t

{

u[j][k]=W[j][j][k]; /*присваиваем функции u значения массива W[j][j][k] */

}

}

}

ofstream out2("u.txt");

out2<<nx<<endl;

for (int i=0;i<nx;i++)

{

for (int j=0;j<nt;j++)//t

{

out2<<u[j][i]<<"\t"; //запись результатов в файл

}

out2<<endl;

}

out2.close();

/* запись файла значений известной функции u */

for (int k=0;k<nx;k++)//x

{

for (int j=0;j<nt;j++)//t

{

u[j][k]=(X[k]*X[k])/(4*exp(2.0*T[j])-2); }

}

ofstream out3("fu.txt");

out3<<nx<<endl;

for (int i=0;i<nx;i++)

{

for (int j=0;j<nt;j++)//t

{

out3<<u[j][i]<<"\t";

}

out3<<endl;

}

out3.close();

delete []eta;

delete []eta1;

delete []V;

delete []V1;

getch();

return 0;

}

Результаты вычислений записываются в три файла. Первый файл содержит значения функции . Графически её можно представить так:

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

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

Тогда графически это будет иметь вид:

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

Пример 2. Рассмотрим более сложное уравнение. В качестве функции выберем

Тогда исходное уравнение примет вид:

В качестве начального условия возьмём функцию

Тогда

Уравнения системы (26) перепишутся в виде:

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

Возьмём следующие значения параметров: Тогда функция f примет вид:

При увеличении значений значения функции стремятся к нулю.

Таким образом, в программе используются следующие уравнения:

Программа 2.

#include "stdafx.h"

#include <iostream>

#include <math.h>

#include <conio.h>

#include <fstream>

using namespace std;

double U(double t,double x,double u)

{

return u;

}

double fi(double x)

{

return exp(-pow(x,2));

}

double fi1(double x)

{

return -2*x*exp(-pow(x,2));

}

int _tmain(int argc, _TCHAR* argv[])

{

double T0=5;

const int nt=25;

double T[nt];

double S[nt];

double dt=T0/(nt-1);

T[0]=0;

S[0]=0;

for (int i=1;i<nt;i++)

{

T[i]=T[i-1]+dt;

S[i]=S[i-1]+dt;

}//return 2.0;

double X0=20;

const int nx=20;

double X[nx];

double dx;

dx=X0/(nx-1);

//cout<<dx<<endl;

X[0]=-X0/2;

for (int i=1;i<nx;i++)

{

X[i]=X[i-1]+dx;

}

double u[nt][nx];

double (*eta)[nt][nx];

eta=new double[nt][nt][nx];

double (*eta1)[nt][nx];

eta1=new double[nt][nt][nx];

double (*V)[nt][nx];

V=new double[nt][nt][nx];

double (*W)[nt][nx];

W=new double[nt][nt][nx];

double (*V1)[nt][nx];

V1=new double[nt][nt][nx];

double (*W1)[nt][nx];

W1=new double[nt][nt][nx];

for (int i=0;i<nx;i++)

{

u[0][i]=fi(X[i]);

eta[0][0][i]=X[i];

V[0][0][i]=u[0][i];

}

//V0(s,t,x)=fi(x)

for (int i=0;i<nt;i++)

{

for (int j=0;j<nt;j++)

{

for (int k=0;k<nx;k++)

{

V[i][j][k]=fi(X[k]);

//cout<<V[i][j][k]<<endl;

}

}

}

for (int j=0;j<nt;j++)

{

for (int k=0;k<nx;k++)

{

u[j][k]=fi(X[k]);

}

}

for (int i=0;i<nt;i++)

{

for (int j=0;j<nt;j++)

{

for (int k=0;k<nx;k++)

{

W[i][j][k]=fi1(X[k]);

//cout<<V[i][j][k]<<endl;

}

}

}

ofstream out("fi.txt");

out<<nx<<endl;

for (int i=0;i<nx;i++)

{

for (int j=0;j<nt;j++)//t

{

out<<u[j][i]<<"\t";

}

out<<endl;

}

out.close();

double sumst=0,sumst1=0,sumst2=0,sum0s=0,sum0s1=0,sum0s2=0;

double e=0.0001;

double dif=11;

double dif1=0;

double difeta=15;

double difeta1=0;

double dif2=0;

for (int n=0;n<5;n++)

{

for (int n=0;n<5;n++)

{

dif=0;//max raznost

difeta=0;//max raznost

for (int k=0;k<nx;k++)//x

{

for (int j=0;j<nt;j++)//t

{

for (int i=0;i<nt;i++)//s

{

if (i<=j)

{

sumst=0;

for (int s1=i;s1<j;s1++)

{

sumst+=V[s1][j][k]*dt;

}

eta1[i][j][k]=X[k]-sumst;//sumst=integral ot s(i) do t(j) ot Vn-1=sum(V*dt)

}

if (i>j)

{

sumst=0;

for (int s1=i;s1>j;s1--)

{

sumst+=V[s1][j][k]*dt;

}

eta1[i][j][k]=X[k]+sumst;//sumst=integral ot s(i) do t(j) ot Vn-1=sum(V*dt)

}

difeta1=fabs(eta1[i][j][k]-eta[i][j][k]);

if (difeta1>difeta) difeta=difeta1; //нахождение максимальной разности между приближениями eta

}

}

}

cout<<"difeta = "<<difeta<<endl;

for (int k=0;k<nx;k++)//x

{

for (int j=0;j<nt;j++)//t

{

for (int i=0;i<nt;i++)//s

{

for (int s2=0;s2<i;s2++)

{

sumst1+=(2/((1+V[s2][j][k])*(1+V[s2][j][k]))-2/((1+V[s2][j][k])*(1+V[s2][j][k])))*dt;

}

W1[i][j][k]=exp(-eta1[0][j][k]*eta1[0][j][k])*(-2*(eta1[0][j][k]))*sumst1;

sum0s=0;

for (int s2=0;s2<i;s2++)

{

sum0s+=(2/(1+V[s2][j][k])-2/(1+V[s2][j][k]))*dt;

}

sumst2=0;

for (int s2=0;s2<i;s2++)

{

sumst2+=(W[s2][j][k]*W[s2][j][k])*dt;

}

V1[i][j][k]=exp(-eta1[0][j][k]*eta1[0][j][k])+sum0s+sumst2;

//V1[i][j][k]=fi(X[k])*exp(-sum0s);

dif1=fabs(V1[i][j][k]-V[i][j][k]);

cout<<"ijk"<<"\t"<<i<<"\t"<<j<<"\t"<<k<<"\t"<<V1[i][j][k]<<"\t"<<V[i][j][k]<<"\tdif"<<dif<<endl;

if (dif1>dif) dif=dif1; //нахождение максимальной разности между соседними приближениями

}

}

}

cout<<dif<<endl;

if (fabs(dif2-dif)<e) break; //Условие завершения программы

dif2=dif;

for (int k=0;k<nx;k++)//x

{

for (int j=0;j<nt;j++)//t

{

for (int i=0;i<nt;i++)//s

{

V[i][j][k]=V1[i][j][k];

W[i][j][k]=W1[i][j][k];

eta[i][j][k]=eta1[i][j][k];

}

}

}

}

for (int k=0;k<nx;k++)//x

{

for (int j=0;j<nt;j++)//t

{

u[j][k]=V[j][j][k];

}

}

}

ofstream out2("u.txt");

out2<<nx<<endl;

for (int i=0;i<nx;i++)

{

for (int j=0;j<nt;j++)//t

{

out2<<u[j][i]<<"\t";

}

out2<<endl;

}

out2.close();

delete []eta;

delete []eta1;

delete []W;

delete []W1;

delete []V;

delete []V1;

getch();

return 0;

}

Результаты вычислений записываются в два файла. Первый файл содержит значения функции . Графически ( спомощью пакета для математических расчётов Scilab 5.2.2) её можно представить так:

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

Заключение

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

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

Доказательство существования решения задачи Коши (1) - (2) позволяет применять метод аргумента для решения уравнения (1) с различными функциями , что иллюстрируется примерами.

Литература

1. Алексеенко, С. Н., Эгембердиев Ш. А. Применение метода дополнительного аргумента к одномерному аналогу задачи протекания // Материалы IV научной конференции КРСУ, Бишкек, май 1997г. - Бишкек: КРСУ, 1997.-С.26.

2. Алексеенко, С. Н., Эгембердиев Ш. А. Применение метода дополнительного аргумента к системе нелинейных уравнений типа полной производной по времени // Исслед. по интегродифференциальным уравнениям. - Бишкек: Илим, 1997. - Вып.26. - С. 161-169.

3. Алексеенко, С. Н., Эгембердиев Ш. А. Применение метода дополнительного аргумента к одномерному варианту задачи протекания с краевыми условиями третьего типа для скорости // Исслед. по интегродифференциальным уравнениям. - Бишкек: Илим, 1998. - Вып.27. - С. 225-243.

4. Алексеенко, С. Н., Эгембердиев Ш. А. Решение системы уравнений в частных производных первого порядка с начально-краевыми условиями методом дополнительного аргумента // Традиции и новации в культуре университетского образования (КТУ): Сб. трудов международ. науч. конференц. - Бишкек: Технология, 1998. - С.106-112.

5. Смирнов В. И. Курс высшей математики. Т. IV, Физматгиз. 1958.

6. Петровский И.Г. Лекции по теории обыкновенных дифференциальных уравнений. Изд. «Наука». М. 1970. 280 с.

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

...

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

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

    дипломная работа [5,7 M], добавлен 25.05.2014

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

    презентация [107,6 K], добавлен 18.04.2013

  • Описание метода сведения краевой задачи к задаче Коши. Решение системы из двух уравнений с четырьмя неизвестными. Метод Рунге-Кутта. Расчет максимальной погрешности и выполнение проверки точности. Метод конечных разностей. Описание полученных результатов.

    курсовая работа [245,2 K], добавлен 10.07.2012

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

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

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

    курсовая работа [120,8 K], добавлен 27.01.2014

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

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

  • Слабые асимптотики произведения функций Хевисайда. Решение задачи Коши методом прямого интегрирования. Оценка задачи со ступенчатой функцией в качестве начального условия. Предел на бесконечности, получаемый при неограниченном уменьшении малого параметра.

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

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

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

  • Исследование методами математического анализа поведения функций при заданных значениях аргумента. Этапы решения уравнения функции и определения значения аргумента и параметра. Построение графиков. Сочетание тригонометрических, гиперболических функций.

    контрольная работа [272,3 K], добавлен 20.08.2010

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

    реферат [165,4 K], добавлен 24.08.2015

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

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

  • Метод Эйлера: сущность и основное содержание, принципы и направления практического применения, определение погрешности. Примеры решения задачи в Excel. Метод разложения решения в степенной ряд. Понятие и погрешность, решение с помощью метода Пикара.

    контрольная работа [129,0 K], добавлен 13.03.2012

  • Сущность методов сведения краевой задачи к задаче Коши и алгоритмы их реализации на ПЭВМ. Применение метода стрельбы (пристрелки) для линейной краевой задачи, определение погрешности вычислений. Решение уравнения сшивания для нелинейной краевой задачи.

    методичка [335,0 K], добавлен 02.03.2010

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

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

  • Математическое моделирование и особенности задачи распределения. Обоснование и выбор метода решения. Ручное решение задачи (венгерский метод), а также с использованием компьютера. Формулировка полученного результата в сопоставлении с условием задачи.

    курсовая работа [383,9 K], добавлен 26.05.2010

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

    реферат [99,0 K], добавлен 07.04.2015

  • Последовательность решения линейной краевой задачи. Особенности метода прогонки. Алгоритм метода конечных разностей: построение сетки в заданной области, замена дифференциального оператора. Решение СЛАУ методом Гаусса, конечно-разностные уравнения.

    контрольная работа [366,5 K], добавлен 28.07.2013

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

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

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

    курсовая работа [165,8 K], добавлен 12.10.2009

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

    курсовая работа [243,8 K], добавлен 11.05.2012

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