Как найти точечное произведение двух 2D векторов? - PullRequest
0 голосов
/ 29 октября 2018

У меня есть два вектора, каждый для for [(x1, y1), (x2, y2), ...]. «x_vals» и «y_vals» содержат координаты x и y соответственно. Мне нужно найти произведение векторных точек этих двух векторов, чтобы найти меру проекции одного на другой. Моя цель - просто проверить, насколько близки эти два вектора, получив меру косинуса от 0 до 1. Вот мой код:

for idx,(x,y) in enumerate(zip(x_vals,y_vals)):
    n = 19 # desired length for the chunked vector 
    if idx + n > len(x_vals):
       n = len(x_vals) - idx 
    x_set = x_vals[idx:idx+n]# first list
    x_set_= x_vals[idx+n+1:]# rest
    y_set = y_vals[idx:idx+n]
    y_set_= y_vals[idx+n+1:]# rest
    pt =(x_set,y_set)

    for ii in range(len(x_set_)):
        x_set_new=x_set_[ii:ii+n]
        y_set_new=y_set_[ii:ii+n]
        # stX = np.multiply(x_set_,x_set_new)
        # stY = np.multiply(y_set_,y_set_new) 
        pt_new =(x_set_new,y_set_new)
        cosvalue = np.dot(pt,pt_new,axis=0)

Кроме того, как я могу узнать, что многие точки в двух векторах находятся ближе к порогу?

Любая помощь приветствуется. Заранее спасибо.

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