Как я могу исправить установку элемента массива с ошибкой последовательности - PullRequest
0 голосов
/ 02 июля 2019

У меня есть 2 массива, выборка и данные. Данные будут содержать координаты эллипса. Все точки внутри эллипса будут белыми, а снаружи - черными.

Теперь я хочу вычислить пространственное расстояние между моим массивом выборок и массивом данных (массив эллипсов), заданным определенным центром эллипса (x, y). Все возможные точки центра эллипса хранятся в другом массиве под названием center_points.

Но я получаю сообщение об ошибке установки элемента массива с последовательностью

import numpy as np
import matplotlib.pyplot as plt
from scipy.spatial import distance 
center_points = []

def combinations(x,y):
    dx = 2
    dy = 2
    return x-dx,y-dy

for x in range(10):
    for y in range(10):
        center_points.append(combinations(x,y))

sample = np.random.rand(100,100)

#spatial distance 
spatial_distance = []

data = np.empty((100,100))

def ellipse(x,y):
    if (x**2+y**2/3)>300: 
        return 0
    else:
        return 1

def translate(x, y, DX, DY):
    return (x- DX, y - DY)

def rotate(m, n):
    theta = np.radians(45)
    matrix = np.array([[np.cos(theta), -np.sin(theta)], [np.sin(theta), np.cos(theta)]])
    return np.dot(matrix, (m,n))

for i in range(data.shape[0]):
    for j in range(data.shape[1]): 
        data[i][j]= ellipse(i,j)
        data[i][j]= rotate(i,j)
        for a,b in center_points: 
            data.append((translate(i,j,a,b)))
            spatial_distance.append(distance.hamming(data,sample))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...