% Plott/animasjon av løsningen i oppgave 12.3.7, Kreyszig utgave 10
% Merk at koden ikke er verdens mest effektive.
%%

clear
clc
close all

k = 0.01;
x = linspace(0,1,100);
t = linspace(0,10,1000);
u = zeros(1,100);
y = k*x.*(1-x); % y er u(x,0)
% Plotter u(x,t) for 1000 ulike t-verdier:
for i = 1:1000
    u = 8*k/pi^3 * cos(pi*t(i))*sin(pi*x);
    % Legger til så mange ledd som vil (f.eks. opp til n=31):
    for n = 3:2:31 % Hopper over n like, fordi B_n = 0 for n like
        u = u + 8*k/(n*pi)^3 * cos(n*pi*t(i))*sin(n*pi*x);
    end
    plot(x,u,'b',x,y,'r:')
    xlabel('x')
    ylabel('u(x,t)')
    title('Bølger på en streng')
    axis([0 1 -k k])
    if i==1
        pause(1.0)
    end
    pause(0.01)
end