Это очень простая проблема, но я не нашел в ней никаких намеков. Скажем, у меня есть матрица 2x4, и я хочу, чтобы уменьшить размерность матрицы только эти столбцы, которые в сумме больше, чем 1:Выбор столбцов/строк матрицы в Julia
A=rand(2,4)
ind = sum(A,1).>1
Это дает мне индикатор столбцов, которые я хочу сохранить. Наивно можно было бы предположить, что я могу сделать это:
A[:,ind]
, который не работает, как отр является BitArray и только для Bool Массивы это разрешено, то есть следующие работы
A[:,[true,true,false,true]]
в обмене , следующие работы:
A[A.>0.5]
Но он возвращает вектор отфильтрованных элементов. Какова логика этого и как я могу решить свою проблему?
Я выяснил, что получаю правильную матрицу с 'A [:, find (ind)]' , но мне непонятно, почему это нужно сделать именно так. – Sibylse
Я предполагаю, что вы используете Julia 0.3? Это работает в Julia 0.4.5 (последняя стабильная). –
Правда. Ладно, так что это было «исправлено» .. спасибо u! – Sibylse