Xin chào, tôi muốn tích hợp chức năng từ 0 đến nhiều giới hạn trên khác nhau (khoảng 1000). Tôi đã viết một đoạn mã để làm điều này bằng cách sử dụng vòng lặp for và nối thêm mỗi giá trị vào một mảng trống. Tuy nhiên tôi nhận ra tôi có thể làm cho mã nhanh hơn bằng cách làm tích phân nhỏ hơn và sau đó thêm kết quả tích phân trước đó cho một trong những chỉ cần tính toán. Vì vậy, tôi sẽ làm cùng một số tích phân, nhưng trong một khoảng thời gian nhỏ hơn, sau đó chỉ cần thêm tích phân trước đó để có được tích phân từ 0 đến giới hạn trên đó. Heres mã của tôi tại thời điểm này:Làm sao để tích hợp python của tôi nhanh hơn?
import numpy as np #importing all relevant modules and functions
from scipy.integrate import quad
import pylab as plt
import datetime
t0=datetime.datetime.now() #initial time
num=np.linspace(0,10,num=1000) #setting up array of values for t
Lt=np.array([]) #empty array that values for L(t) are appended to
def L(t): #defining function for L
return np.cos(2*np.pi*t)
for g in num: #setting up for loop to do integrals for L at the different values for t
Lval,x=quad(L,0,g) #using the quad function to get the values for L. quad takes the function, where to start the integral from, where to end the integration
Lv=np.append(Lv,[Lval]) #appending the different values for L at different values for t
Tôi cần làm gì để thực hiện kỹ thuật tối ưu hóa?
Có nên gọi là Lv không? Nếu không thì Lv không được khởi tạo trước khi phương thức chắp thêm được gọi. – Moustache