Сначала - векторные дифференциальные операторы:
Наиболее распространено уравнение Лапласа (или уравнеие Пуассона как более общий тип уравнений). Это уравнения таких полей:
Когда поле аппроксимируется матрицей (например, 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):
Текст программы Sound.zip