반응형
지금까지 이것을 가지고 있습니다. 두 벡터 만들기
import numpy as np
loc = np.array([100., 100.])
vel = np.array([30., 10])
loc += vel
# reseting speed to a default value, maintaining direction
vel.normalize()
vel *= 200
loc += vel
해결 방법
주석에서 언급했듯이 벡터의 mutiplication을 위해 dot ()
함수 또는 메서드를 사용해야하는 것이 가장 큰 함정입니다. 그러나 다시 말하지만, numpy 배열은 일관 적 입니다. 모든 작업은 요소별로 이루어집니다. 따라서 배열을 더하거나 빼고 스칼라를 사용한 곱셈은 모두 벡터의 예상대로 작동합니다.
수정 : 댓글 관련 :
예. numpy 전체는 배열을 기반으로합니다.
예. linalg.norm (v)
는 벡터의 길이를 얻는 좋은 방법입니다. 그러나 당신이 얻는 것은 규범에 대한 가능한 두 번째 주장에 달려 있습니다! 문서를 읽으십시오.
벡터를 정규화하려면 (2)에서 계산 한 길이로 나누면됩니다. 스칼라로 배열을 나누는 것도 요소별로 이루어집니다.
ipython의 예 :
In [1]: import math
In [2]: import numpy as np
In [3]: a = np.array([4,2,7])
In [4]: np.linalg.norm(a)
Out[4]: 8.3066238629180749
In [5]: math.sqrt(sum([n**2 for n in a]))
Out[5]: 8.306623862918075
In [6]: b = a/np.linalg.norm(a)
In [7]: np.linalg.norm(b)
Out[7]: 1.0
In [5]
는 길이를 계산하는 다른 방법입니다. [6]에서
는 벡터 정규화를 보여줍니다.
참조 페이지 https://stackoverflow.com/questions/12049154
반응형
'파이썬' 카테고리의 다른 글
파이썬 SQL 쿼리 결과를 PANDAS 데이터 구조로 변환하는 방법은 무엇입니까? (0) | 2021.02.10 |
---|---|
파이썬 TypeError : 'str'유형의 정수가 아닌 시퀀스를 곱할 수 없습니다. (0) | 2021.02.10 |
파이썬 Y 축이 Matplotlib에서 정수만 사용하도록 강제하는 방법은 무엇입니까? (0) | 2021.02.10 |
파이썬 유니 코드 인 경우 문자열을 테스트합니다. UTF 표준은 무엇이며 바이트 단위로 길이를 얻습니까? (0) | 2021.02.10 |
파이썬 PHP implode에 해당하는 Python? (0) | 2021.02.10 |
댓글