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 x, y, z float 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.5, 2.3])
y = np.array([3.7, 4.4])
z = np.array([5.3, 6.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.5, 2.3])
y = np.array([3.7, 4.4])
z = np.array([5.3, 6.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.5 2.3]
Mảng 2...
 [3.7 4.4]
Mảng 3...
 [5.3 6.6]
Kiểu dữ liệu Mảng 1... float64
Kiểu dữ liệu Mảng 2... float64
Kiểu dữ liệu Mảng 3... float64
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           4.445          2.42216667 -2.30432917
   -2.7          11.61         -12.0015        -6.53985       6.22168875
    0.445         -1.9135         1.978025       1.07786417 -1.02542648
    1.99283333   -8.56918333    8.85814417    4.82697447 -4.59214397
   -0.5           2.15          -2.2225        -1.21108333  1.15216458
    1.35          -5.805          6.00075       3.269925     -3.11084437
   -0.2225         0.95675       -0.9890125     -0.53893208  0.51271324
   -0.99641667    4.28459167    -4.42907208   -2.41348724  2.29607199
   -0.875          3.7625        -3.889375      -2.11939583  2.01628802
    2.3625        -10.15875      10.5013125     5.72236875  -5.44397766
   -0.389375       1.6743125     -1.73077188    -0.94313115  0.89724817
   -1.74372917     7.49803542    -7.75087615   -4.22360266  4.01812598]
 [ 1.           -5.6           9.58          -1.376       -7.3226
   -3.4           19.04         -32.572         4.6784       24.89684
    1.88         -10.528         18.0104       -2.58688    -13.766488
    2.64266667   -14.79893333   25.31674667   -3.63630933 -19.35119093
   -1.3           7.28         -12.454         1.7888       9.51938
    4.42         -24.752         42.3436       -6.08192    -32.365892
   -2.444         13.6864       -23.41352       3.362944    17.8964344
   -3.43546667   19.23861333   -32.91177067    4.72720213  25.15654821
   -0.955         5.348         -9.1489         1.31408     6.993083
    3.247        -18.1832        31.10626      -4.467872   -23.7764822
   -1.7954        10.05424      -17.199932      2.4704704   13.14699604
   -2.52374667   14.13298133   -24.17749307    3.47267541  18.48038734]]