Вход/Регистрация
Maple 9.5/10 в математике, физике и образовании
вернуться

Дьяконов Владимир Павлович

Шрифт:

> [factorial(10),10!];

[3628800, 3628800]

> iquo(234,5);

46

> irem(234,5);

4

> lcm(124,3);

372

> [3!!, (3!)!];

[720, 720]

В последних двух примерах применения оператора факториала полезно обратить внимание, что запись n!! означает лишь (n!)!, а не n!! = 2*4*6*…, то есть произведение четных целых чисел. Действие других функций очевидно. Целочисленные функции, хотя и не все, не могут использоваться для символьных операций, например интегрирования или дифференцирования.

Полезность возможности Maple вычислять факториалы больших чисел демонстрирует следующий пример. Пусть в группе студентов 25 человек, а в году 365 дней. Тогда вероятность того, что ни у кого из студентов дни рождения не совпадают, составит:

> evalf(%);

р = 0.2780571566 10– 25

При обычной арифметике был бы получен 0 или сообщение о некорректности операций из за превышения разрядной сетки компьютера.

А вот еще более характерный пример такого рода. Пусть вероятность рождения мальчика 0.515. Какова вероятность того, что среди 1000 новорожденных мальчиков будет не менее половины. Расчетная формула требует вычисления факториала 1000!:

> evalf(%);

р = 0.8366435978

Если увеличить число рождаемых мальчиков до 10 или 100 тысяч, то такая задача может послужить хорошим тестом не только на работу с очень большими числами, но и на скорость вычислений. Решение таких задач без применения аппарата точной арифметики больших чисел встречает большие трудности, а подчас и просто невозможна.

3.2.5. Функции с элементами сравнения и их применение

Несколько хорошо известных функций использует при вычислениях средства сравнения чисел. Для действительного аргумента х это следующие функции:

• trunc(x) — при х>=0 возвращает наибольшее целое, меньшее или равное х, при x<0, trunc(x) = -trunc(-x).

• round(x) — округляет x до ближайшего целого.

• frac(x) — возвращает дробную часть х, так что frac(x) = х - trunc(x).

• floor(x) — возвращает наибольшее целое, меньшее или равное х.

• ceil(x) — возвращает наименьшее целое, большее или равное х.

Эти функции могут использоваться и для комплексного аргумента х. При этом справедливы следующие соотношения:

trunc(x) = trunc(Re(x)) + I*trunc(Im(x))

round(x) = round(Re(x)) + I*round(Im(x))

frac(x) = frac(Re(x)) + I*frac(Im(x))

ceil(x) = -floor(-x)

К этой категории относится и функция знака, синтаксис которой:

signum(x) signum(1,x) signum(0, х, у)

В основной (первой) форме она возвращает значение x/abs(x), где функция abs(x) — возвращает абсолютное значение действительного х, т.е. х при х>0 и– х при х<0.

Действия, выполняемые этими функциями, вполне очевидны и читатель может легко проверить это на практике. Данные функции можно использовать для моделирования периодически повторяющихся зависимостей (сигналов). Несколько таких примеров представлено ниже (файл modsig — рис. 3.1):

> restart;

RC:=2-2*ехр(3*(floor(t/2)-t/2));

upside:=1/(3+2*sin(Pi*t));

sawtooth:=t-floor(t):

roundsquare: = (tanh(100*sin(Pi*t) )+1) /2:

squarewave:= (1+signum(sin (Pi*t)))/2;

blimps:=squarewave*sawtooth;

triang:=blimps+(squarewave-1)*(sawtooth-1);

plot([sawtooth+5, upside+3, RC,blimps-2,squarewave-4,roundsquare-6,triang-8],t=0..10,-8..6,

color=[red,orange,green,black,magenta,brown,blue], thickness=3);

Графики зависимостей, получаемые с помощью представленного выше примера показаны на рис. 3.1. Эти зависимости можно использовать в качестве моделей сигналов при моделировании электрических и электронных цепей (см. главу 11).

Рис. 3.1. Графики зависимостей, получаемых с помощью функций сравнения

3.2.6. Примеры вычисления тригонометрических функций

В ядре Maple (и других СКМ) определены следующие тригонометрические функции: sin — синус; cos — косинус; tan — тангенс; sec — секанс; csc — косеканс; cot — котангенс. Все эти функции являются периодическими (с периодом 2π, кроме тангенса и котангенса, у которых период равен π) и определены для действительного и комплексного аргументов. Примеры вычислений (файл calcfun):

  • Читать дальше
  • 1
  • ...
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: