Как выполнить поэлементную булеву операцию в матрице в Armadillo

Я работаю с библиотекой Armadillo в C ++ и имею матрицуA, Как мне приобрести 0/1 Матрица-B где B_{ij} = 1 iff. A_{ij}>0?

Я действительно не могу позволить себе написать цикл for в моей программе, потому что он внутри четырех слоев.

Спасибо!!

2

Решение

Это достигается через Армадилло реляционные операторы:

 mat A = randu<mat>(5,5) - 0.5;

umat B = (A > 0);

Обратите внимание, что B имеет тип «umat» вместо «mat». Первый содержит целочисленные элементы без знака.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector