반응형
Python의 메시 그리드 함수 (meshgrid mgrid ogrid ndgrid)
나는 meshgrid와 같은 기능의 명확한 비교를 찾고 있습니다. 불행히도 찾을 수 없습니다!
Numpy http://docs.scipy.org/doc/numpy/reference/ 는
mgrid
ogrid
meshgrid
Scitools http://hplgit.github.io/scitools/doc/api/html/index.html 은
ndgrid
boxgrid
이상적으로는이 모든 것을 요약 한 표가 완벽 할 것입니다!
numpy.meshgrid
Matlab의 meshgrid
명령을 따라 모델링되었습니다 . 두 변수의 함수를 벡터화하는 데 사용되므로 다음과 같이 작성할 수 있습니다.
x = numpy.array([1, 2, 3])
y = numpy.array([10, 20, 30])
XX, YY = numpy.meshgrid(x, y)
ZZ = XX + YY
ZZ => array([[11, 12, 13],
[21, 22, 23],
[31, 32, 33]])
그래서 ZZ
모든 조합을 포함 x
하고 y
함수에 넣어. 당신이 그것에 대해 생각할 때, meshgrid
numpy 배열에 대해 약간 불필요합니다. 이것은 당신이 할 수 있음을 의미합니다
XX, YY = numpy.atleast_2d(x, y)
YY = YY.T # transpose to allow broadcasting
ZZ = XX + YY
동일한 결과를 얻습니다.
mgrid
그리고 ogrid
어떤 사용 인덱스를 만들 수있는 그래서 표기 도우미 클래스입니다 XX
과 YY
같이 사용 무언가를 할 필요없이 바로 앞의 예는 linspace
. 출력이 생성되는 순서는 반대입니다.
YY, XX = numpy.mgrid[10:40:10, 1:4]
ZZ = XX + YY # These are equivalent to the output of meshgrid
YY, XX = numpy.ogrid[10:40:10, 1:4]
ZZ = XX + YY # These are equivalent to the atleast_2d example
나는 scitools 물건에 익숙하지 않은,하지만 ndgrid
하는 것과 같다 meshgrid
동안, BoxGrid
실제로 세대의 이런 종류의 도움을 전체 클래스입니다.
np.mgrid
와 np.meshgrid()
같은 일을하지만, 제 1 및 제 2 축 교체하는 작업을 수행합니다
# 3D
d1, d2, d3 = np.mgrid[0:10, 0:10, 0:10]
d11, d22, d33 = np.meshgrid(np.arange(10),np.arange(10),np.arange(10))
np.array_equal(d1,d11)
수익률 False
. 처음 두 차원을 바꾸십시오.
d11 = np.transpose(d11,[1,0,2])
np.array_equal(d1,d11)
수익률 True
.
반응형
'developer tip' 카테고리의 다른 글
MySQL IN 문의 PDO 바인딩 값 (0) | 2020.11.02 |
---|---|
번들 이름, 실행 파일 이름, 제품 이름… (0) | 2020.11.02 |
C ++ : 반환 값은 L- 값입니까? (0) | 2020.11.02 |
Kafka에 메시지를 보내는 데 키가 필요합니까? (0) | 2020.11.01 |
뷰 / 템플릿을 렌더링하기 전에 Angular 2가 모델을로드 / 해결할 때까지 기다립니다. (0) | 2020.11.01 |