Fourierrekker
Under finner dere det interactive SAGE-skriptet som ble vist på forelesning den 28.feb:
var('x,k')
x0 = 0
x1 = 2*pi
def cosine_series_coeff(f,n): # n>= 0
ll = x0
ul = x1
an = pi^(-1)* integrate(f*cos(n*x),x,ll,ul)
return an
def sine_series_coeff(f,n): # n>= 0
ll = x0
ul = x1
bn = pi^(-1)* integrate(f*sin(n*x),x,ll,ul)
return bn
def fourier_series(f,n):
fs= cosine_series_coeff(f,0)/2 + sum(cosine_series_coeff(f,k)*cos(k*x), k, 1, n) + sum(sine_series_coeff(f,k)*sin(k*x), k, 1, n)
return fs
html("<h1>Fourierrekker av grad n</h1>")
@interact
def _(n=slider(0, 12,1,0,'Grad n ='), f = x, ygrense=vector([0,13/2])):
p = plot(f,x0,x1, thickness=2)
fs = fourier_series(f,n)
pt = plot(fs,x0, x1, color='green', thickness=2)
err = sqrt(integral((f-fs)^2, x, x0, x1).n(30))
html('$f(x)\;=\;%s$'%latex(f))
html('$\hat f(x)\;=\;%s$'%latex(fs))
html('$||f-\hat f||\;=%s$'%latex(err))
show(p + pt,ymin = ygrense[0],ymax = ygrense[1])
Instruksjon
Kopier skriptet og kjør/evaluer det i SAGE notebook dersom dere har en installert versjon av SAGE. Hvis ikke så kan det kjøres i sky-serveren til SAGE (krever registrering).