THE BELL

Є ті, хто прочитали цю новину раніше вас.
Підпишіться, щоб отримувати статті свіжими.
Email
ім'я
Прізвище
Як ви хочете читати The Bell
без спаму

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

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

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

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

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

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

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. Деякі вбудовані математичні функції:

sqrt (x) Квадратний корінь з x
acos (x) Арккосинус аргументу х
acosh (x) Гіперболічний арккосинус аргументу х
acot (x) Арккотангенс аргументу х
acoth (x) Гіперболічний арккотангенс аргументу х
acsc (x) Арккосеканс аргументу х
acsch (x) Гіперболічний арккосеканс аргументу х
asec (x) Арксеканс аргументу х
asech (x) Гіперболічний арксеканс аргументу х
asin (x) Арксинус аргументу х
asinh (x) Гіперболічний арксинус аргументу х
atan (x) Арктангенс аргументу х
atanh (x) Гіперболічний арктангенс аргументу х
cosh (x) Гіперболічний косинус аргументу х
coth (x) Гіперболічний котангенс аргументу х
csc (x) Косеканс аргументу х
csch (x) Гіперболічний косеканс аргументу х
sec (x) Секанс аргументу х
sech (x) Гіперболічний секанс аргументу х
sin (x) Синус аргументу х
sinh (x) Гіперболічний синус аргументу х
tan (x) Тангенс аргументу х
tanh (x) Гіперболічний тангенс аргументу х
log (x) Натуральний логарифм х
exp (x) експонента х

11. Функції для роботи з матрицями:

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

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

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

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

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

rank- ранг матриці:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Масив можна формувати і без попереднього оголошення. У наступному прикладі ми сформували одновимірний масив x, що складається з 5 елементів, значення яких обчислюються за формулою x ( i) = Sin i

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Тема: Система команд, обчислення в Maxima.

мета:продовжити знайомство з програмою Maxima, познайомити з системою команд Maxima; розвивати пам'ять, увагу; виховувати інформаційну культуру.

Хід уроку:

    Організаційне початок:

    Привітання.

    Робота з черговими.

    Повторительно-навчальне початок.

    Індивідуальна робота за картками.

Картка №1.

    1. Поняття системи математичний обчислень.

      Особливості системи математичних обчислень.

Картка №2.

    1. Поняття комп'ютерної алгебри.

      Особливості комп'ютерної алгебри.

    Усний індивідуальне опитування.

Поняття Maxima. Особливості. Запуск програми.

Інтерфейс програми Maxima.

    Робота по осмисленню і засвоєнню нового матеріалу.

    Оголошення теми і мети уроку.

    Вивчення нового матеріалу.

Введення найпростіших команд в wxMaxima

Після запуску wxMaxima з'являється вікно програми.

верхньої графічної частини вікна інтерфейсу Maxima розповідає, що завантажена версія 5.14.0, що вона поширюється на умовах ліцензії GNU, з якого сайту доступна і хто її батько. У нижньому вікні в полі Enter: Maxima приготувалася сприймати команди. Роздільником команд є символ; (крапка з комою). Після введення команди необхідно натиснути клавішу Enter для її обробки і виведення результату.

В ранніх версіях Maxima і деяких її оболонках (наприклад, xMaxima), і в консольної версії наявність крапки з комою після кожної команди строго обов'язково. Тому настійно рекомендуємо при використанні Максими

не забувати додавати крапку з комою; після кожної команди. У разі, коли вираз треба відобразити, а не обчислити, перед ним необхідно поставити знак ( ") (одинарна лапка). Але цей метод не працює, коли вираз має явне значення,

наприклад, вираз sin (π) Максима розглядає як нуль і при наявності апострофа. Важко передбачити різноманіття можливих варіантів використання Максими для розрахунку або перетворення виразів. У складних випадках, можна спробувати отримати довідку на англійською. Для виклику довідки досить в поле ВВЕДЕННЯ написати? і натиснути Enter.

Позначення команд і результатів обчислень

Після введення кожної команди присвоюється порядковий номер. На наведеному нижче малюнку введені команди мають номери 1-3 і позначаються відповідно (% i1), (% i2), (% i3). Результати обчислень мають відповідно порядковий номер (% o1), (% o2) і т.д. Де "i" - скорочення від англ. Input (введення), а "o" - англ. Output (висновок)

Цей механізм дозволяє при подальшій записи команд послатися на раніше записані, наприклад (% i1) + (% i2) означатиме додавання до вираження першої команди вираження другий з подальшим обчисленням результату. Також можна використовувати і номера результатів обчислень, наприклад, таким чином (% o1) * (% o2).

Для останньої виконаної команди в Maxima є спеціальна позначка -%.

Приклад: Обчислити значення похідної функції

в точці х = 1.

Команда (% i9) була виконана, і був отриманий результат (% О9). Тому наступна команда (% i10) послалася на вже отриманий результат, але уточнила значення змінної х, тому команда отримувала вид (% i10) (% О9), х = 1.

Введення числової інформації

Правила введення чисел в Maxima точно такі, як і для багатьох інших подібних програм. Ціла і дробова частина десяткових дробів поділяються символом крапка. перед негативними числамиставиться знак мінус.

Чисельник і знаменник звичайних дробів розділяється за допомогою символу / (прямий слеш).

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

Тут Maxima насамперед діяла за замовчуванням. Вона склала дроби 3/7 і 5/3 за правилами арифметики точно: знайшла спільний знаменник, привела дроби до спільного знаменника і склала числители. У підсумку вона отримала

44/21. Лише після того, як ми попросили її отримати чисельний відповідь, вона вивела наближений, з точністю 16 знаків чисельний відповідь +2,095238095238095.

константи

В Maxima для зручності обчислень є ряд вбудованих констант, найпоширеніші з них показані в наступній таблиці (табл.1):

арифметичні операції

Позначення арифметичних операцій в Maxima нічим не відрізняються від класичного уявлення, використовуються математичні знаки: + - * /.

Піднесення до степеня можна позначати трьома способами: ^, ^^, **. Витяг кореня ступеня n записують, як ступінь ^^ (1 / n). Нагадаємо ще одну вбудовану в Maxima корисну операцію -знаходження факторіала числа. Ця операція позначається знаком оклику

Наприклад, 6! = 1⋅ 2⋅ 3⋅ 4⋅ 5⋅ 6 = 120.

Для збільшення пріоритету операції, як і в математиці, при запису команд для Maxima використовують круглі () дужки.

змінні

Для зберігання результатів проміжних розрахунків застосовуються змінні. Зауважимо, що при введенні назв змінних, функцій і констант важливий регістр букв, так змінні x і X - це дві різні змінні.

Присвоєння значення змінної здійснюється з використанням символу: (двокрапка), наприклад x: 5 ;.

Якщо необхідно видалити значення змінної (очистити її), то застосовується метод kill:

kill (x) - видалити значення змінної x;

kill (all) - видалити значення всіх використовуваних раніше змінних.

І крім того, метод kill починає нову нумерацію для виконуваних команд (зверніть увагу, що відповіддю на команду (% i 3), наведену вище, виявилася відповідь з номером нуль (% o 0) done, і далі нумерація команд продовжилася з одиниці).

математичні функції

В Maxima є досить великий набір вбудованих математичних функцій. Ось деякі з них (табл.2). Слід мати на увазі, що деякі назви функцій відрізняються від назв, що використовуються у вітчизняній літературі: Замість tg - tan, замість ctg - cot, замість arcsin - asin, замість arcos - acos, замість arctg - atan, замість arcctg - acot, замість ln - log, замість cosec - csc.

Правило запису функцій

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

integrate (sin (x), x, -5,5); plot2d (,,);

функції для

Користувач може задати власні функції. Для цього спочатку вказується назва функції, в дужках перераховуються назви аргументів, після знаків: = (двокрапка і одно) слід опис функції. Після завдання для користувача функція викликається точно так, як і вбудовані функції Maxima.

Переклад складних виразів в лінійну форму записи

Одним з найскладніших занять для початківців користувачів системи Maxima є запис складних виразів, що містять ступеня, дробу і інші конструкції, в лінійній формі (в текстовій формі записи, за допомогою ASCII символів, в один рядок).

Для полегшення цього процесу не зайве дати кілька рекомендацій:

1. Не забувайте ставити знак множення! У графічному вікні Maxima за правилами математики подвоєне значення змінної х записує у вигляді 2x, але у вікні Enter: команда для Maxima повинна виглядати як 2 * x.

2. У разі виникнення сумніву завжди краще поставити «зайві», додаткові дужки (). Чисельник і знаменник виразу завжди необхідно укладати в дужки.

А також при зведенні в ступінь підставу і ступінь краще завжди брати в дужки.

3. Функція не існує окремо від своїх аргументів (якщо такі є). Тому, наприклад, при зведенні в ступінь можна взяти всю функцію з аргументами в дужки, а потім вже будувати отриману конструкцію в потрібний ступінь: (sin (x)) ** 2.

Також пам'ятайте, що кілька аргументів функції записуються в дужках, через кому, наприклад, min (x1, x2, x3, xN);

5. Неприпустима запис функції sin (2 * x) у вигляді sin * 2 * x або sin2x.

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

Приклад: необхідно ввести такий вираз:

Розділимо цей вираз на три складові частини: чисельник, вираз в дужках і ступінь. Запишемо кожну складову частину і об'єднаємо їх в вираз.

Maxima спростить вираз

rat (вираз). перетворює раціональне вираз до канонічної формі. те

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

    Завдання додому:

Стахін Н.А, з 10-18, опорний конспект.

    Підсумок уроку.

Для чого призначена програма Maxima?

Перерахуйте основні елементи інтерфейсу програми Maxima.

Перерахуйте основні команди Maxima.

wxMaxima - це програма, яка представляє собою один з варіантів графічного втілення системи комп'ютерної алгебри Maxima. Ця система вміє працювати з чисельними і символьними виразами і при цьому є абсолютно безкоштовною для використання, в тому числі в комерційних цілях. Основна користь даного рішення для рядових користувачів полягає в тому, що воно допомагає в побудові та вирішенні математичних формул і рівнянь. Крім того, wxMaxima виконує ряд інших корисних математичних операцій: інтегрування, диференціювання, перетворення Лапласа, побудова чисельних рядів і векторів, роботу з матрицями і багато іншого.

Програма чудово "розуміє" дробу, числа з плаваючою точкою і містить великий "арсенал" інструментів для проведення аналітичних обчислень. Інтерфейс wxMaxima максимально простий і русифікований. Він складається з робочої області і панелі з інструментами, які можна використовувати для побудови виразів, графіків, списків, тензорів і тому подібного. У комплекті з wxMaxima ви знайдете всі необхідну документацію і довідкові матеріали(Частково перекладені), які допоможуть розібратися з можливостями даного програмного рішення.

Ключові особливості та функції

  • являє собою дуже зручну графічну оболонкусистеми комп'ютерної алгебри Maxima;
  • служить для побудови і обчислення символьних і чисельних виразів;
  • працює з матрицями, векторами, рівняннями, тензорами, графіками;
  • здійснює операції диференціювання, інтегрування, перетворення Лапласа, розкладання в ряд і так далі;
  • супроводжується докладною документацією.


Операції математичного аналізу

суми

Для знаходження сум призначена функція sum. Синтаксис функції:

Sum (вираз, змінна, нижня межа зміни змінної, верхня межа зміни змінної)

наприклад:

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

наприклад:


Твори

Для знаходження кінцевих і нескінченних творів використовується функція product. Вона має такі ж аргументи, що і в функції sum.

наприклад:


межі

Для знаходження меж використовується функція limit.

Синтаксис функції:

limit (вираз, змінна, точка розриву)

Якщо аргументу "точка розриву" привласнити значення "inf", то це буде ознакою відсутності кордону.

наприклад:

Для обчислення односторонніх меж використовується додатковий аргумент, який має значення plus для обчислення меж справа і minus - зліва.

Наприклад, виконаємо дослідження безперервності функції arctg (1 / (x - 4)). Ця функція невизначена в точці x = 4. Обчислимо межі праворуч і ліворуч:

Як бачимо, точка x = 4 є точкою розриву першого роду для даної функції, оскільки існують межі ліворуч і праворуч, які дорівнюють відповідно -PI / 2 і PI / 2.


диференціали

Для знаходження диференціалів використовується функція diff. Синтаксис функції:

diff (вираз, переменная1, порядок похідної для переменной1 [, переменная2, порядок похідної для переменной2, ...])

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

наприклад:

Взагалі обов'язковим для функції diff є тільки перший аргумент. У такому випадку функція повертає диференціал виразу. Диференціал відповідної змінної позначається через del (ім'я змінної):

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

