Многомерные дифференциальные уравнения и преобразования полей

Сначала - векторные дифференциальные операторы:

Некоторые свойства этих операторов:


Уравнения Лапласа и Д'Aламбера

Наиболее распространено уравнение Лапласа (или уравнеие Пуассона как более общий тип уравнений). Это уравнения таких полей:

Уравнение Лапласа:
Уравнение Пуассона:
Уравнение Д'Aламбера:

Когда поле аппроксимируется матрицей (например, Aij), уравнения Лапласа и Пуассона имют такой вид:
(Aij - Aij-1) + (Aij - Aij+1) + (Aij - Ai-1j) + (Aij - Ai+1j) = Cij
где Cij - матрица плотности (Для уравнения Лапласа Cij =0). В таком приближении уравнение решается последовательным нахождением новых значений для элементов матрицы как:
Aij = (Cij + Aij-1 + Aij+1 + Ai-1j + Ai+1j)/4
Точность решения растет с увеличением числа итераций.

Уравнение Д'Aламбера - уравнение для бегущих волн, очень похожее на уравнение Лапласа, и его можно решать как уравнение Лапласа в комплексном пространстве Минковского или аппроксимируя среду набором дискретных элементов, движущихся согласно законам Ньютона.

Пример решения уравнения Лапласа Laplas.pas и моделирования волн на упругой поверхности (уравнение Д'Aламбера) Waves.pas.


От матриц и векторов к многомерным функциям,
от разложения по базису к разложению Фурье

Все методы матричной алгебры элементарно обобщаются на функции.
"Скалярное умножение" функций:
"Умножение вектора на матрицу":
Базисная функция ортогональна если
Как видно, разложение Фурье - только преобразование функции как "вектора" к другому базису. Сейчас разложение Фурье почти очевидно:

Можно доказать, что "базисная функция" f(w,t) = eiwt ортогональна.


Случайные (стохастические) колебания

Случайные колебания, получаемые при помощи функции Random в Delphi - так называемый "белый шум" с равномерным спектром. Наиболее распространенная модель для случайных колебаний с неравномерным спектром - модель Лоренца. В ее основе - поведение жидкости в кольцевой трубе, подогреваемой снизу и охлаждаемой сверху. Модель задается такой системой дифференциальных уравнений:

Я использовал параметры a=10 b=30 c=2.667. Еще одна модель для стохастических колебаний - ламповый генератор с нелинейным элементом (тоннельный диод, например). Она задается такой системой дифференциальных уравнений (для генератора принята модель Ван-Дер-Поля):

где f(x) - вольт-амперная характеристика диода.

Наличие "ямы" обязательно для возбуждения стохастических колебаний.

Пример на модель Лоренца Random.pas


Разложение Фурье

Разложение Фурье задается такими преобразованиями (см p. 2). На практике эти преобразования имеют такой вид:

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

Пример Fourier.pas


Звукообработка

Простая демонстрационная программа была написана для иллюстрации всего вышесказанного. Из-за ограниченности возможностей программы можно работать только с моно ".wav" файлами, также нельзя использовать заглавные буквы в Formulae Generator и прописные в Rhythm Composer. В Formulae Generator используются такие функции (Generator 1):

Модуль Wave содержит процедуры чтения и записи звуковых файлов, модуль Calculator - компилятор формул, функции построения графиков, а также Эхо, Фильтры, Динамическое Сжатие и многое другое - в модуле Generator.

Текст программы Sound.zip


©2002-2003, Veter      English  Беларуская  Русский
Сайт создан в системе uCoz