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

Числа и константы

Если в выражении встречается число, записанное с плавающей точкой (например, 3.14 или 5.6e-17), то все вычисления выполняются приближенно, в противном случае вычисления проводятся точно. В Maple есть следующие константы:

Pi - Число пи

I - Мнимая единица i

exp(1) - Основание натуральных логарифмов e

infinity - Бесконечность

true - Логическая истина

false - Логическая ложь

Вычисления с участием констант выполняются точно (если только их значение не будет переведено к действительному значению), например

> sin(Pi/3);

> sin(Pi);

> sin(3.1415926);

В Maple существуют следующие операторы:

  • Арифметические: +, -, *, /, ^ (возведение в степень), ! (факториал).

  • Логические: <, >, >=, <=, = (равно), <> (не равно).

  • Оператор присваивания: :=.

Переменной является любой идентификатор (состоящий из латинских букв и цифр, начинающийся с буквы). Переменной может быть присвоено любое значение при помощи оператора присваивания :=. Переменная, которой не присвоено никакое значение, считается свободной переменной, и ее имя сохраняется в арифметических вычислениях. Например:

> a1:=sin(Pi);

> > a:=2: b:=3:(a+b)^2;

> (a+c)^2;

Стандартные функции

x1/2 – sqrt(x)

|x| – abs(x)

Знак x (возвращает 1, -1 или 0) – sign(x)

Тригонометрические функции: sin(x), cos(x), tan(x), cot(x)

Обратные тригонометрические: arcsin(x), arccos(x), arctan(x), arccot(x)

Экспонента: exp(x)

Натуральный, десятичный логарифм и логарифм по данному основанию: ln(x), log10(x), log[a](x)

Преобразование математических выражений

В выражение могут входить константы, свободные переменные, математические функции. Пример выражения:

> A:=sin(sqrt(Pi)+exp(2));

Довольно часто в качестве выражений выступают многочлены от одной или нескольких переменных или рациональные выражения. Maple содержит различные функции для преобразования таких выражений.

Функция factor(eq) разлагает выражение eq на множители.

> P:=x^4+2*x^3+2*x^2+2*x+1:

factor(P);

Функция expand(eq) раскрывает скобки в выражении. Если указать один или несколько дополнительных параметров в виде expand(eq,a,b,c), то выражения a, b, c раскрываться не будут. Это полезно, если необходимо каждое слагаемое умножить на какое-то выражение.

Примеры:

> expand((x+1)*(x+2));

> expand(sin(x+y));

> expand((x+1)*(y+z),x+1);

Для приведения дробей к общему знаменателю с последующим сокращением используется функция normal(eq).

> normal(1/x+1/y);

> (a^4-b^4)/((a^2+b^2)*a*b);

> normal(%);

Функция simplify(eq) упрощает выражение eq. В качестве второго (необязательного) параметра, ей можно указать, какие выражения преобразовывать: trig – тригонометрические, power – степенные, radical – радикалы, exp – экспоненты, ln – логарифмы.

Пример:

> simplify(sin(x)^2+cos(x)^2);

Предел вычисляется при помощи функции limit. Ее синтаксис: limit(f(x),x=a), где f(x) – функция, предел которой необходимо вычислить, a – точка, в которой вычисляется предел:

> > limit(sin(x)/x,x=0);

В качестве точки могут фигурировать константы infinity и -infinity:

> > limit( (1+1/n)^n, n=infinity);

Если нужно вычислить левый или правый предел в точке, необходимо добавить еще один параметр left или right соответственно:

> > limit(abs(x)/x, x=0, left);

> limit(abs(x)/x, x=0, right);

Для вычисления сумм используется функция sum. Ее синтаксис: sum(f(k),k=a..b), где k – переменная, по которой осуществляется суммирование, f(k) – суммируемые слагаемые, зависящие от k, a и b – пределы суммирования. Например, сумма первых 100 натуральных чисел равна 5050, а сумма их квадратов – 338350:

> sum(k,k=1..100);

> sum(k^2,k=1..100);

При задании параметров можно использовать константу infinity, тогда будет вычислена сумма бесконечного ряда. Например, вычислим сумму бесконечной геометрической прогрессии со знаменателем q:

> > sum(q^k,k=0..infinity);

Для вычисления конечных или бесконечных произведений используется функция product с аналогичным синтаксисом:

> product(i,i=1..6);

> product( (1+1/i^2), i=1..infinity);

В последнем примере фигурирует специальная математическая функция "гиперболический синус" (sinh). Это аналог синуса, определенный не на единичной окружности, а на гиперболе. При необходимости, можно вычислить значение численно:

> evalf (product((1+1/i^2), i=1..infinity));

Большинство функций Maple для исcледований в области теории чисел содержатся в модуле numtheory. Для его подключения необходимо дать команду with(numtheory).

Функция floor(x) округляет число x вниз, ceil(x) округляет число вверх, функция round(x) округляет x до ближайшего целого, функция trunc(x) возвращает floor(x) для положительных x и floor(x) – для отрицательных. Функция frac(x) возвращает дробную часть числа x.

Для нахождения частного при целочисленном делении используется функция iquo, для вычисления остатка от деления – функция irem. У этих функций два параметра: делимое и делитель. Примеры:

> iquo(9,2);

> irem(9,2);

Для нахождения наибольшего общего делителя двух чисел используется функция igcd, для нахождения наименьшего общего кратного – функция ilcm. Пример:

> igcd(2224,122);

> igcd(13,17);

> ilcm(34,78);

Для проверки числа на простоту используется функция isprime, которая возвращает true, если число простое и false – если составное. Для разложения числа на множители используются функции ifactor и ifactors. Первая функция возвращает результат в виде произведения степеней простых чисел, вторая – в виде списка простых чисел и их степеней. Все эти функции работают значительно эффективней простого подбора делителей, проверка на простоту осуществляется быстрее полного разложения на множители.

Для построения простых чисел используются функции prevprime, nextprime, ithprime. Функция prevprime(n) возвращает наибольшее простое число, которое меньше n, функция nextprime(n) - которое больше n. Функция ithprime(n) возвращает n-е простое число.

Для нахождения случайного простого числа следует использовать эти функции вместе с функцией rand(), которая возвращает псевдослучайное 12-значное натуральное число. Для инициализации генератора псевдослучайных чисел необходимо использовать функцию randomize().

> isprime(137);

> isprime(2219);

> ifactor(2219);

> ifactors(2219);

> ifactor(408);

> > nextprime(408);

> isprime(408);

> isprime(409);

> ithprime(3);

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]