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

2.4. Вбудовані елементарні математичні функції

Найбільш поширеними є цілочисельні функції:

factorial - обчислення факторіалу

iquo(a,b) - частка для a/b

irem(a,b) - залишок для a/b

igcd(a,b) - найбільший спільний дільник

lcm(a,b) - найменше спільне кратне

Тригонометричні функції:

sin - синус

tan - танген

cos - косинус

cot -котангенс

Обернені тригонометричні функції:

arcsin - арксинус

arctan -арктанген

arccos -арккосинус

arccot -арккотангенс

Алгебраїчні функції:

exp - експоненціальна функція

ilog10 - цілочисельний логарифм з основою 10

ilog - цілочисельний логарифм

ln - натуральний логарифм

log - логарифм із заданою основою

log10 - логарифм з основою 10

sqrt - корінь квадратний

2.5. Команди перетворення виразів

Деякі команди Maple мають дві форми: активну і пасивну. Ім'я активної команди починається з малої літери. Після вводу такої команди і натискання клавіші Enter, вона відразу виконується. Пасивна форма команди виконується не відразу, а лише в області виводу відображає математичний запис того, що вона може зробити. Ім'я пасивної команди починається з великої букви. Надалі, за допомогою команди value( ), можна виконати пасивну команду. Але основне призначення пасивних команд - використання цих команд як засобу документування дій що відбуваються в звичайній математичній формі .

> g:= Int(sin(x)^2,x);

> g=int(sin(x)^2,x);

> value(g);

- cos(x) sin(x) + x

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

- спрощення виразів

- розкриття дужок у виразі

- знаходження максимальної кількості незалежних співмножників виразу

- скорочення алгебраїчних дробів

- раціоналізація дробів

- обмеження на невідомі і ін.

Команда simplify( ) використовується для спрощення виразів, що можуть містити раціональні дроби, алгебраїчні вирази, тригонометричні функції, експоненти, логарифми і т.д. Ця команда має декілька форм виклику, що відрізняються наявністю параметрів, котрі керують процедурою спрощення.

Її найпростіший вигляд:

simplify(вираз);

В дужках записується вираз, що необхідно спростити.

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

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

simplify(вираз, n1, n2 ...);

Тут n1, n2 ... - це імена процедур спрощення: Ei, GAMMA, RootOf, @, hypergeom, ln, polar, power, radical, sqrt, trig і ін.

В довідці про команду simplify( ) можна знайти перелік процедур спрощення, а також повну інформацію про формули спрощення при використанні того чи іншого параметра.

> f:=ln(exp(x));

f := ln(ex)

> simplify(f);

ln(ex)

> simplify(f,ln,assume=real);

x

При спрощенні виразу можна припустити, що на змінні в ньому накладені певні обмеження. Це здійснюється заданням ключового параметра assume=властивість. Форма виклику команди в цьому випадку має вигляд:

simplify(вираз, assume=властивість);, де параметр властивість може приймати одне з наступних значень:

complex -комплексна область,

real - дійсна область,

pozitiv - додатні дійсні числа,

integer - цілі числа,

RealRange(a,b) - інтервал (a,b) дійсних чисел.

Команда simplify( ) дає можливість задавати правила спрощення у вигляді рівностей. Ці правила задаються другим параметром функції у вигляді множини. Синтаксис команди в цьому випадку:

simplify(вираз,{рівність1, рівністьо 2, ...});

> f2:=a^2+b^2+3*c;

f2 := a2 + b2 + 3 c

> simplify(f2,{b^2,a^2+c=5});

-2 a2 + 15

> f3:=x^2+y^3-x-y;

f3 := x2 + y3 - x - y

> equ:={y^3=a,x^2-y=b};

equ := {y3 = a, x2 - y = b}

> simplify(f3,equ,{x,y});

-x + a + b

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

expand(вираз)

expand(вираз, вир1, вир2, ..., вирN) , де

вираз - вираз, в якому необхідно розкрити дужки,

вир1, вир2, ..., вирN - необов'язкові параметри, вказують системі на підвирази, у яких дужки розкривати непотрібно.

> expand ((1+x)+(3+a));

4 + x + a

> expand ((1+x)^2/(3+a)^2);

> expand ((1+x)^2*(3+a),1+x);

3 (1 + x)2 + (1 + x)2 a

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

Синтаксис команди:

factor(вираз)

factor(вираз, пар) , де

пар -необов'язковий параметр пар вказує над яким числовим полем необхідно здійснити розклад полінома. Цей параметр може мати значення real, complex.

Якщо другий параметр невказаний, то команда factor( ) розкладає поліном на множники над числовими полем, якому належать коефіцієнти полінома.

> factor(x^3+2);

x3+ 2

> factor(x^3+2.);

(x + 1.259921050) (x2 - 1.259921050 x + 1.587401052)

> factor(x^3+2,real);

(x + 1.259921050) (x2 - 1.259921050 x + 1.587401052)

> factor(x^3+2,complex);

(x + 1.259921050) (x - .6299605249 + 1.091123636 I) (x - .6299605249 - 1.091123636 I)

> factor(x^3+2,2^(1/3));

(x2 - 21/3 x + 22/3 ) (x + 21/3 )

Команда normal( ) зводить вираз, що містить алгебраїчний дріб, до спільного знаменника і спрощує отриманий алгебраїчний дріб, скорочуючи і чисельник, і знаменник на найбільший спільний дільник. Команда має дві форми виклику:

normal(f)

normal(вираз, expanded), де

параметр expanded вказує на те, що після спрощення дроби в чисельнику і знаменнику розкривають дужки.

> f4:=1/(x+1)+1/x+x/(x+1);

f4 :=

> normal(f4);

> eq:=f4=(x^2-1)/(x+1)^2;

eq :=

> normal(eq);

Команда combine( ) зводить декілька членів у виразі, що представлені сумою, добутком чи степенями невідомих, до одного члена, використовуючи різні правила, які по суті протилежні до правил, що використовуються командою expand( ) . Команда має декілька форм виклику:

combine(s)

combine(s, пар)

combine(s, пар, symbolic)

де s - вираз, який потрібно "звернути"

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

abs, arctan, exp, radical, trig, ln, power.

symbolic - параметр, який дозволяє команді combine( ) не звертати уваги на інтервали зміни аргументів функцій, вказаних у якості другого параметра. В цьому випадку здійснюється формальне символічне перетворення у відповідності з правилами перетворення цих функцій.

> ss:=sin(a)*cos(b)+cos(a)*sin(b);

ss := sin(a) cos(b) + cos(a) sin(b)

> combine(ss,trig);

sin(a + b)

Під раціоналізацією дробів розуміється позбавлення від ірраціональності в знаменнику. Таке перетворення над числовими і алгебраїчними дробами здійснює команда

rationalize( ). Синтаксис команди:

rationalize(F)

де F - вираз або список виразів.

> g3:= 2*(1+2^(1/3))/(2-sqrt(2));

g3 :=

> rationalize(g3);

(1 + 21/3 ) (2 + )