Якщо використовувати параметричну функцію, то форма запису функції змінюється: після імені функції записуються символи ": =", а звернення до функції здійснюється через її ім'я з параметром:

Похідна може бути обчислена в заданій точці. Це здійснюється так:

Функція diff використовується також і для позначення похідних в диференціальних рівняннях, про що йде мова нижче.


інтеграли

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

У разі неоднозначного відповіді Maxima може задати додаткове питання:

Відповідь має містити текст з питання. В даному випадку, якщо значення змінної y більше "0", це буде "positive" (позитивне), а інакше - "negative" негативний). При цьому допускається введення тільки першої букви слова.

Для знаходження визначеного інтеграла в функції слід вказати додаткові аргументи: межі інтеграла:

Maxima допускає завдання і нескінченних меж інтегрування. Для цього для третього і четвертого аргументів функції використовуються значення "-inf" і "inf":

Для знаходження наближеного значення інтеграла в чисельному вигляді, як зазначалося раніше, слід виділити результат в осередку виведення, викликати на ній контекстне меню і вибрати з нього пункт "To Float" (перетворити в число з плаваючою точкою).

Чи здатна система обчислювати і кратні інтеграли. Для цього функції integrate вкладаються одна в іншу. Нижче наводяться приклади обчислення подвійного невизначеного інтеграла і подвійного інтеграла:


Рішення диференціальних рівнянь

За своїми можливостями в частині вирішення диференціальних рівнянь Maxima відчутно поступається, наприклад, Maple. Але Maxima все ж дозволяє вирішувати звичайні диференціальні рівняння першого та другого порядків, а також їх системи. Для цього - в залежності від мети - використовують дві функції. Для загального рішення звичайних диференціальних рівнянь використовується функція ode2, а для знаходження рішень рівнянь або систем рівнянь за початковими умовами - функція desolve.

Функція ode2 має такий синтаксис:

ode2 (рівняння, залежна змінна, незалежна змінна);

Для позначення похідних в диференціальних рівняннях використовується функція diff. Але в цьому випадку з метою відображення залежності функції від її аргументу вона записується в вигляді "diff (f (x), x), а сама функція - f (x).

Приклад. Знайти спільне рішення звичайного диференціального рівняння першого порядку y "- ax = 0.

Якщо значення правої частини рівняння дорівнює нулю, то її взагалі можна опускати. Природно, права частина рівняння може містити вираз.

Як бачимо, під час вирішення диференціальних рівнянь Maxima використовує постійну інтегрування% c, яка з точки зору математики є довільною константою, яка визначається з додаткових умов.

Здійснити рішення звичайного диференціального рівняння можна і іншим, більш простим для користувача, способом. Для цього слід виконати команду Рівняння> Solve ODE (Вирішити звичайне диференціальне рівняння) і у вікні "Вирішити ОДУ" ввести аргументи функції ode2.

