Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка.doc
Скачиваний:
1
Добавлен:
06.05.2019
Размер:
1.15 Mб
Скачать

Использование предыдущих результатов.

Часто бывает необходимо использовать уже полученный результат. Для этого в 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).