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

Tạo ma trận pseudo Vandermonde của đa thức Laguerre với mảng điểm x, y float trong Python

Để tạo ma trận pseudo Vandermonde của đa thức Laguerre, hãy sử dụng laguerre.lagvander2d() trong NumPy Python. Phương thức này trả về ma trận pseudo-Vandermonde. Hình dạng của ma trận trả về là x.shape + (deg + 1,), trong đó chỉ số cuối cùng là bậc của đa thức Laguerre tương ứng. Kiểu dữ liệu (dtype) sẽ giống với kiểu dữ liệu của x sau khi chuyển đổi.

Tham số:

  • x, y: 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ác phần tử có phức hay không. Nếu x là vô hướng, nó sẽ đượ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].

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

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

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

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

x = np.array([0.1, 1.4])
y = np.array([1.7, 2.8])

3. Hiển thị mảng

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

4. 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)

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)

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)

7. Tạo ma trận pseudo Vandermonde

x_deg, y_deg = 2, 3
print("\nKết quả...\n", L.lagvander2d(x, y, [x_deg, y_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([0.1, 1.4])
y = np.array([1.7, 2.8])

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

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

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

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

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

Kết quả đầu ra

Mảng 1...
 [0.1 1.4]
Mảng 2...
 [1.7 2.8]
Kiểu dữ liệu Mảng 1...
 float64
Kiểu dữ liệu Mảng 2...
 float64
Số chiều Mảng 1...
 1
Số chiều Mảng 2...
 1
Hình dạng Mảng 1...
 (2,)
Hình dạng Mảng 2...
 (2,)
Kết quả...
 [[ 1.         -0.7        -0.955       -0.58383333   0.9        -0.63       -0.8595      -0.52545      0.805       -0.5635      -0.768775     -0.46998583]
 [ 1.         -1.8        -0.68         0.70133333  -0.4         0.72        0.272       -0.28053333  -0.82        1.476        0.5576      -0.57509333]]