Это следующая часть ниже:
2) Дополнительный вопрос:
После получения среднего значения ненулевых соседей я также хочу проверить, равны ли, соседние элементы меньше, меньше или больше, чем среднее из ненулевых элементов. Если оно больше или равно «1» или «0».
Примечание: если соседние объекты находятся в радиусе двух или более центров, возьмите наименьшее среднее значение центра для проверки.
0 12 9
4 **9** 15
11 19 0
'9' в середине находится в радиусе 12, 15 и 19 центров, поэтому возьмите минимальное среднее из этих минимальных [9.000, 9.000, 8.000] = 8.000
Например, когда радиус = 1 м или 1 элемент на расстоянии.
new_x =
0 0 0 0 0
0 0 **9.0000** 9.0000 0
0 4.0000 9.0000 **9.0000** 0
0 **8.3333** **8.0000** 0 0
0 2.0000 4.0000 8.0000 0
0 4.0000 5.0000 8.0000 0
0 0 0 0 0
Test_x =
0 0 0 0 0
0 0 **9.0000** 1 0
0 0 1 **9.0000** 0
0 **8.3333** **8.0000** 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
=============================================== ==================================
1) Скажите, если у меня есть матрица, показанная ниже,
X =
0 0 0 0 0
0 0 12 9 0
0 4 9 15 0
0 11 19 0 0
0 2 4 8 0
0 4 5 8 0
0 0 0 0 0
и я хочу найти среднее значение окружающих ненулевых элементов, которое больше 10. Остальные элементы остаются неизменными, т.е. элементы <10. </p>
Итак, я хочу, чтобы мое решение выглядело примерно так:
new_x =
0 0 0 0 0
0 0 9.0000 9.0000 0
0 4.0000 9.0000 9.0000 0
0 8.3333 8.0000 0 0
0 2.0000 4.0000 8.0000 0
0 4.0000 5.0000 8.0000 0
0 0 0 0 0
Не: что я НЕ только смотрю на соседей элемента, который больше некоторого значения (т. Е. 10 в данном случае).
Допустим, любые элементы, которые больше 10, являются «центром», и мы хотим найти среднее число ненулевых элементов с радиусом, скажем, 1 м. где 1 метр = 1 элемент от центра.
Примечание: он не всегда может быть на расстоянии 1 метра в радиусе, то есть может быть 2 или более. В этом случае это не будет только верх, низ, левый и правый от центра.
**** Также помните о границе матрицы. Например, когда радиус = 2 или более, некоторые из средних ненулевых соседей находятся за пределами границы. **
Например,
Для радиуса = 1 м = 1 элемент,
new_x = среднее значение [(i + 1, j), (i-1, j), (i, j + 1) и (i, j-1)] - сверху, снизу, справа и слева от центра.
Для радиуса = 2 м = 2 элемента,
new_x = среднее значение [(i + 1, j), (i + 2, j), (i-1, j), (i-2, j), (i, j + 1), (i, j + 2), (i, j-1), (i, j-2), (i + 1, j + 1), (i + 1, j-1), (i-1, j-1) и (I-1, J + 1)].
=============================================== ===================
Я пробовал несколько вещей раньше, однако я не знаком с функциями.
Поэтому, пожалуйста, помогите мне решить проблему.
Заранее спасибо.