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

Python에서 주어진 차수와 x, y, z 복잡한 점 배열의 의사-반데르몽드 행렬 생성

<시간/>

주어진 차수와 샘플 포인트(x, y, z)의 Vandermonde 행렬을 생성하려면 Python Numpy에서 polynomial.polyvander3d()를 사용합니다. 이 메서드는 도 및 샘플 포인트(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([-2.+2.j, -1.+2.j])y =np.array([0.+2.j, 1.+2.j])z =np.array([2.+2.j, 3. + 3.j])

배열 표시 -

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 행렬을 생성하려면 Python Numpy에서 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([-2.+2.j, -1 .+2.j])y =np.array([0.+2.j, 1.+2.j])z =np.array([2.+2.j, 3. + 3.j] )# 배열 표시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)# 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("\n결과...\n",polyvander3d(x,y, z, [x_deg, y_deg, z_deg])) 

출력

배열1...[-2.+2.j -1.+2.j]배열2...[0.+2.j 1.+2.j]배열3...[2.+2 .j 3.+3.j]Array1 데이터형...complex128Array2 데이터형...complex128Array3 데이터형...complex128Array1...1Dimensions of Array2...1Dimensions of Array3...1Shape of Array1...(2 ,)배열2의 모양...(2,)배열3의 모양...(2,)결과...[[ 1.000e+00+0.000e+00j 2.000e+00+2.000e+00j 0.000e+00 +8.000e+00j -1.600e+01+1.600e+01j -6.400e+01+0.000e+00j 0.000e+00+2.000e+00j -4.000e+00+4.000e+00j -+1 0.000e+00j -3.200e+01-3.200e+01j -0.000e+00-1.280e+02j -4.000e+00+0.000e+00j -8.000e+00-8.000e+000e -+0 3.200e+01j 6.400e+01-6.400e+01j 2.560e+02-0.000e+00j 0.000e+00-8.000e+00j 1.600e+01-1.600e+01-1.600e+01j06 e+02+1.280e+02j 0.000e+00+5.120e+02j -2.000e+00+2.000e+00j -8.000e+00+0.000e+00j -1.600e+01-1.600e+01-1.600e+0 00-6.400e+01j 1.280e+02-1.280e+02j -4.000e+00-4.000e+00j 0.000e+00-1.600e+01j 3.200e+01-3.200e+01-3.200e+01e +00j 2.560e+02+2.560e+02j 8.000e+00-8.000e+00j 3.200e+0 1+0.000e+00j 6.400e+01+6.400e+01j 0.000e+00+2.560e+02j -5.120e+02+5.120e+02j 1.600e+01+1.600e+01+1.600e+000e +01j -1.280e+02+1.280e+02j -5.120e+02+0.000e+00j -1.024e+03-1.024e+03j 0.000e+00-8.000e+00j 1.600e+00j 1.600e+0 6.400e+01+0.000e+00j 1.280e+02+1.280e+02j 0.000e+00+5.120e+02j 1.600e+01+0.000e+002 00e+01 0e+01+3. 1.280e+02j -2.560e+02+2.560e+02j -1.024e+03+0.000e+00j 0.000e+00+3.200e+01j -6.400e+01+6.400e+01j -+2 e+00j -5.120e+02-5.120e+02j -0.000e+00-2.048e+03j -6.400e+01+0.000e+00j -1.280e+02-1.280e+02j -0.000e+02j -0.050e+ e+02j 1.024e+03-1.024e+03j 4.096e+03-0.000e+00j] [ 1.000e+00+0.000e+00j 3.000e+00+3.000e+00e8 00e+00 -5.400e+01+5.400e+01j -3.240e+02+0.000e+00j 1.000e+00+2.000e+00j -3.000e+00+9.000e+00j -3.600e+01+01 1.620e+02-5.400e+01j -3.240e+02-6.480e+02j -3.000e+00+4.000e+00j -2.100e+01+3.000e+00j -7.200e+001-5. 5.400e+01-3.780e+02j 9.720e+02-1.296e+03j -1.100e+01-2.000e+00j -2.700e+01-3.900e+ 01j 3.600e+01-1.980e+02j 7.020e+02-4.860e+02j 3.564e+03+6.480e+02j -1.000e+00+2.000e+00j -9.000e+00 -9.000e+0 e+01-1.800e+01j -5.400e+01-1.620e+02j 3.240e+02-6.480e+02j -5.000e+00+0.000e+00j -1.500e+01-1.500e+01-1.500e+0 +00-9.000e+01j 2.700e+02-2.700e+02j 1.620e+03-0.000e+00j -5.000e+00-1.000e+01j 1.500e+01-4.500e+01-4.500e+01 e+01j 8.100e+02+2.700e+02j 1.620e+03+3.240e+03j 1.500e+01-2.000e+01j 1.050e+02-1.500e+01j 02-1.500e+01j 3.600e+ +02+1.890e+03j -4.860e+03+6.480e+03j -3.000e+00-4.000e+00j 3.000e+00-2.100e+01j 7.200e+01-5.400e+01-5.400e+01 5.400e+01j 9.720e+02+1.296e+03j 5.000e+00-1.000e+01j 4.500e+01-1.500e+01j 1.800e+02+9.000e+080e+0 1.620e+03+3.240e+03j 2.500e+01+0.000e+00j 7.500e+01+7.500e+01j 0.000e+00+4.500e+02j -1.350e+08+10 -1.350e+08+1. 03+0.000e+00j 2.500e+01+5.000e+01j -7.500e+01+2.250e+02j -9.000e+02+4.500e+02j -4.050e+03-1.350e+03-1.350e+03 -1.620e+04j]]