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 Laguerre với mảng điểm phức x, y, z trong Python

Để tạo ma trận Vandermonde giả của đa thức Laguerre với các điểm mẫu x, y, z, sử dụng laguerre.lagvander3d() trong NumPy Python. Tham số x, y, z trả về mảng các điểm. Kiểu dữ liệu được chuyển đổi thành float64 hoặc complex128 tùy thuộc vào việc có phần tử phức nào không. Nếu x là vô hướng, nó được chuyển thành mảng 1 chiều. Tham số deg là danh sách các bậc tối đa dạng [x_deg, y_deg, z_deg].

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

Nhập thư viện cần thiết:

import numpy as np
from numpy.polynomial import laguerre as L

Tạo mảng tọa độ điểm, cùng hình dạng bằng 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])

Hiển thị các mảng:

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

Hiển thị kiểu dữ liệu:

print("\nKiểu dữ liệu mảng 1...\n", x.dtype)
print("\nKiểu dữ liệu mảng 2...\n", y.dtype)
print("\nKiểu dữ liệu mảng 3...\n", z.dtype)

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)

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)

Tạo ma trận Vandermonde giả:

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

Ví dụ hoàn chỉnh

import numpy as np
from numpy.polynomial import laguerre as L

# Tạo mảng tọa độ điểm
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])

# Hiển thị các mảng
print("Mảng 1...\n", x)
print("\nMảng 2...\n", y)
print("\nMảng 3...\n", z)

# Hiển thị kiểu dữ liệu
print("\nKiểu dữ liệu mảng 1...\n", x.dtype)
print("\nKiểu dữ liệu mảng 2...\n", y.dtype)
print("\nKiểu dữ liệu mảng 3...\n", z.dtype)

# 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)

# 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)

# Tạo ma trận Vandermonde giả
x_deg, y_deg, z_deg = 2, 3, 4
print("\nKết quả...\n", L.lagvander3d(x, y, z, [x_deg, y_deg, z_deg]))

Kết quả đầu ra

Mảng 1... [-2.+2.j -1.+2.j]
Mảng 2... [0.+2.j 1.+2.j]
Mảng 3... [2.+2.j 3.+3.j]
Kiểu dữ liệu mảng 1... complex128
Kiểu dữ liệu mảng 2... complex128
Kiểu dữ liệu mảng 3... complex128
Số chiều mảng 1... 1
Số chiều mảng 2... 1
Số chiều mảng 3... 1
Hình dạng mảng 1... (2,)
Hình dạng mảng 2... (2,)
Hình dạng mảng 3... (2,)
Kết quả... [[ ... ma trận phức lớn ... ]]