- •1. Основи роботи в системі maple
- •1.1 Структура вікна Maple
- •Пункти Основного меню:
- •1.2. Визначення функцій користувачем
- •2. Основні об'єкти і команди maple
- •2.1. Основні об'єкти (визначення, ввід, дії з ними)
- •2.1.1. Числа
- •2.1.4. Змінні, невідомі та вирази
- •2.1.5. Послідовності, списки, множини
- •2.1.2. Константи
- •2.1.3. Рядки
- •Використання послідовностей
- •Команди для структурної обробки списків і множин
- •2.1.6. Масиви
- •Створення масивів
- •2.1.7. Таблиці
- •2.2. Внутрішня структура об'єктів Maple
- •2.3. Підстановка і перетворення типів
- •2.4. Вбудовані елементарні математичні функції
- •2.5. Команди перетворення виразів
- •3. Операції і функції математичного аналізу.
- •3.1. Знаходження суми ряду
- •3.2. Обчислення добутків
- •3.3. Диференціювання виразів
- •3.4. Диференціальний оператор
- •3.5. Обчислення інтегралів
- •3.6. Обчислення лімітів функції
- •3.7. Пошук екстремумів. Дослідження функції на неперервність
- •Завдання
- •1. Виконати операції над множинами а і в:
- •5. Розв’язати систему рівнянь
2.2. Внутрішня структура об'єктів Maple
Кожен алгебраїчний вираз зберігається системою Maple у вигляді деревовидної структури, що дає можливість доступу до будь-якого її члена, а також дозволяє виконувати над ними різні символьні перетворення. В представленні цієї структури кожний об'єкт Maple поділяється на підоб'єкти першого рівня, котрі в свою чергу також діляться на підоб'єкти.
Команди, що дають можливість виділити частини об'єктів:
rhs (рівняння) - виділення правої частини рівняння
lhs (рівняння) - виділення лівої частини рівняння
numer (дріб) - виділення чисельника числового або алгебраїчного дробу
denum (дріб) - виділення знаменника числового або алгебраїчного дробу
nops (вираз) - визначає кількість операндів у виразі
op (вираз) - видає операнди виразу у вигляді списку
op (n, вираз) - видає n-ий операнд із виразу
select (булівська функція, вираз) - виділяє у виразі операнди, для яких булівська функція дає значення true
remove (булівська функція, вираз) - виділяє у виразі операнди, для яких булівська функція дає значення false
indets (вираз, тип) - виділяє у виразі підвираз заданого типу ('*', '+', ...)
has (вираз, підвираз) -визначає, чи міститься підвираз в заданому виразі
hastype( вираз, тип) - визначає, чи містить вираз підвираз заданого типу
indets( выражение, тип) - видає у вигляді множини всі підвирази вказаного типу
Вигляд деяких команд детальніше:
Рівняння - це два вирази, що з'єднані між собою знаком рівності. Не путати з операцією присвоєння. Рівняння є об'єктом Maple і служить для задання дійсних рівнянь. Його можна використовувати в правій частині операції присвоєння, даючи, таким чином, ім'я рівнянню.
> eq:=x^2+sin(x)=cos(x)-1;
> lhs(eq); rhs(eq);
> lhs(3..9); rhs(3..9);
3
9
> dr:=(sin(x)+x/y)/(cos(x)/sin(x)+2);
> numer(dr);
(sin(x) y + x) sin(x)
> denom (dr);
y (cos(x) + 2 sin(x))
> expr:=X^2/sin(x)+3*sqrt(x)*sin(x);
> nops(expr);
2
> op(expr);
> a2:=op(2,expr);
> op(3,op(2,expr));op(3,a2);
sin(x)
sin(x)
> ex1:=(x+3)*cos(x);
ex1 := (x + 3) cos(x)
> has(ex1,cos);
true
> ex2:=(x+3)*exp(x*cos(x+2))+sin(x);
> hastype(ex2,`*`);
true
> select(hastype,ex2,`*`);
(x + 3) e(x cos(x + 2))
> indets(ex2,`*`);
{(x + 3) e(x cos(x + 2)), x cos(x + 2)}
2.3. Підстановка і перетворення типів
При виконанні математичних перетворень часто необхідно здійснити заміну в виразах, рівняннях і т.д., тобто замість певної змінної підставити її представлення через інші змінні. А деколи необхідно виконати перетворення виразу одного типу в інший. Для цього в Maple існує декілька команд:
subs(підстановка, вираз) - синтаксична підстановка одного виразу замість іншого у виразі
algsubs(підстановка, вираз) - алгебраїчна підстановка одного виразу замість іншого у виразі
subsop(N=нове значення, вираз) - підстановка нового значення замість N-ого операнду у виразі
convert(вираз, тип) - надає виразу новий тип даних
whattype(вираз) - визначає тип виразу
Синтаксис команди subs( ):
subs(старий вираз=новий вираз, вираз)
subs(s1, s2, .. sn, вираз)
subs([s1, s2, .. sn], вираз), де кожне з s1, s2, .. sn рівняння, що визначають підстановку.
Перша форма команди аналізує вираз, визначає в ньому всі входження старого виразу і підставляє замість них новий вираз.
Друга форма команди дозволяє виконати серію підстановок у вираз, причому підстановки виконуються послідовно, починаючи з s1.
Третя форма команди містить підстановки у вигляді множини або списку. Ці підстановки виконуються одночасно, а не послідовно, як в попередньому варіанті.
> subs(x=y,y=x,[x,y]);
[x, x]
> subs({x=y,y=x},[x,y]);
[y, x]
Команда subs( ) здійснює "синтаксичну підстановку", тобто заміна у виразі відбувається лише тоді, коли ліва частина рівняння підстановки співпадає з одним із операндів в структурному представленні виразу. В наступному прикладі команда subs( ) не підставить у вираз s^3 замість s^2 вираз 1-с^2.
> ex2:=s^3;
ex2 := s3
> subs(s^2=1-c^2,ex2);
s3
> subs(s=sqrt(1-c^2),ex2);
(1 – c2 )3/2
> simplify (ex2,{s^2=1-c^2});
s - sc2
> algsubs(s^2=1-c^2,ex2);
(1 – c2 ) s
Для здійснення підстановки можна скористатись декількома способами:
- явно виразити стару змінну через нові і скористатися функцією subs( ) .
- скористатися командою simplify( ), вказуючи у якості параметра необхідну змінну (в наступній лекції)
- скористатися командою algsubs( ), котра здійснює алгебраїчну підстановку.
