Круг внутри матрицы - PullRequest
       0

Круг внутри матрицы

0 голосов
/ 10 марта 2020

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

Мне удалось создать круг в матрице, но я хочу отделить внутреннюю часть от внешней стороны круга. Есть ли способ, с помощью которого я мог бы сделать все, что находится за пределами функции круга, отдельным значением?

Вот что я имею до сих пор:

import numpy as np  
import matplotlib.pyplot as plt

def my_unit_circle(r):  
   d = 2*r + 1  
   rx, ry = d/2, d/2  
   x, y = np.indices((d, d))  
   return (np.abs(np.hypot(rx - x, ry - y)-r) < 0.5).astype(int)

model = my_unit_circle(300)

model[300:325,0:600] = 2

plt.matshow(model)  
plt.show()'''

Что дает мне это:

Matshow image

Заранее благодарю за любую помощь.

1 Ответ

0 голосов
/ 11 марта 2020

np.where может использоваться для создания массива со значениями в зависимости от условия:

import numpy as np
import matplotlib.pyplot as plt

def my_unit_circle(r):
   d = 2*r + 1
   rx, ry = d/2, d/2
   x, y = np.indices((d, d))
   return np.where(np.hypot(rx - x, ry - y) < r,  1, 0)

model = my_unit_circle(300)

model[300:325,0:600] = 2

plt.matshow(model)
plt.show()

resulting plot

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...