Maxima дозволяє вирішувати диференціальні рівняння другого порядку. Для цього також застосовують функцію ode2. Для позначення похідних в диференціальних рівняннях використовується функція diff, в якій додають ще один аргумент - порядок рівняння: "diff (f (x), x, 2). Наприклад рішення звичайного диференціального рівняння другого порядку a · y" "+ b · y" = 0 буде мати вигляд:

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

  1. ic1 (результат роботи функції ode2, початкове значення незалежної змінної у вигляді x = x 0, значення функції в точці x 0 у вигляді y = y 0). Призначена для вирішення диференціального рівняння першого порядку з початковими умовами.
  2. ic2 (результат роботи функції ode2, початкове значення незалежної змінної у вигляді x = x 0, значення функції в точці x 0 у вигляді y = y 0, початкове значення для першої похідної залежною змінною щодо незалежної змінної у вигляді (y, x) = dy 0). Призначена для вирішення диференціального рівняння другого порядку з початковими умовами
  3. bc2 (результат роботи функції ode2, початкове значення незалежної змінної у вигляді x = x 0, значення функції в точці x 0 у вигляді y = y 0, кінцеве значення незалежної змінної у вигляді x = xn, значення функції в точці xn у вигляді y = yn). Призначена для вирішення крайової задачі для диференціального рівняння другого порядку.

Детально з синтаксисом цих функцій можна ознайомитися в документації до системи.

Виконаємо рішення задачі Коші для рівняння першого порядку y "- ax = 0 з початковою умовою y (п) = 1.

Наведемо приклад рішення крайової задачі для диференціального рівняння другого порядку y "" + y = x з початковими умовами y (o) = 0; y (4) = 1.

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

У таких випадках Maxima або видає повідомлення про помилку (як в даному прикладі) Або просто повертає значення "false".

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

Синтаксис функції:

desolve (диференціальне рівняння, змінна);

Якщо здійснюється рішення системи диференціальних рівнянь або є кілька змінних, то рівняння і / або змінні подаються у вигляді списку:

desolve ([список рівнянь], [переменная1, переменная2, ...]);

Так само як і для попереднього варіанту, для позначення похідних в диференціальних рівняннях використовується функція diff, яка має вигляд "diff (f (x), x).

Початкові значення для змінної надаються функцією atvalue. Ця функція має такий синтаксис:

atvalue (функція, змінна = точка, значення в точці);

В даному випадку передбачається, що значення функцій і (або) їх похідних задаються для нуля, тому синтаксис функції atvalue має вигляд:

atvalue (функція, змінна = 0, значення в точці "0");

Приклад. Знайти рішення диференціального рівняння першого порядку y "= sin (x) з початковою умовою.

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

Це дозволяє здійснити перевірку рішення для конкретного початкового значення. Дійсно, підставляючи в отриманий результат значення y (0) = 4, якраз і отримуємо y (x) = 5 - cos (x).

Функція desolve дає можливість вирішувати системи диференціальних рівнянь з початковими умовами.

Наведемо приклад рішення системи диференціальних рівнянь з початковими умовами y (0) = 0; z (0) = 1.


Обробка даних

Статистичний аналіз

Система дає можливість розрахувати основні статистичні описові статистики, за допомогою яких описуються найбільш загальні властивості емпіричних даних. До основних описовим статистикам відносять середню, дисперсію, стандартне відхилення, медіану, моду, максимальне і мінімальне значення, розмах варіації і квартили. Можливості Maxima в цьому плані дещо скромні, але більшість цих статистик з її допомогою розрахувати досить просто.

самим простим способомрозрахунку статистичних описових статистик є використання палітри "Statistics" (Статистика).

