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

Đánh giá chuỗi Legendre tại điểm x với hình dạng mảng hệ số mở rộng cho mỗi chiều của x trong Python

Để đánh giá chuỗi Legendre tại các điểm x, sử dụng phương thức polynomial.legendre.legval() trong NumPy Python. Tham số thứ nhất là x. Nếu x là danh sách hoặc tuple, nó được chuyển đổi thành ndarray, ngược lại nó giữ nguyên và được coi là vô hướng. Trong cả hai trường hợp, x hoặc các phần tử của nó phải hỗ trợ phép cộng và nhân với chính chúng và với các phần tử của c.

Tham số thứ hai C là mảng hệ số được sắp xếp sao cho hệ số cho các hạng tử bậc n nằm trong c[n]. Nếu c đa chiều, các chỉ số còn lại liệt kê nhiều đa thức. Trong trường hợp hai chiều, các hệ số có thể được coi như lưu trữ trong các cột của c.

Tham số thứ ba tensor, nếu True, hình dạng mảng hệ số được mở rộng bằng các 1 ở bên phải, một cho mỗi chiều của x. Vô hướng có chiều 0 cho hành động này. Kết quả là mỗi cột hệ số trong c được đánh giá cho mọi phần tử của x. Nếu False, x được broadcast qua các cột của c để đánh giá. Từ khóa này hữu ích khi c đa chiều. Giá trị mặc định là True.

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 legendre as L

Tạo mảng đa chiều hệ số:

c = np.arange(4).reshape(2, 2)

Hiển thị mảng:

print("Mảng của chúng ta...\n", c)

Kiểm tra số chiều:

print("\nSố chiều của mảng...\n", c.ndim)

Lấy kiểu dữ liệu:

print("\nKiểu dữ liệu của đối tượng mảng...\n", c.dtype)

Lấy hình dạng:

print("\nHình dạng của đối tượng mảng...\n", c.shape)

Đánh giá chuỗi Legendre với tensor=True:

print("\nKết quả...\n", L.legval([1, 2], c, tensor=True))

Ví dụ hoàn chỉnh

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

# Tạo mảng đa chiều hệ số
c = np.arange(4).reshape(2, 2)

# Hiển thị mảng
print("Mảng của chúng ta...\n", c)

# Kiểm tra số chiều
print("\nSố chiều của mảng...\n", c.ndim)

# Lấy kiểu dữ liệu
print("\nKiểu dữ liệu của đối tượng mảng...\n", c.dtype)

# Lấy hình dạng
print("\nHình dạng của đối tượng mảng...\n", c.shape)

# Đánh giá chuỗi Legendre với tensor=True
print("\nKết quả...\n", L.legval([1, 2], c, tensor=True))

Kết quả đầu ra

Mảng của chúng ta...   [[0 1] [2 3]]
Số chiều của mảng... 2
Kiểu dữ liệu của đối tượng mảng... int64
Hình dạng của đối tượng mảng... (2, 2)
Kết quả...   [[2. 4.] [4. 7.]]