Научный журнал
Фундаментальные исследования
ISSN 1812-7339
"Перечень" ВАК
ИФ РИНЦ = 1,749

СВЯЗЬ РЕШЕНИЙ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ РАЗЛИЧНЫХ ВИДОВ И ПРИБЛИЖЕНИЕ РЕШЕНИЙ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ ЦЕПНЫМИ ДРОБЯМИ С ИСПОЛЬЗОВАНИЕМ СРЕДЫ ПРОГРАММИРОВАНИЯ

Рагимханова Г.С. 1 Кулиева Д.Р. 2 Рагимханова А.Р. 3 Гаджиева З.Д. 1
1 ФГБОУ ВО «Дагестанский государственный педагогический университет»
2 Министерство экономики и территориального развития Республики Дагестан
3 ФГБОУ ВО «Дагестанский государственный университет»
Рассмотрена связь между решениями общего уравнения Д. Риккати, линейного уравнения второго порядка и системы дифференциальных уравнений. Рассмотрена также задача Коши, решением которой является тригонометрическая функция tg x. Представлен листинг программы, разработанной в среде Delphi, для нахождения значений тригонометрической функции tg x, используя цепные дроби, и приведены приближенные значения этой функции с точностью до 15-ого знака. Результаты, полученные в данной статье, могут использоваться в исследованиях, которые связаны с разложениями функций в цепные дроби, а также при численном решении дифференциальных уравнений, где вопросы, связанные со скоростью сходимости, играют важную роль. Полученные результаты могут представлять интерес для специалистов по математическому анализу, дифференциальным уравнениям, специальным функциям математической физики и их приложениям, а также они могут быть применены при численном анализе задач.
дифференциальные уравнения
цепная дробь
приближение
1. Яралиева Б.С. Использование цепных дробей для решений дифференциальных уравнений и оценки адекватности математических моделей динамических систем: дис. … канд.техн.наук. – Махачкала, 2013. – 86 с.
2. Хованский А.Н. Приложение цепных дробей и их обобщений к вопросам приближенного анализа / А.Н. Хованский. – М.: ГИИТТЛ, 1956. – 203 с.
3. Агаханова Б.С. Оценка погрешности аппроксимации цепными дробями / Б.С. Агаханова, Н.Ш. Загиров // Вестник ДГУ. – 2011. – № 6. – С. 111–114.
4. Агаханова Б.С. Скорость сходимости цепных дробей / Б.С. Агаханова, Э.С. Давудова, Н.Ш. Загиров // Вестник ДГУ. – 2011. – № 6. – С. 115–119.
5. Рагимханова Г.С. Скорость сходимости некоторых цепных дробей и их приложения: дис. … канд. физ.-мат. наук. – Санкт-Петербург, 2003. – 78 с.
6. Осипов Д.Л. Delphi 7. Программирование Windows, OS X, iOS и Android / Д.Л. Осипов. – СПб.: БХВ-Петербург, 2014. – 464 с.

Нахождение оптимального алгоритма, т.е. такого, при выполнении которого потребуется наименьшее количество арифметических действий или наименьшее машинное время, является одной из актуальных проблем теории алгоритмов. Практически во всех наиболее часто используемых математических моделях природных явлений так или иначе используются дифференциальные уравнения. Поэтому поиск таких алгоритмов, которые позволяют аппроксимировать решения задач теории дифференциальных уравнений за счет выполнения наименьшего количества арифметических действий, является актуальной проблемой [1, с. 6–7].

Целью данной статьи является использование цепных дробей в качестве аппарата приближения [2].

I. Рассмотрим:

1. Общее уравнение Д. Риккати

petr01.wmf (1)

2. Линейное уравнение второго порядка

petr02.wmf (2)

3. Систему дифференциальных уравнений

petr03.wmf (3)

