Функції і команди системи maxima

В системі Maxima є безліч вбудованих функцій. Для кожної вбудованої функції можна отримати опис в документації, що міститься в довідковій системі. Викликати довідку можна за допомогою функціональної клавіші F1. Також в Maxima є спеціальна функція, яка видає інформацію з документації по конкретних слів. Скорочена версія виклику цієї функції. name (Рис.12). Тут. - це ім'я оператора, і аргумент потрібно відокремлювати від нього пропуском. Оператор. видає список тих розділів допомоги та імен функцій, які містять заданий текст, після чого пропонують ввести номер того розділу або опису тієї функції, які потрібно подивитися:

Функції і команди системи maxima

Рис.12. Виклик довідки щодо необхідної команді системи Maxima

Зауважимо, що в системі Maxima немає чіткого розмежування між операторами і функціями. Більш того, кожен оператор - це насправді функція.

Всі функції і оператори Maxima працюють не тільки з дійсними, але і комплексними числами. Самі комплексні числа записуються в алгебраїчній формі, з уявною одиницею, позначеної через% i; тобто у вигляді a + b *% i, де а і b - відповідно дійсна і уявна частини числа.

Рассмотрімсінтаксіс базових функцій системи Maxima.

1. Арифметичні оператори: +. -, *, /, ->. приклад:

Функції і команди системи maxima

3. Логічні оператори: and, or, not. приклад:

4. Функція знаходження факторіала числа.

Факторіал заданий в найбільш загальному вигляді і являє собою, по суті, гамма-функцію (точніше, x! = Gamma (x + 1)), тобто визначений на множині всіх комплексних чисел, крім негативних цілих. Факторіал від натурального числа (і нуля) автоматично спрощується до натурального же числа.

5. Функція знаходження полуфакторіала чила. (Твір всіх парних (для парного операнда) або непарних чисел, менших або рівних пристрою).

6. Функція заперечення синтаксичного рівності: # Запис a # b еквівалентна not a = b.Прімер:

7. Функція знаходження модуля числа х: abs (x) Модуль визначено для всіх комплексних чисел. приклад:

8. Функція, що повертає знак числа х: signum (x)

9. Функції, які повертають найбільше та найменше значення з заданих дійсних чисел: max (x1. Xn) і min (x1. Xn).

10. Деякі вбудовані математичні функції:

determinant - знаходження визначника матриці:

eigenvalues ​​- знаходження власних значень матриці:

invert - отримання зворотного матриці:

Функції і команди системи maxima

minor - визначає мінор матриці. Перший аргумент - матриця, другий і

третій - індекси рядка і стовпця відповідно:

submatrix - повертає матрицю, отриману з вихідної видаленням

відповідних рядків і (або) стовпців. Як параметри слідують

номера видаляються рядків, вихідна матриця, номера видаляються стовпців.

Функції і команди системи maxima

transpose - транспонування матриці:

У мові системи Maxima закладені основні виконані оператори, які є в будь-якій мові програмування. Розглянемо їх.

Оператори присвоювання значень (іменування виразів).

1. Оператор «:» (оператор завдання значення змінної).

2.Оператор «: =» (оператор завдання функції користувача).

3.Расшіренние варіанти операторів присвоювання і завдання функції, що позначаються відповідно через. і. =.

Використання оператора завдання функції користувача значно полегшує роботу з нею, оскільки до неї можна звертатися по імені і легко і зручно обчислювати значення функції в заданих точках.

Приклад: знайдемо значення функції f (x, y) = cosx + siny в точці

Оператор циклу. Оператор циклу може здаватися декількома способами. Спосіб завдання залежить від того, чи відомо заздалегідь скільки разів необхідно виконати тіло циклу.

Приклад: завдання циклу для виведення значень змінної а в діапазоні від -3 до 10 з кроком 5:

Наступною важливою можливістю системи Maxima являетсяработа зі списками і масивами.

Для формування списків використовується команда makelist. Наприклад, за допомогою команди

ми сформували список з ім'ям x, що складається з десяти елементів, значення яких знаходяться за формулою.

Для формування масивів використовується команда array. Наприклад за допомогою команди,

ми сформували двовимірний масив A, що складається з 10 рядків і 5 стовпців. Для заповнення масиву елементами скористаємося циклом з параметром. наприклад,

Для виведення елементів масиву на екран можна скористатися командою:

