У меня есть матрица (около 342 на 342), обозначенная C(i,j)
, и я хочу идентифицировать квадратную подматрицу оригинала в соответствии с условием C(i,j) > rho
. Я использую MATLABИдентификация квадратной подматрицы элементов в массиве, которая удовлетворяет порогу в MATLAB
Например, если у меня есть матрица C(i,j)
как:
C = 1 0.7 0.8
0.7 1 0.5
0.8 0.5 1
и Ро = 0,6 тогда правильный квадрат подматрицы я хочу, чтобы мой код, чтобы определить, является:
C'= 1 0.7
0.7 1
Я не уверен, как/лучший способ сделать это в MATLAB? Хотя матрицы, с которыми я работаю сейчас, являются симметричными, я бы предпочел решение, которое не предполагает этого.
'[K, L] = найти (C> Rho);' –
Ваш вопрос не понятно. Каков критерий включения или отсутствия данной пары 'i, j' в результате? Является ли 'C' всегда симметричным? –
@ LuisMendo Я прочитал критерий как «должен быть больше, чем rho», и является ли 'C' симметричным или нет, не имеет особого значения, кроме того, если он симметричен, вы можете использовать' [rowt, colt, ~] = find (triu (C)> rho]; row = [rowt; colt]; col = [colt; rowt] '. Я не уверен, что это быстрее, чем просто использование логического в полной матрице. – Adriaan