Дано:
a =
4 10 12 3 6
Создайте матрицу из всех парных продуктов:
>> all_products = a .* a.'
all_products =
16 40 48 12 24
40 100 120 30 60
48 120 144 36 72
12 30 36 9 18
24 60 72 18 36
Теперь создайте маску, чтобы оставить только те значения ниже основногодиагональ:
>> mask = tril(true(size(all_products)), -1)
mask =
0 0 0 0 0
1 0 0 0 0
1 1 0 0 0
1 1 1 0 0
1 1 1 1 0
и нанесение маски на матрицу товара:
>> unique_products = all_products(mask)
unique_products =
40
48
12
24
120
30
60
36
72
18