Иллюстрированный самоучитель по Maple 6/7

Пакет для работы со случайными объектами RandomTools

Примеры применения функций представлены ниже:

Иллюстрированный самоучитель по Maple 6/7 › Обзор пакетов специального назначения › Пакет для работы со случайными объектами RandomTools

Иллюстрированный самоучитель по Maple 6/7 › Обзор пакетов специального назначения › Пакет для работы со случайными объектами RandomTools

Функция GetFlavor(flvr) представляй случайный объект (или объекты) в форме процедуры:

> AddF1avor(a = rand(1..20)):
Generate(a):
15
> GetFlavor(a);
proc () localt; global_seed;
_seed: = irem(ax_seed,p);
t: = _seed;
toconcats do_seed: = irem(ax_seed,p);
t: = sxt + _seed end do;
irem(t, divisor) +offset endproc
> GetFlavor(integer);
module () localDefaults;
exportMain;
end module

Другая функция GetFlavors () возвращает все типы случайных объектов:

> GetFlavorsO;

a, alphachar, choose, complex, exprseq, float, integer, list, listlist,
 negative, negint, nonnegative, nonnegint, nonposint, nonpositive, nonzero, nonzeroint,
 polynom, posint, positive, rational, set, string, truefalse

Функция HasFlavor(flvr) служит для проверки наличия объекта данного типа в списке типов объектов, а функция RemoveFlavor(flvr) – для удаления типа объекта.

Следующие примеры иллюстрируют применение этих функций:

> HasFlavor(a):
true
> RemoveFlavor(a);
> HasFlavor(a):
false
> GetFlavors();

alphachar, choose, complex, exprseq, float, integer,
 list, listlist, negative, negint, nonnegative, nonnegint, nonposint,
 nonpositive, nonzero, nonzeroint, polynom, posint, positive, rational, set, string, truefalse

Обратите внимание на то, что после уничтожения объекта типа а он исчез из списка, выводимого функцией GetFlavors. Этот пакет, несмотря на довольно специфические возможности, наверняка будет полезен тем читателям, которые всерьез заняты реализацией "продвинутых" методов Монте-Карло, основанных на моделировании случайных объектов и ситуаций. Он служит серьезным дополнением к пакету статистических расчетов stats, описанному в этом уроке выше.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.