np.mgrid 사용

2293 단어
카탈로그
  • 01 기능
  • 02 문법
  • 03 예
  • 04용도
  • 01 기능

    np.mgrid는'공간 구조'를 가진 등차 3차원 그룹을 생성하는 데 사용한다. 예를 들어 아래 코드와 같이 생성 차원은 (2, 5, 5)이다.
    array3D = np.mgrid[-4: 0: 5j,
                             0: 4: 5j]
    print(array3D.shape)
    print(array3D)
    
    (2, 5, 5)
    [[[-4. -4. -4. -4. -4.]
      [-3. -3. -3. -3. -3.]
      [-2. -2. -2. -2. -2.]
      [-1. -1. -1. -1. -1.]
      [ 0.  0.  0.  0.  0.]]
    
     [[ 0.  1.  2.  3.  4.]
      [ 0.  1.  2.  3.  4.]
      [ 0.  1.  2.  3.  4.]
      [ 0.  1.  2.  3.  4.]
      [ 0.  1.  2.  3.  4.]]]
    

    02 문법


    구문 형식은 다음과 같습니다.
    np.mgrid[ 1 , 2 ,...]
    dim = [start: end: step]
    

    차원 간에 쉼표로 구분하고 i차원의 쓰기에는 두 가지 상황이 존재한다.
  • a: b: c
  • c는 생성된 수조원소 간의 보폭을 나타낸다.
  • 수 그룹 구간은 [a, b)(왼쪽 닫고 오른쪽 열기)이다.

  • a: b: cj
  • cj는 생성된 수조 원소의 개수를 나타낸다.
  • 수조구간[a, b](좌폐또폐);


  • 구체적인 용법은 우리가 뒤의 실례 부분에서 설명한다.

    03 예

  • 1차원 수조
    #  [0, 4)       ,   1 -> [0, 1, 2, 3]
    array1D = np.mgrid[0: 4: 1]
    #  [0, 4]       ,   5 -> [0, 1, 2, 3, 4]
    array1Dj = np.mgrid[0: 4: 5j]
    print(array1D)
    print(array1Dj)
    
    [0 1 2 3]
    [0. 1. 2. 3. 4.]
    
    c > b - a일 때 유효한 수조를 생성하지 않으며 기본값은 0:
    array1D = np.mgrid[0: 4: 5]
    print(array1D)
    
    [0]
    
  • 이다.
  • 두 개의 2차원 그룹이 생성된 고차원 그룹에 대해 우리는 이렇게 보아야 한다.
  • 수조를 다른 차원으로 복제하여 확장(x->y, y->x)
  • 두 개의 수조를 다시 쌓아올리고
    x,y = np.mgrid[-4: 0: 5j,
                    0: 4: 5j]
    
    print("x: \t", x.shape, "
    ", x) print("y: \t", y.shape, "
    ", y)
    x: 	 (5, 5) 
     [[-4. -4. -4. -4. -4.]
      [-3. -3. -3. -3. -3.]
      [-2. -2. -2. -2. -2.]
      [-1. -1. -1. -1. -1.]
      [ 0.  0.  0.  0.  0.]]
    
    y: 	 (5, 5) 
     [[0. 1. 2. 3. 4.]
      [0. 1. 2. 3. 4.]
      [0. 1. 2. 3. 4.]
      [0. 1. 2. 3. 4.]
      [0. 1. 2. 3. 4.]]
    
    생성된 수조를 두 개5 x 5 의 행렬로 나누어 명령 밖의 한 차원 방향을 따라 복제하고 확대한다.

  • 04 용도


    더 높은 차원의 수조에 대해 우리는 흔히 볼 수 있는 응용 3차원 그래픽과 결합하여 구체적인 참고:np.mgrid의 사용법 >.

    좋은 웹페이지 즐겨찾기