В (1)–(3) R, Q, P, P0, P1, P2, a, b, c – известные, непрерывные на некотором отрезке [a, b], функции; petr04.wmf – неизвестные функции [3].

Между решениями уравнений (1)–(3) существует связь, устанавливаемая следующими утверждениями.

Теорема 1. Если y – решение уравнения (1), то petr05.wmf будет решением уравнения (2).

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

petr06.wmf, petr07.wmf,

то

petr08.wmf

petr09.wmf

Последнее выражение равно нулю если подобрать P0, P1, P2 так, чтобы

petr10.wmf, petr11.wmf.

Теорема 2. Если u – решение уравнения (2), то petr12.wmf будет решением уравнения (1).

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

petr13.wmf.

Поэтому

petr14.wmfpetr15.wmf.

Последнее выражение равно нулю, если подобрать R, Q, P из условий

R = –1, petr16.wmf, petr17.wmf.

Теорема 3. Если пара (φ, ψ) – решение системы (3), то petr18.wmf будет решением уравнения (1).

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

petr19.wmfpetr20.wmf,

т.е. y есть решение уравнения (1), где R = –c, Q = 2a, P = b.

Теорема 4. Если y – решение уравнения (1) и petr22.wmf, то пара petr23.wmf, petr24.wmf будет решением системы (3).

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

petr26.wmf, petr27.wmf.

Так как

petr28.wmf petr29.wmf

то

petr30.wmf

petr31.wmf,

petr32.wmf.

Решая последнюю систему уравнений относительно φ и ψ, получим

petr33.wmf,

petr34.wmf.

II. Рассмотрим в этом пункте задачу Коши

petr35.wmf,

решением которой является тригонометрическая функция y = tgx [4]. Для нахождения значений тригонометрической функции y = tgx воспользуемся разложением функции в цепную дробь

petr36.wmf

для комплексных petr37.wmf, k – целое [5].

Ниже приводится код программы в среде Delphi для нахождения значений тригонометрической функции tgx и, приведены значения данной функции с точностью до 15-го знака по указанной формуле при помощи подходящих дробей petr38.wmf для petr39.wmf petr40.wmf, с использованием FR-алгоритма (прямого рекуррентного алгоритма). Этот алгоритм заключается в применении рекуррентных формул petr41.wmf, petr42.wmf, petr43.wmf petr44.wmf. При этом мы получаем значения petr45.wmf и, совершив еще n – 1 делений, мы получаем значения petr46.wmf. Общее число арифметических операций для нахождения petr47.wmf – 4n умножений, n сложений и одно деление.

При использовании FR-алгоритма трудность состоит в том, что даже если последовательность {fn} будет сходиться к конечному пределу, последовательности числителей {Pn} и знаменателей {Qn} подходящих дробей могут одновременно стремиться к 0 или к ∞, что требует время от времени выполнять перемасштабирование, чтобы не было машинного переполнения или исчезновения порядка [1].

petr49.wmf,

petr50.wmf при n ≥ 2,

petr51.wmf

III. Создание программы в среде Delphi.

Процесс конструирования формы:

– для Form1 меняем значение в свойстве Caption на tg x;

– устанавливаем на форму компонент Panel1 со страницы Standard (удаляем значение в свойстве Caption для этого компонента, в свойстве Align выбираем значение alclient, меняем значение в свойстве Name для этого компонента на P1);

– устанавливаем на форму компоненты Label1 и Label2 со страницы Standard (меняем в свойстве Caption значение для этих компонент на Таблица результатов и Таблица погрешностей соответственно, в свойстве Font выбираем атрибуты шрифта: стиль – полужирный курсив, размер – 24, меняем значение в свойстве Name для этих компонент на L1 и L2 соответственно);

– устанавливаем на форму компоненты StringGrid1 и StringGrid2 со страницы Additional (меняем в свойствах ColCount и RowCount значения для этих компонент на 7 и 11 соответственно, меняем значение в свойстве Name для этих компонент на q1 и q2 соответственно);

