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 điểm mẫu 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, hãy sử dụng laguerre.lagvander3d() trong NumPy Python. Các tham số:

  • x, y, z: Mảng đ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 hay không. Nếu x là vô hướng, nó được chuyển thành mảng 1-D.
  • deg: 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

Trước tiê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:

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

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 của Mảng 1...\n", x.ndim)
print("\nSố chiều của Mảng 2...\n", y.ndim)
print("\nSố chiều của Mảng 3...\n", z.ndim)

Kiểm tra hình dạng:

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

Tạo ma trận Vandermonde giả Laguerre 3D:

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 cùng hình dạng
x = np.array([1, 2])
y = np.array([3, 4])
z = np.array([5, 6])

# 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 của Mảng 1...\n", x.ndim)
print("\nSố chiều của Mảng 2...\n", y.ndim)
print("\nSố chiều của Mảng 3...\n", z.ndim)

# Kiểm tra hình dạng
print("\nHình dạng của Mảng 1...\n", x.shape)
print("\nHình dạng của Mảng 2...\n", y.shape)
print("\nHình dạng của Mảng 3...\n", z.shape)

# Tạo ma trận Vandermonde giả Laguerre 3D
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...
 [1 2]
Mảng 2...
 [3 4]
Mảng 3...
 [5 6]
Kiểu dữ liệu Mảng 1... int64
Kiểu dữ liệu Mảng 2... int64
Kiểu dữ liệu Mảng 3... int64
Số chiều của Mảng 1... 1
Số chiều của Mảng 2... 1
Số chiều của Mảng 3... 1
Hình dạng của Mảng 1... (2,)
Hình dạng của Mảng 2... (2,)
Hình dạng của Mảng 3... (2,)
Kết quả...
 [[ 1. -4.   3.5  2.66666667 -1.29166667  -2.   8.  -7.  -5.33333333
    2.58333333  -0.5  2.  -1.75 -1.33333333  0.64583333   1.  -4.
    3.5  2.66666667 -1.29166667   0.  -0.   0.   0.   -0.  -0.  -0.
   -0.  -0.  -0.  -0.  -0.  -0.   0.  -0.   0.  -0.   0.   0.  -0.
   -0.   0.  -0.   0.  -0.  -0.   0.  -0.   0.  -0.  -0.   0.   0.
   -0.5  2.  -1.75 -1.33333333  0.64583333   1.  -4.   3.5  2.66666667
   -1.29166667   0.25 -1.   0.875  0.66666667 -0.32291667  -0.5  2.
   -1.75 -1.33333333  0.64583333]
 [ 1.  -5.   7.   1.  -5.  -3.  15. -21.  -3.  15.   1.  -5.   7.   1.  -5.
    2.33333333 -11.66666667 16.33333333  2.33333333 -11.66666667  -1.
    5.  -7.  -1.   5.   3. -15.  21.   3. -15.  -1.   5.  -7.  -1.   5.
   -2.33333333 11.66666667 -16.33333333 -2.33333333 11.66666667  -1.
    5.  -7.  -1.   5.   3. -15.  21.   3. -15.  -1.   5.  -7.  -1.   5.
   -2.33333333 11.66666667 -16.33333333 -2.33333333 11.66666667]]