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

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

CC BY
108
26
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по математике, автор научной работы — Александров Иван Александрович, Попов Александр Александрович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Александров Иван Александрович, Попов Александр Александрович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

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

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

ПРИ ИНТЕГРИРОВАНИИ УРАВНЕНИЙ В ПОЛНЫХ ДИФФЕРЕНЦИАЛАХ

Александров Иван Александрович (st060557@gmail.com)

Попов Александр Александрович (apopov@vvoi.ru)

ГОУВПО «Марийский государственный университет», г. Йошкар-Ола

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

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

Уравнение в полных дифференциалах имеет вид: P(x,y)dx + Q(x,y)dy = 0 [2]. Если — = —, то диффе-

ду дх

ренциальное выражение является полным дифференциалом некоторой функции U(x,y). Поэтому исходное дифференциальное уравнение переписывается в виде: dU(x,y) = 0, из которого следует решение U(x,y) = С, где С - постоянная интегрирования. Выражая дифференциал dU через частные производные

dU = dx + dy, и сравнивая с исходным дифференциальным выражением, можно получить диффе-

дх ду ' '

cU cU

ренциальные уравнения — = Р(\ у), — = Q(\ у) для нахождения неизвестной функции U(x,y) через из-

дх ' ду '

вестные функции P(x,y) и Q(x,y). Существуют два варианта решения, в одном из которых интегрирование

начинается с первого уравнения, в другом - со второго.

При интегрировании первого уравнения решение U = JP(x, y)dx+ <р(у ) содержит постоянную интегрирования ф, зависящую от параметра у, поскольку интеграл зависит от у. Для определения неизвестной

функции ф используется второе уравнение j У) _ ф'(у) = р(х у), которое преобразуется к виду:

ду '

J У) dx + ф' (y) = Q(x, y).

Если интегрирование начинать со второго уравнения, то решение будет представлено в виде: U = jQ(x,y)dy+ ф (х). а неизвестная функция ф будет определяться из уравнения

l™±y>dy+ ф(х) ,Р(Х у)

ду

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

массив строк класса String языка программирования Java [3]. Каждая строка решения составляется из подстрок в виде случайно выбранных элементарных функций, их производных и дифференциалов. Из них образуются функции U(x,y), ф(у), ф(х), их производные и дифференциалы. Каждая строка решения закодирована таким образом, чтобы для нее однозначно следовало графическое представление. Например, строка, определяющая исходное дифференциальное уравнение на рисунке, представлена в виде:

<3>{2|3x+y[2]&}dx+(<2y>{1+(y[2]-3)[2]}+<y>{|3x+y[2]&})dy.

Символы в угловых скобках помещаются в числитель, символы в фигурных скобках - в знаменатель, число 2 в квадратных скобках является показателем степени. Символ «|» интерпретируется, как знак квадратного корня, а все символы, следующие после «|» до знака амперсанда «&» принадлежат подкоренному выражению. Длина дробной черты выбирается, как наибольшая из длин строк, определяющих числитель и знаменатель. В строку могут входить символы, отображаемые различными шрифтами, поэтому графическая длина строки определяется, как сумма длин отдельных символов в пикселях, вычисленных с помощью метода charWidth класса FontMetrics [3]. Для каждого символа строки фиксируется вся, связанная с ним информация: значение символа, шрифт и цвет для его вывода, координаты символа в окне в пикселях, логическая переменная, позволяющая сделать символ невидимым.

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

ГР ГО

ния, т. е. в первую очередь производится проверка условия---— v , при выполнении которого уравнение

ду cbi

считается уравнением в полных дифференциалах. Далее записываются дифференциальные уравнения для функции U(x,y). При очередном нажатии клавиши «Enter» строки решения, кроме первой и последней, делаются невидимыми. Исходное уравнение и формулы, определяющие промежуточный итог, в отличие от текущих формул выводятся другим цветом.

Р(Х'У)=2т1т?

Qix \Л-—+—У

ЩХ'У} 1+(у2-3)2

дР_ Зу

dy 2V(3x+y2)3 dP=dQ

dQ_ Зу ду дх

дх 2\/(Зх+у2)3

аи= 3 аи= 2у у

дх 2\/Зх+у2 ду 1+(у2-3)2 л/Зх+у2

Окно иллюстрирующей программы с текущим содержимым

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

—-------- Литература

1. Попов А. А. Динамические схемы для иллюстрации лекций по программированию // Вестник Московского городского педагогического университета. - 2008. - № 1 (11). - С. 105-107.

2. Овчинников П. В., Лисицын Б. М., Михайленко В. М. Высшая математика: учебн. пособие. - К.: Выша шк., 1989. - 679 с.

3. Ноутон Н., Шилдт Г. JavaTM2: пер. с англ. - СПб.: БХВ-Петербург, 2003. - 1072 с.

i Надоели баннеры? Вы всегда можете отключить рекламу.