У меня есть простой код, который работает для отдельных значений n, но мне нужно настроить al oop для вычисления / построения графика для n = 2,5,20. Я новичок в python, может кто-нибудь показать мне, как это сделать?
import numpy as np
import matplotlib as mpl
from matplotlib import pyplot as plt
import scipy.integrate as integrate
from scipy.integrate import quad
import math as m
y = lambda t: 3*t
T = 4 #period
n=20
#n = np.array([2,5,20])
w = 2*np.pi*n/T
#Bn
def integrand(t):
return y(t)*np.sin(n*w*t)
Bn= (2/T)*quad(integrand,-T/2,T/2)[0]
#An
def integrand(t):
return y(t)*np.cos(n*w*t)
An= (2/T)*quad(integrand,-T/2,T/2)[0]
#A0
def integrand(t):
return y(t)
A0= (1/T)*quad(integrand,-T/2,T/2)[0]
print(Bn,An,A0)
y = lambda t: A0+An*np.cos(n*w*t)+Bn*np.sin(n*w*t)
#y = lambda t: ((-1)**(n+1))*Bn*np.sin(w*n*t)
t = np.linspace(-6, 6)
plt.plot(t,y(t))