– устанавливаем на форму компонент BitBtn1 со страницы Additional (меняем в свойстве Caption значение для этого компонента на Расчет, в свойстве Font выбираем атрибуты шрифта: стиль – полужирный курсив, размер – 24, меняем значение в свойстве Name для этого компонента на B1).

Код программы в среде Delphi имеет вид

unit fun;

{определяет внешнюю видимость этого модуля}

interface

{использование модулей}

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, StdCtrls, Buttons, ExtCtrls;

{объявление объектов}

type

TForm1 = class(TForm)

P1: TPanel;

q1: TStringGrid;

q2: TStringGrid;

B1: TBitBtn;

L1: TLabel;

L2: TLabel;

procedure P1Click(Sender: TObject);

procedure B1Click(Sender: TObject);

private

{ Private declarations }

{описанные в этой секции элементы недоступны извне (за пределами класса)}

public

{ Public declarations }

{описанные в этой секции элементы доступны всем}

end;

var

Form1: TForm1;

implementation {осуществляет интерфейс этого модуля}

{$R *.dfm} {включить определения формы}

{обработчик события onClick для компонента P1}

procedure TForm1.P1Click(Sender: TObject);

var h:integer;

x:real;

begin

{заполнение 1-го столбца таблицы результатов и таблицы погрешностей}

q1.Cells[0,0]:='N=';

q2.Cells[0,0]:='N=';

x:=0.1;

for h:=1 to 10 do

begin

q1.Cells[0,h]:='x='+floattostr(x);

q2.Cells[0,h]:='x='+floattostr(x);

x:=x+0.1;

end;

{заполнение 1-й строки таблицы результатов и таблицы погрешностей}

for h:=1 to 6 do

begin

q1.Cells[h,0]:=floattostr(h+2);

q2.Cells[h,0]:=floattostr(h+2);

end;

end;

{обработчик события onClick для компонента B1 (заполнение таблицы результатов и таблицы погрешностей)}

procedure TForm1.B1Click(Sender: TObject);

Var z:array[1..10,1..10] of real;

y,b,r:real;

m,h,l,t:integer;

Begin

for t:=1 to 6 do

begin

for l:=1 to 10 do

begin

y:=l*0.1;

for m:=3 to 8 do

begin

h:=m;

r:=0;

b:=y*y/(2*m-1);

h:=h-1;

while h>0 do

begin

r:=y*y/(2*h-1-b);

b:=r;

h:=h-1;

end;

r:=r/y;

z[l,n]:=abs(r-sin(y)/cos(y));

q1.Cells[t,l]:=Format (‘ %e’, [r]);

end;

end;

for l:=1 to 10 do

begin

for m:=3 to 8 do

q2.Cells[t,l]:=Format ('%e', [z[l,m]]);

end;

end;

end;

end. [6]

rag1.tif

Скриншот окна формы в среде Delphi

Заключение

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


Библиографическая ссылка

Рагимханова Г.С., Кулиева Д.Р., Рагимханова А.Р., Гаджиева З.Д. СВЯЗЬ РЕШЕНИЙ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ РАЗЛИЧНЫХ ВИДОВ И ПРИБЛИЖЕНИЕ РЕШЕНИЙ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ ЦЕПНЫМИ ДРОБЯМИ С ИСПОЛЬЗОВАНИЕМ СРЕДЫ ПРОГРАММИРОВАНИЯ // Фундаментальные исследования. – 2017. – № 12-1. – С. 110-114;
URL: https://fundamental-research.ru/ru/article/view?id=41988 (дата обращения: 17.10.2021).

Предлагаем вашему вниманию журналы, издающиеся в издательстве «Академия Естествознания»
(Высокий импакт-фактор РИНЦ, тематика журналов охватывает все научные направления)

«Фундаментальные исследования» список ВАК ИФ РИНЦ = 1.074