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

Python에서 주어진 차수와 x, y, z 샘플 포인트의 Pseudo-Vandermonde 행렬 생성

<시간/>

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

단계

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

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

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

x =np.array([1, 2])y =np.array([3, 4])z =np.array([5, 6])

배열 표시 -

print("Array1...\n",x)print("\nArray2...\n",y)print("\nArray3...\n",z)

데이터 유형 표시 -

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

치수 확인 -

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

모양 확인 -

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

주어진 차수와 x, y, z 샘플 포인트의 의사 Vandermonde 행렬을 생성하려면 polynomial.polyvander3d() -

x_deg, y_deg, z_deg =2, 3, 4print("\n결과...\n",polyvander3d(x,y, z, [x_deg, y_deg, z_deg]))

예시

import numpy as npfrom numpy.polynomial.polynomial import polyvander3d# numpy.array() 메서드를 사용하여 동일한 모양의 점 좌표 배열을 만듭니다.x =np.array([1, 2])y =np.array ([3, 4])z =np.array([5, 6])# 배열 표시print("Array1...\n",x)print("\nArray2...\n",y)print ("\nArray3...\n",z)# 데이터 유형을 표시합니다.print("\nArray1 데이터 유형...\n",x.dtype)print("\nArray2 데이터 유형...\n",y.dtype) print("\nArray3 datatype...\n",z.dtype)# Dimensionsprint("\nDimensions of Array1...\n",x.ndim)print("\nDimensions of Array2...\n ",y.ndim)print("\nDimensions of Array3...\n",z.ndim)# Shapeprint("\nShape of Array1...\n",x.shape)print("\nShape 확인 of Array2...\n",y.shape)print("\nShape of Array3...\n",z.shape)# 주어진 차수와 x, y, z 샘플 포인트의 의사 Vandermonde 행렬을 생성하려면, Python에서 polynomial.polyvander3d() 사용 Numpyx_deg, y_deg, z_deg =2, 3, 4print("\nResult...\n",polyvander3d(x,y, z, [x_deg, y_deg, z_deg])) 

출력

Array1...[1 2]Array2...[3 4]Array3...[5 6]Array1 데이터 유형...int64Array2 데이터 유형...int64Array3 데이터 유형...int64Array1...1의 차원 Array2...1배열3...1배열1의 모양...(2,)배열2의 모양...(2,)배열3의 모양...(2,)결과...[[1.00000e+00 5.00000E + 01 1.25000E + 02 6.25000E + 02 3.00000E + 02 3.00000E + 001.50000E + 01 7.50000E + 01 3.75000E + 02 1.87500E + 03 9.00000E + 00 4.50000E + 012.25000E + 02 1.12.2500E + 03 5.62500E + 03 2.70000E + 01 1.35000E + 02 6.75000E + 023.37500E + 03 1.68750E + 04 1.00000E + 00 5.00000E + 00 2.50000E + 01 1.25000E + 026.25000E + 02 3.00000E + 00 1.50000E + 01 7.50000E + 01 3.75000E + 02 1.87500E + 039.00000E + 00 4.50000E + 01 2.25000E + 02 1.12500E + 03 5.62500E + 03 2.70000E + 011.35000E + 02 6.75000E + 02 3.37500E + 03 1.68750E + 04 1.00000E + 00 5.00000E + 002.50000E + 01 1.25000E + 02 6.25000E + 02 3.00000E + 00 1.50000E + 01 7.50000E + 013.75000E + 02 1.87500E + 03 9.00000E + 00 4.50000E + 01 2.25000E + 02 1.12500e+035.62500e+03 2.70000e+01 1.35000e+02 6.75000e+02 3.37500e+03 1.68750e+04][1.00000e+000062500e+000 3.60000E + 01 2.16000E + 02 1.29600E + 03 4.00000E + 002.40000E + 01 1.44000E + 02 8.64000E + 02 5.18400E + 03 1.60000E + 01 9.60000E + 015.76000E + 02 3.45600E + 03 2.07360E + 04 6.40000E + 01 3.84000E + 02 2.30400E + 031.38240E + 04 8.29440E + 04 2.00000E + 00 1.20000E + 01 7.20000E + 01 4.32000E + 022.59200E + 03 8.00000E + 00 4.80000E + 01 2.88000E + 02 1.72800E + 03 1.03680E + 043.20000E + 01 1.92000E + 02 1.15200E + 03 6.91200E + 03 4.14720E + 04 1.28000E + 027.68000E + 02 4.60800E + 03 2.76480E + 04 1.65888E + 05 4.00000E + 00 2.40000E + 011.44000E + 02 8.64000E + 02 5.18400E + 03 1.60000E + 01 9.60000E + 01 5.76000E + 023.45600E + 03 2.07360E + 04 6.40000E + 01 3.84000E + 02 2.30400E + 03 1.38240E + 048.29440 e+04 2.56000e+02 1.53600e+03 9.21600e+03 5.52960e+04 3.31776e+05]]