При этом изображение можно растягивать или сжимать в различных направлениях.
Рис. 2.12 Пример вставки в документ Maple 10 изображения
Следует отметить, что в Maple 10 появился новый графический объект — наброски (Sketch). Подробно работа с ними описана в главе 8.
2.2.8. Создание Maple-таблиц и их применение
Еще одним важным типом множественных данных являются
> table[];
Пустая таблица резервирует память под данные. Когда параметром функции table является список выражений, он выводится в естественном порядке расположения элементов таблицы, но с произвольным порядком индексации:
> Т:=table ({1,2,Pi, `string`});
> Т [3] ;
> S:=table([(one)=1,(two)=2,(three)=3]);
> S [1];
> S[two];
> S[three];
> entries(S);
> indices(S);
В конце приведенных примеров показано, как можно выделить отдельные компоненты таблицы и вывести значения и индексы таблицы с помощью функций entries и indices. Следующие примеры показывают, что таблицу можно использовать для выполнения математических преобразований:
> F := table([sin=cos, cos=-sin]): op(op(F));
> F[cos] (Pi/2);
> F[sin] (0);
> evalf(cos(Pi/2));
> evalf(sin(0));
Следует внимательно присмотреться к этим примерам — они демонстрируют замену функции косинуса на синус со знаком «—» и синуса на косинус.
2.2.9. Пакет ListTool для работы со списками
Для работы со списками имеется пакет расширения ListTool. Его вызов и состав новых определений — функций представлены ниже:
> with(ListTools);
Warning, the assigned name Group now has a global binding
Применительно к задачам данной книги применение этого пакета ограничено. Поэтому ограничимся несколькими примерами его применения (файл listtools):
> myList := [seq( ithprime (i) , i=1..20 )];
> BinarySearch(myList, 61, `<`);
> Reverse (myList);
> FindRepetitions(rnyList);
> FindRepetitions([1, 2, 3,1, 5, 3]);
> L := [0., .84, .91, .14, -.76, -.96, -.28, .66, .99, .41, -.54];
> M := [1., .54, -.42, -.99, -.65, .28, .96, .75, -.15, -.91, -.84];
> DotProduct(L, L);
> DotProduct(L, M);
Нетрудно заметить, что применение этих функций (как и ряда других) достаточно очевидно.
2.2.10. Структура разбросанных полиномов ряда переменных SDMPolynom
В Maple 9.5 введена новая структура данных — разбросанные полиномы ряда переменных — SDMPolynom (Sparse Distributed Multivariate Polynom). Примеры применения новой структуры:
А: =SDMPоlynоm(х³ - 2 х² - 2 х + 4, [х])
B:=SDMPolynom(х*у^2+х^2*у^3 + (2 + I)у + 1, [х, у])
Из этих примеров форма задания таких полиномиальных структур очевидна. С ними можно проводить различные операции — вычислять степень по каждой переменной, выполнять арифметические операции и т.д.