Главная Обратная связь

Дисциплины:






Принципы работы с wxMaxima.



Главное окно wxMaxima показано на рис.2. Рабочая область Maxima состоит из ячеек, каждая из которых помечена слева квадратной скобкой. Нажатие Enter приводит к добавлению ячейки, в которой находится строка ввода. Она обозначена символами «-->» и представляет собой командную строку для ввода команд и выражений. Нажатие Ctrl+Enter приводит к выводу результатов вычислений.

Каждый ввод помечается метками %i1, %i2, %i3 и т.д. Каждый вывод программы помечается метками %о1, %о2, %о3 и т.д.

В системе Maxima предусмотрена возможность ввода сразу нескольких команд в одной строке. Для этого одна команда от другой отделяется символом «;». При этом формируется одна строка ввода и столько строк вывода, сколько команд было задано.

 

 

Рис. 2. Интерфейс wxMaxima

 

При необходимости можно исправлять выражения, введённые ранее. После исправлений нужно вычислить заново значение выражения с помощью нажатия Ctrl+Enter. Пункт меню «Cell», «Evaluate All Cells» позволяет пересчитать (в терминологии Maxima «переоценить») выражения во всех ячейках.

 

Имена переменных в Maxima могут содержать до 26 знаков и состоять из латинских букв (большие и маленькие различаются), цифр, символов подчеркивания и процента. Как правило с процента начинаются специальные имена, например, %pi, %e, %i – число пи, число е, мнимая единица. Помимо точки с запятой введённые выражения могут заканчиваться знаком $. В первом случае результат печатается, во втором — нет.

Основные математические операции обозначаются традиционным образом (+-*/^). Для операции ПРИСВАИВАНИЯ используется ДВОЕТОЧИЕ.

Обычно Maxima старается выполнять математические действия аналитически и представляет результаты вычислений в виде формул, обыкновенных дробей и т.д. Однако имеется возможность выполнять и численные вычисления. Например, ввод 1/3+4/5 приведет в появлению результата в виде 17/15. Чтобы представить результат в виде вещественного числе необходимо указать при вводе параметр numer:

1/3+4/5,numer

результат: 1.1333333333333.

Пункт меню «Численные расчёты», «Toggle Numeric Output» изменяет значение встроенной переменной numer, что влияет на поведение Maxima при вычислениях.

Списки.

В программе Maxima существует понятие списка. Это упорядоченная совокупность объектов (могут быть разных типов: выражения, формулы, числа, списки...). Для задания списка объекты перечисляются через запятую в квадратных скобках, например: sp1:[a,b,c,45,k+m]. Пустые квадратные скобки означают пустой список. Создать список позволяет функция makelist:

makelist(Выражение, переменная, начальное значения, конечное значение),



например,

lst:makelist(i^2,i,1,10)

[1,4,9,16,25,36,49,64,81,100]

получаем список квадратов целых чисел от 1 до 10. Аналогом команды makelist является пункт меню «Алгебра -> Создать список (Make List)».

 

Массивы.

Массив в Maxima — это совокупность объектов с индексами (похож на индексированный список). Существуют несколько способов работы с массивами. Значения элементов массива произвольного размера задаются или «индивидуально»:

mas[1]:20$

mas[5]:45$

или как функция индексов

mas[i,j]:=i^2+j^2

 

Массив определенного размера можно определить командой

array(ИмяМассива,Тип,Размер1,Размер2,...).

Здесь Тип — тип элементов массива (float — вещественный, int — целый). Индексы массива принимают значения от 0 до указанного размера.

Например, команда

array(mas,float,5,5)

определяет двумерный массив 6 на 6 с именем mas, состоящий из вещественных элементов. Если тип элементов массива неизвестен его можно не указывать.

 

Векторы и матрицы.

В Maxima можно использовать прямоугольные матрицы. Для удобства команды работы с матрицами представлены также в меню «Алгебра».

Для создания матрицы служит функция matrix:

matr1:matrix([1,2,3],[4,6,8],[-1,2,4])

или пункт меню «Ввести матрицу».

Доступ к элементам матрицы осуществляется по двум индексам mart[2,1]. Первый индекс означает номер строки, второй — номер столбца. Нумерация начинается с 1.

Функция

genmatrix(ИмяМассива, Разм1, Разм2)

генерирует матрицу на основе двумерного массива. Ей соответствует пункт меню «Создать матрицу».

Функция

zeromatrix(N,M)

возвращает матрицу размерности MxN, состоящую из нулей.

Функция

ident(N)

возвращает единичную матрицу размерности NxN.

Функция

Матрица1:copymatrix(Матрица2)

создаёт копию матрицы.

Maxima позволяет выполнить все допустимые операции с матрицами. Возвести каждый элемент матрицы в степень можно с помощью операции ^. Для возведения матрицы в степень по правилам линейной алгебры используется двойная крышка ^^.

Например, обратную матрицу получаем, указав (–1) степень (или в меню «Обратить матрицу»), а для операции транспонирования используем функцию transpose (или меню «Транспонировать матрицу»). Функция determinant и пункт меню «Определитель» вычисляют определитель. В следующем примере получаем решения квадратного уравнения для нескольких исходных данных:

(%i2) a:matrix([5,3,8]);

(%o2) [5 3 8]

(%i3) b:matrix([3,2,1]);

(%o3) [3 2 1]

(%i4) c:matrix([6,4,0]);

(%o4) [6 4 0]

(%i5) (-b+sqrt(b^2-4*a*c))/(2*a);

(%o6)

(%i6) (-b+sqrt(b^2+4*a*c))/(2*a);

(%o6)

 





sdamzavas.net - 2018 год. Все права принадлежат их авторам! В случае нарушение авторского права, обращайтесь по форме обратной связи...