>>
<<
Ркв
Ввд
JfC
LJ
Фрз
Слв
Изм
Рзг
!:
Помощь
Словарь
11. Классификация (Множества и Утверждения)
Выражение -.+./t , в применении к любой таблице классификации
t , дает таблицу полной классификации. Таким образом, функция, определенная ниже, замыкает таблицу классификации.
Функция tab гарантирует, что скалярный или векторный аргумент
будет воспринят как таблица с одной строкой.
c=: complete=: (] , (+./ {. ,:)@:-.@:(+./))@:tab
tab=: ,:^:(0:>.2:-#@$)
c 0 0 1,:0 1 0
0 0 1
0 1 0
1 0 0
c 1 0 1,:0 1 0
1 0 1
0 1 0
(c 1 0 1);(c c 1 0 1);(c 0);(c 1)
+-----+-----+-+-+
|1 0 1|1 0 1|0|1|
|0 1 0|0 1 0|1| |
+-----+-----+-+-+
Функция, возвращающая булевский список называется
утверждением; ее результат есть одно-направленная классификация,
называемая множеством. Классификация, конечно, может быть
замкнута добавлением дополнительного множества в качестве отдельного класса.
Например:
p1=: 2&<: *. <&5 Множество, определенное интервалом
p1a=: (2:<:]) *. (]<5:) Альтернативное определение
p2=: = <. Множество целых
a=: 2 %~ i. 11
(],p1,p1a,p2,(p1+.p2),:(p1*.p2)) a
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
0 0 0 0 1 1 1 1 1 1 0
0 0 0 0 1 1 1 1 1 1 0
1 0 1 0 1 0 1 0 1 0 1
1 0 1 0 1 1 1 1 1 1 1
0 0 0 0 1 0 1 0 1 0 0
list=: 1 : 'x # ]' Наречие для перечисления элементов множества
((p1 list);(p2 list);((p1*.p2)list)) a
+-----------------+-----------+-----+
|2 2.5 3 3.5 4 4.5|0 1 2 3 4 5|2 3 4|
+-----------------+-----------+-----+
>>
<<
Ркв
Ввд
JfC
LJ
Фрз
Слв
Изм
Рзг
!:
Помощь
Словарь