Панель містить ряд інструментів, згрупованих в чотири групи.

  1. Статистичні показники (описові статистики):
    • mean (середня арифметична);
    • median (медіана);
    • variance (дисперсія);
    • deviation (середнє квадратичне відхилення).
  2. Тести.
  3. Побудова п'яти типів графіків:
    • гістограма (Histogram). Використовується в першу чергу в статистиці для зображення інтервальних рядів розподілу. Під час її побудови по осі ординат відкладають частини або частоти, а на осі абсцис - значення ознаки;
    • діаграма розсіювання (діаграма кореляції, поле кореляції, Scatter Plot) - графік по точках, коли точки не зливаються. Використовується для відображення даних для двох змінних, одна з яких є факторной, а інша - результативною. З її допомогою здійснюється графічне представленняпар даних у вигляді безлічі точок ( "хмари") на координатної площині;
    • стрічкова діаграма (Bar Chart) - графік у вигляді вертикальних стовпців;
    • секторная, або кругова, діаграма (Pie Chart). Така діаграма розділена на кілька сегментів-секторів, площа кожного з яких пропорційна їх частини;
    • коробочки діаграма (коробка з вусами, шкатулка з вусами, Box Plot, box-and-whisker diagram). Саме вона найчастіше використовується для зображення статистичних даних. Інформація такого графіка є дуже змістовною і корисною. Він одночасно відображає кілька величин, які характеризують варіаційний ряд: мінімальне і максимальне значення, середню і медіану, перший і третій квартиль.
  4. Інструменти для зчитування або створення матриці. Для використання інструментів палітри необхідно мати початкові дані у вигляді матриці - одновимірного масиву. Його можна створити в документі з поточної сесією і надалі підставляти його назву як вхідні дані у вікнах інструментів палітри аналогічно рішенню рівнянь за допомогою панелі загальних математичних дій (General Math). Можна і безпосередньо задавати в дані у вікнах введення вхідних даних. У цьому випадку вони вводяться в прийнятому в системі вигляді, тобто в квадратних дужкахі через кому. Зрозуміло, що перший варіант є значно кращим, оскільки він вимагає тільки одноразового введення даних.

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

Математичний пакет Maxima - одна з кращих безкоштовних замін Маткад.

Даний навчальний посібник (у форматі pdf) Може бути використано в рамках дисциплін математичний аналіз, диференціальні рівняння, пакети прикладних програм та ін. На різних спеціальностях в установах вищої професійної освіти, якщо державним освітнім стандартом передбачено вивчення розділу «Диференціальні рівняння», а також в рамках курсів за вибором. Воно також може бути корисним для знайомства з системами комп'ютерної математики в профільних класах загальноосвітніх установ з поглибленим вивченням математики та інформатики.

  • Передмова
  • Глава 1. Основи роботи в системі комп'ютерної математики Maxima
    • 1.1. Про систему Maxima
    • 1.2. Установка Maxima на персональний комп'ютер
    • 1.3. Інтерфейс основного вікна Maxima
    • 1.4. Робота з осередками в Maxima
    • 1.5. Робота з довідковою системою Maxima
    • 1.6. Функції і команди системи Maxima
    • 1.7. Управління процесом обчислень в Maxima
    • 1.8. Найпростіші перетворення виразів
    • 1.9. Рішення алгебраїчних рівнянь і їх систем
    • 1.10. графічні можливості
  • Глава 2. Чисельні методи рішення диференціальних рівнянь
    • 2.1. Загальні відомості про диференціальні рівняння
    • 2.2. Чисельні методи розв'язання задачі Коші для звичайного диференціального рівняння першого порядку
      • 2.2.1. метод Ейлера
      • 2.2.2. Метод Ейлера-Коші
      • 2.2.3. Метод Рунге-Кутта 4 порядку точності
    • 2.3. Рішення крайових задач для звичайних диференціальних рівнянь методом кінцевих різниць
    • 2.4. Метод сіток для вирішення диференціальних рівнянь в приватних похідних
  • Глава 3. Знаходження рішень диференціальних рівнянь в системі Maxima
    • 3.1. Вбудовані функції для знаходження розв'язків диференціальних рівнянь
    • 3.2. Рішення диференціальних рівнянь і їх систем в символьному вигляді
    • 3.3. Побудова траєкторій і поля напрямків диференціальних рівнянь.
    • 3.4. Реалізація чисельних методів розв'язання задачі Коші для звичайних диференціальних рівнянь
      • 3.4.1. метод Ейлера
      • 3.4.2. Метод Ейлера-Коші
      • 3.4.3. Метод Рунге-Кутта
    • 3.5. Реалізація кінцево-різницевого методу розв'язання крайової задачі для звичайних диференціальних рівнянь
    • 3.6. Реалізація методу сіток для диференціальних рівнянь в частнихпроізводних
  • Завдання для самостійного рішення
  • література

