Warning: include(/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/wp-cache-base.php): failed to open stream: No such file or directory in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 65

Warning: include(): Failed opening '/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/wp-cache-base.php' for inclusion (include_path='.:/opt/alt/php55/usr/share/pear:/opt/alt/php55/usr/share/php') in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 65

Warning: include_once(/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/ossdl-cdn.php): failed to open stream: No such file or directory in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 82

Warning: include_once(): Failed opening '/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/ossdl-cdn.php' for inclusion (include_path='.:/opt/alt/php55/usr/share/pear:/opt/alt/php55/usr/share/php') in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 82
памяти | Учебники

Записи с меткой «памяти»

Изменение порядка расположения элементов в списке

Изменение порядка расположения элементов в списке
Помимо добавления в список новых данных имеется возможность изменения порядка расположения элементов в списке. Она реализуется следующими операциями:

  • Flatten [list] — выравнивает (превращает в одномерный) список по всем его уровням;
  • Flatten [list, n] — выравнивает список по п его уровням;
  • Flatten [list, n, h] — выравнивает выражения с заголовком h no n уровням;
  • FlattenAt [list, n] — выравнивает подсписок, если он оказывается п-м элементом списка list. Если n отрицательно, позиция отсчитывается с конца;
  • Sort [list] — сортирует элементы списка list в каноническом порядке;
  • Sort[list,p] — сортирует согласно функции упорядочения р;
  • Reverse [list] — возвращает список с обратным порядком расположения элементов;
  • RotateLeft [list] — возвращает список после однократного поворота влево;
  • RotateLeft [list, n] — возвращает список после n-кратного поворота влево;
  • RotateRight [list] — возвращает список после однократного поворота вправо;
  • RotateRight [list, n] — возвращает список после n-кратного поворота вправо;
  • Transpose [list] — осуществляет транспозицию (смену строк и столбцов) для двумерного списка;
  • Transpose [list, п] — осуществляет транспозицию n-мерного списка. Ниже приведен ряд примеров на использование этих функций.

Ввод (In)

Вывод (Out)

13={{1,2,3},{4,5,6},{7,8,9}};

{1,2,3,4,5,6,7,8,9}

Flatten [13]

 

FlattenAt[13,l]

{1,2,3,{4,5,6},{7,8,9}}

Sort[{l,5,3,4,2}]

{1,2,3,4,5}

Reverse[{l,2,3,4}]

{4,3,2,1}

RotateLeft[ {1,2,3,4,5}, 2]

{3,4,5,1,2}

RotateRight[{l,2,3,4,5} ,2]

{4,5,1,2,3}

12={{a,b},{c,d}};

 

TableForm[12]

a b c d

TableFormf Transpose [12] ]

a c d b

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

  • Complement [list, listl, list2, …] — возвращает список list с элементами, которые не содержатся ни в одном из списков listl, Iist2, …;
  • Intersection [listl, list2,…] (пересечение множеств) —возвращает упорядоченный список элементов, общих для всех списков listi;
  • Join[list1, list2,… ] — объединяет списки в единую цепочку (выполняет конкатенацию). Join может применяться к любому множеству выражений, имеющих один заголовок;
  • Union [listl, Iist2, …] (объединение множеств) — удаляет повторяющиеся элементы списков и возвращает отсортированный список всех различающихся между собой элементов, принадлежащих любому из данных списков listi. Функция обеспечивает теоретико-множественное объединение списков;
  • Union [list] — возвращает отсортированный вариант списка list, из которого удалены все повторяющиеся элементы.

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

далее…

Объекты и идентификаторы

Объекты и идентификаторы
В общем случае система Mathematica оперирует с объектами. Под ними подразумеваются математические выражения (ехрг), символы (symbols), строки из символов (strings), упомянутые выше числа различного типа, константы, переменные, графические и звуковые объекты и т. д.
Каждый объект характеризуется своим именем — идентификатором. Это имя должно быть уникальным, то есть единственным. Существуют следующие правила задания имен:

  • sssss — имя объекта, заданного пользователем;
  • Sssss — имя объекта, входящего в ядро системы;
  • $Sssss — имя системного объекта.

Итак, все объекты (например функции), включенные в ядро, имеют имена (идентификаторы), начинающиеся с большой буквы (например Plus, Sin или Cos). Идентификаторы относящихся к системе объектов начинаются со знака $. Заданные пользователем объекты следует именовать строчными (малыми) буквами. Разумеется, под символами s…s подразумеваются любые буквы и цифры (но не специальные символы, такие как +, -, * и т. д.).
Объекты (чаще всего это функции), встроенные в систему, принято называть внутренними или встроенными. далее…

Основные классы данных

Основные классы данных
 
Mathematica оперирует с тремя основными классами данных:

  • численными данными, представляющими числа различного вида;
  • символьными данными, представляющими символы, тексты и математические выражения (формулы);
  • списками — данными в виде множества однотипных или разнотипных данных.

Каждый из этих классов данных в свою очередь имеет ряд специальных, более частных типов данных. На них мы остановимся более подробно.
Численные данные
Двоичные числа, биты и байты
Минимальной единицей информации в компьютерной технике является двоичная единица — бит. Она имеет представление в виде 0 или 1, удобное для реализации простейшими электронными схемами с двумя состояниями электрического равновесия (например, триггерами или иными ячейками памяти). Многоразрядные двоичные числа представляют собой набор цифр 0 и 1, например, 100110 или 111001. Каждый старший разряд относительно предыдущего имеет весовой коэффициент, равный 2.
Именно с битами работает микропроцессор на нижнем уровне операций. Однако бит — слишком мелкая единица, не очень удобная в обращении. К тому же мы привыкли к куда более удобным и наглядным для нас элементам информации, таким как буквы, цифры, знаки арифметических операций, спецзнаки и символы псевдографики. далее…