Матрицы и векторы

Для решения большого класса математических задач в язык MQL5 встроены специальные объектные типы данных — матрицы и векторы. Эти типы предоставляют методы для написания краткого и понятного кода, который близок к математической записи линейных или дифференциальных уравнений.

В каждом языке программирования существует понятие массива, как набора множества элементов. На основе массивов числовых типов (int, double) или, может быть, структур, строится большинство алгоритмов, особенно в алготрейдинге. Доступ к элементам массива осуществляется по индексу, что позволяет производить операции внутри циклов. Как мы знаем, массивы могут иметь одно, два или более измерений.

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

Современные технологии, такие как машинное обучение, нейронные сети и 3D-графика, широко используют решения задач из линейной алгебры, в которой применяются операции над векторами и матрицами. Именно поэтому для быстрой и удобной работы с такими объектами в MQL5 были добавлены новые типы данных.

Во время написания книги набор функций для работы с матрицами и векторами активно пополнялся, поэтому многие интересные новинки могут оказаться не упомянутыми здесь. Следите за анонсами релизов и разделом статей на сайте mql5.com.

В этой главе мы дадим краткое описание, а подробную информацию о матрицах и векторах смотрите в соответствующем разделе справки Методы матриц и векторов.

Также предполагается, что читатель знаком с теорией линейной алгебры. При необходимости, обращайтесь к справочной литературе и пособиям в Сети.