Передмова

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

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

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

З огляду на сучасної розвиток комп'ютерної технікиі інтенсивний розвиток нового напряму - комп'ютерної математики - набули широкого поширення і попит комплекси програм, звані системами комп'ютерної математики.

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

Сучасні системи комп'ютерної математики представляють собою програми з багатовіконний графічним інтерфейсом, розвиненою системою допомоги, що полегшує їх освоєння і використання. Основними тенденціями розвитку СКМ є зростання математичних можливостей, особливо в сфері аналітичних і символьних обчислень, істотне розширення засобів візуалізації всіх етапів обчислень, широке застосування 2D- і 3D-графіки, інтеграція різних систем один з одним і іншими програмними засобами, широкий доступ в Internet, організація спільної роботинад освітніми і науковими проектами в Internet, використання коштів анімації і обробки зображень, засобів мультимедіа та ін.

Істотним обставиною, яке до недавнього часу перешкоджало широкому використанню СКМ в освіті, є дорожнеча професійного наукового математичного забезпечення. Однак останнім часом багато фірм, які розробляють і поширюють такі програми, представляють (через Internet - http://www.softline.ru) для вільного використання попередні версії своїх програм, широко використовують систему знижок для навчальних закладів, безкоштовно розповсюджують демонстраційні або пробні версії програм.

Крім того, з'являються безкоштовні аналоги систем комп'ютерної математики, наприклад, Maxima, Scilab, Octave і ін.

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

Чому саме Maxima?

По-перше, система Maxima - це некомерційний проект з відкритим кодом. Maxima відноситься до класу програмних продуктів, які поширюються на основі ліцензії GNU GPL (General Public License).

По-друге, Maxima - програма для вирішення математичних задач як в чисельному, так і в символьному вигляді. Спектр її можливостей дуже широкий: дії по перетворенню виразів, робота з частинами виразів, рішення задач лінійної алгебри, математичного аналізу, комбінаторики, теорії чисел, тензорного аналізу, статистичних завдань, побудова графіків функцій на площині і в просторі в різних системахкоординат і т.д.

По-третє, в даний час у системи Maxima є потужний, ефективний і «дружній» багатоплатформовий графічний інтерфейс, який називається WxMaxima (http://wxmaxima.sourceforge.net).

Авторами книги вже протягом десяти років вивчаються системи комп'ютерної математики такі як Mathematica, Maple, MathCad. Тому, знаючи можливості цих програмних продуктів, зокрема для знаходження розв'язків диференціальних рівнянь, хотілося вивчити питання, пов'язане з організацією обчислень в символьному вигляді в системах комп'ютерної математики, які розповсюджуються вільно.

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

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

Третя глава присвячена вбудованим функціям системи комп'ютерної математики Maxima для знаходження рішень звичайних диференціальних рівнянь 1 і 2 порядку в символьному вигляді. Також в третьому розділі показана реалізація в системі Maxima чисельних методів розв'язання диференціальних рівнянь. В кінці посібника наведено завдання для самостійного рішення.

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

Т.Н. Губіна, Е.В. Андропова
Єлець, липень 2009

P.S. Швидкий старт: для виконання команді функцій в mwMaxima потрібно безпосередньо спочатку ввести саму команду і потім натиснути crtl + Enter.

THE BELL

Є ті, хто прочитали цю новину раніше вас.
Підпишіться, щоб отримувати статті свіжими.
Email
ім'я
Прізвище
Як ви хочете читати The Bell
без спаму