Функції і команди системи maxima

Незручність роботи з масивами полягає в тому, що висновок значень елементів масиву здійснюється в стовпець. Набагато зручніше, якщо значення масиву (двовимірного) виводяться у вигляді матриці. Для цих цілей можна скористатися командою genmatrix. Наприклад, для формування двовимірного масиву (матриці) слід задати команду в наступному вигляді:

Виведемо отриманий масив:

Функції і команди системи maxima

6. Найпростіші перетворення виразів.

За замовчуванням в системі Maxima є активною функція автоупрощенія, тобто система намагається спростити вводиться вираз сама без будь-якої команди.

Приклад. Нехай потрібно знайти значення наступного числового виразу:

Задамо вираз за правилами мови системи Maxima.

Як бачимо, система у відповідь вивела значення виразу, хоча ми не задали ніякої команди.

Як же змусити систему вивести не результат, а сам вираз? Для цього функцію спрощення треба відключити за допомогою команди simp: false $. Тоді отримаємо:

Для того щоб активувати функцію спрощення, треба задати команду simp: true $. Функція автоупрощенія може працювати як з числовими, так і з деяким не числовими виразами. наприклад,

При введенні ми можемо звертатися до будь-якої з попередніх осередків по її імені, підставляючи його в будь-вирази. Крім того, останній осередок виведення позначається через%, а останній осередок введення - через _. Це дозволяє звертатися до останнього результату, не відволікаючись на те, який його номер. Але такими зверненнями до осередків зловживати не треба, оскільки при переоцінювання всього документа або його окремих осередків введення може статися розбіжність між номерами осередків.

Приклад. Знайти значення виразу і збільшити отриманий результат в 5 разів.

Функції і команди системи maxima

Бажано замість імен осередків використовувати змінні і привласнювати їх імена будь-яким виразами. В цьому випадку у вигляді значення змінної може виступати будь-який математичний вираз.

Значення імен змінних зберігаються протягом всієї роботи з документом. Нагадаємо, що якщо необхідно зняти визначення зі змінною, то це можна зробити за допомогою функції kill (name), де name - ім'я знищуваного вираження; причому це може бути як ім'я, призначене вами, так і будь-яка осередок введення або виведення. Точно так само можна очистити всю пам'ять і звільнити все імена, ввівши команду kill (all) (або вибрати меню Махта-> Очістіт' пам'ять (Clear Memory)). В цьому випадку очистяться в тому числі і всі осередки введення-виведення, і їх нумерація знову почнеться з одиниці.

Функція автоупрощенія далеко не завжди здатна спростити вираз. На додаток до неї є цілий ряд команд, які призначені для роботи з виразами: раціональними і ірраціональними. Розглянемо деякі з них.

rat (вираз) - перетворює раціональне вираз до канонічної формі: розкриває всі дужки, потім призводить все до спільного знаменника, підсумовує і скорочує; призводить все числа в кінцевій десяткового запису до раціональних. Канонічна форма автоматично «скасовується» в разі будь-яких перетворень, які не є раціональними

ratsimp (вираз) - спрощує вираз за рахунок раціональних перетворень. Працює в тому числі і «вглиб», тобто ірраціональні частини виразу не розглядаються як атомарні, а спрощуються, в тому числі, і всі раціональні елементи всередині них

fullratsimp (вираз) - функція спрощення раціонального виразу методом послідовного застосування до переданого висловом функції ratsimp (). За рахунок цього функція працює трохи повільніше, ніж ratsimp (), зате дає більш надійний результат.

expand (вираз) - розкриває дужки у виразі на всіх рівнях вкладеності. На відміну від функції ratexpand (), не приводить дроби-доданки до спільного знаменника.

radcan (вираз) - функція спрощення логарифмічних, експоненційних функцій і статечних з нецілі раціональними показниками, тобто коренів (радикалів).

Часто при спробі спрощення виразу в Maxima може відбуватися насправді тільки його ускладнення. Збільшення результату може відбуватися через те, що невідомо, які значення можуть приймати змінні, що входять у вираз. Щоб цього уникнути, слід накладати обмеження на значення, які може приймати змінна. Робиться це за допомогою функції assume (умова). Тому в деяких випадках найкращого результату можна досягти, комбінуючи radcan () з ratsimp () або fullratsimp ().

Схожі статті