Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 점 좌표의 복잡한 배열을 사용하여 주어진 차수의 Pseudo-Vandermonde 행렬 생성

<시간/>

주어진 차수의 Pseudo-Vandermonde 행렬을 생성하려면 Python Numpy에서 polynomial.polyvander2()를 사용합니다. 이 메서드는 각도 및 샘플 포인트(x, y)의 의사 Vandermonde 행렬을 반환합니다. 매개변수 x와 y는 모두 같은 모양의 점 좌표 배열입니다. dtypes는 요소가 복잡한지 여부에 따라 float64 또는 complex128로 변환됩니다. 스칼라는 1차원 배열로 변환됩니다. 매개변수 deg는 [x_deg, y_deg] 형식의 최대 각도 목록입니다.

단계

먼저 필요한 라이브러리를 가져옵니다 -

numpy를 numpy.polynomial.polynomial 가져오기 polyvander2d에서 np로 가져오기

numpy.array() 메서드를 사용하여 동일한 모양의 점 좌표 배열을 만듭니다. -

x =np.array([-2.+2.j, -1.+2.j])y =np.array([1.+2.j, 2.+2.j]) 

배열 표시 -

print("배열1...\n",x)print("\n배열2...\n",y)

데이터 유형 표시 -

print("\nArray1 데이터 유형...\n",x.dtype)print("\nArray2 데이터 유형...\n",y.dtype)

두 어레이의 차원을 확인하십시오 -

print("\n배열1의 치수...\n",x.ndim)print("\n배열2의 치수...\n",y.ndim)

두 배열의 모양을 확인하십시오 -

print("\n배열1의 모양...\n",x.shape)print("\n배열2의 모양...\n",y.shape)

주어진 차수의 Pseudo-Vandermonde 행렬을 생성하려면 Python Numpy에서 polynomial.polyvander2()를 사용하십시오 -

x_deg, y_deg =2, 3print("\n결과...\n",polyvander2d(x,y, [x_deg, y_deg]))

예시

import numpy as npfrom numpy.polynomial.polynomial import polyvander2d# numpy.array() 메서드를 사용하여 동일한 모양의 점 좌표 배열을 만듭니다.x =np.array([-2.+2.j, -1 .+2.j])y =np.array([1.+2.j, 2.+2.j])# 배열 표시print("Array1...\n",x)print("\nArray2 ...\n",y)# 데이터 유형 표시print("\nArray1 데이터 유형...\n",x.dtype)print("\nArray2 데이터 유형...\n",y.dtype)# 치수 확인 두 배열의 크기print("\nDimensions of Array1...\n",x.ndim)print("\nDimensions of Array2...\n",y.ndim)# 두 배열의 모양 확인print("\ nShape of Array1...\n",x.shape)print("\nShape of Array2...\n",y.shape)# 주어진 차수의 Pseudo-Vandermonde 행렬을 생성하려면 polynomial.polyvander2( ) 파이썬 Numpyx_deg, y_deg =2, 3print("\nResult...\n",polyvander2d(x,y, [x_deg, y_deg]))

출력

Array1... [-2.+2.j -1.+2.j]Array2... [1.+2.j 2.+2.j]Array1 데이터 유형...complex128Array2 데이터 유형.. .complex128배열1의 치수...1배열2의 치수...1배열1의 모양...(2,)배열2의 모양...(2,)결과... [[ 1. +0.j 1. +2. j -3. +4.j -11. -2.j -2. +2.j -6. -2.j -2.-14.j 26.-18.j 0. -8.j 16. -8.j 32.+24.j -16.+88.j] [ 1. +0.j 2. +2.j 0. +8.j -16.+16.j -1. +2.j -6. +2.j -16. -8.j -16.-48.j -3. -4.j 2.-14.j 32.-24.j 112.+16.j]]