Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Tạo ma trận Vandermonde giả của đa thức Chebyshev 3D trong Python

Để tạo ma trận Vandermonde giả (pseudo-Vandermonde) của đa thức Chebyshev 3 biến tại các điểm mẫu (x, y, z), sử dụng numpy.polynomial.chebyshev.chebvander3d().

Tham số

  • x, y, z: Mảng tọa độ điểm, cùng hình dạng. Chuyển sang float64 hoặc complex128.
  • deg: Danh sách bậc tối đa [x_deg, y_deg, z_deg].

Trả về ma trận Vandermonde giả của các bậc và điểm mẫu.

Các bước thực hiện

1. Nhập thư viện

import numpy as np
from numpy.polynomial import chebyshev as C

2. Tạo mảng tọa độ

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

3. Hiển thị mảng

print("Mảng 1...\n", x)
print("\nMảng 2...\n", y)
print("\nMảng 3...\n", z)

4. Kiểm tra kiểu dữ liệu

print("\nKiểu Mảng 1...\n", x.dtype)
print("\nKiểu Mảng 2...\n", y.dtype)
print("\nKiểu Mảng 3...\n", z.dtype)

5. Kiểm tra số chiều

print("\nSố chiều Mảng 1...\n", x.ndim)
print("\nSố chiều Mảng 2...\n", y.ndim)
print("\nSố chiều Mảng 3...\n", z.ndim)

6. Kiểm tra hình dạng

print("\nHình dạng Mảng 1...\n", x.shape)
print("\nHình dạng Mảng 2...\n", y.shape)
print("\nHình dạng Mảng 3...\n", z.shape)

7. Tạo ma trận Vandermonde giả 3D

x_deg, y_deg, z_deg = 2, 3, 4
print("\nKết quả...\n", C.chebvander3d(x, y, z, [x_deg, y_deg, z_deg]))

Ví dụ hoàn chỉnh

import numpy as np
from numpy.polynomial import chebyshev as C

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

print("Mảng 1...\n", x)
print("\nMảng 2...\n", y)
print("\nMảng 3...\n", z)
print("\nKiểu Mảng 1...\n", x.dtype)
print("\nKiểu Mảng 2...\n", y.dtype)
print("\nKiểu Mảng 3...\n", z.dtype)
print("\nSố chiều Mảng 1...\n", x.ndim)
print("\nSố chiều Mảng 2...\n", y.ndim)
print("\nSố chiều Mảng 3...\n", z.ndim)
print("\nHình dạng Mảng 1...\n", x.shape)
print("\nHình dạng Mảng 2...\n", y.shape)
print("\nHình dạng Mảng 3...\n", z.shape)

x_deg, y_deg, z_deg = 2, 3, 4
print("\nKết quả...\n", C.chebvander3d(x, y, z, [x_deg, y_deg, z_deg]))

Kết quả đầu ra

Ma trận kết quả có hình dạng (2, (2+1)*(3+1)*(4+1)) = (2, 60). Mỗi hàng tương ứng với một điểm mẫu (x[i], y[i], z[i]), các cột là giá trị của các đa thức Chebyshev cơ sở tại điểm đó.