
- •Основные сведения
- •Начало работы с пакетом
- •Числовые расчеты.
- •Встроенные математические функции.
- •ПользовательскиЕ функции.
- •Переменные
- •Использование предыдущих результатов.
- •Вектора и матрицы
- •Работа с циклами
- •Логические конструкции и выражения
- •Символьная матеатика
- •Дифференцирование.
- •Интегрирование
- •Сумы и произведения
- •Решение алгебраических уравений
- •Решение обыкновенных дифференциальных уравнений.
- •Разложения в ряд Тейлора.
- •Алгебраические преобразования.
- •Работа с графиками
Использование предыдущих результатов.
Часто бывает необходимо использовать уже полученный результат. Для этого в Maxima имеется специальный параметр %, который обозначает результат предыдущего действия.
% - результат последнего действия
%n – результат, полученный в выводной строке (%o n)
%th(N) - возвращает n-ю с конца ячейку вывода. Это бывает удобно для того, чтобы не обращать внимания на номера ячеек, и кроме того, применимо в командных файлах Maxima, когда заранее неизвестно, начиная с какой ячейки данный файл загружен.
Списки
Синтаксис списков в Maxima весьма прост; это перечисление элементов в квадратных скобках: [элемент1, элемент2, …, элементN]. Однако его особенность — не в синтаксисе. Основное достоинство списков в том, что их элементами могут быть совершенно любые выражения: символы, арифметические выражения, вызовы функций, присвоения, уравнения, другие списки и т.п. Поэтому списки применяются достаточно широко, в том числе и во встроенных функциях. К элементу списка можно обратиться с помощью тех же квадратных скобок, указав в них номер элемента после имени списка.
Вектора и матрицы
Для задания матрицы используется функция matrix
Пример:
Сложение и вычитание матриц осуществляется поэлементно. Поэлементно могут быть перемножены или поделены элементы двух матриц или применены функции exp(), sqrt().
Возведение в степень «X^^Y» будет записано символически. Поэлементное умножение означается символом «*», деление - «/». Поэлементное возведение в степень - «^». Для сложения и вычитания матриц они должны быть одинакового размера. Ранг матрицы – rank(M) и определитель – determinant(M) определены только для квадратных матриц, транспонировать – transpose(M) можно любые матрицы, но при задании матриц нужно следить за тем, являются ли онм прямоугольными.
Рассмотрим основные операции с матрицами на конкретных примерах. Для этого будем использовать две матрицы: x и y.
Умножение матриц (обозначается как пробел, точка, пробел) производится по правилу "строка умножается на столбец". Возведение матрицы в степень, обозначенное как «^» сводится к поэлементному возведению в степень компонент матрицы, но возведение в степень вида «^^» выполняется как умножение матрицы самой на себя требуемое число раз. Возведение в степень ^^(–1) означает поиск обратной матрицы.
Работа с циклами
Оператор цикла в Maxima может использоваться в нескольких различных вариантах:
for переменная:начало step шаг thru конец do выражение
for переменная:начало step шаг while условие do выражение
for переменная:начало step шаг unless условие do выражение
Первый проходит все итерации цикла, изменяя переменную с заданным шагом от начала до конца; второй — от начала и пока выполняется условие; третий — наоборот, пока условие не выполняется.
Вместо step может использоваться конструкция «next выражение», смысл которой показан на примере
После next может стоять любое вычислимое выражение относительно индекса цикла, и применяться эта конструкция может во всех трех вариантах цикла (thru/while/unless).