\documentclass[finnish,11pt,twocolumn]{article}
\usepackage{/home/apiola/tex/numsym05}
\usepackage{ae,aecompl} 
%\usepackage{numsym05}
\usepackage[dvips]{epsfig}
%\include{/home/apiola/tex/defs}
%\usepackage{v23harj}
%\include{defs}
\def\abs#1{\vert #1\vert}      
\def\norm#1{\Vert #1\Vert}      
\def\innerp#1{\langle #1 \rangle}
\def\vnormone#1{\sum_k \vert #1_k \vert}
\def\vnorminf#1{\max_k \vert #1_k \vert}
\def\mnormone#1{\max_j \sum_i \vert#1_{ij}\vert}
\def\mnorminf#1{\max_i \sum_j \vert#1_{ij}\vert}
\def\rv{\hfill\break}
\def\matl{{\sc Matlab}}
\def\maple{{\sc Maple}}
%\def\Arg#1{\textit{Arg} #1}
\def\Arg{{\textit{Arg}}\ \ }
\def\huom {{\bf Huom!}}

\begin{document}

%\vspace{0.2cm}
%\begin{verbatim}
%\end{verbatim}

\harjoitus{5}{10--11}{17.3.2004}

{\bf Versio 1} ti 8.3. 

\begin{verbatim}
 http://www.math.hut.fi/teaching/numsym/05/maple/ns05.mpl
 http://www.math.hut.fi/teaching/numsym/05/L/

\end{verbatim}

% http://www.math.hut.fi/teaching/v/3/L/fourier.html
% http://www.math.hut.fi/teaching/v/3/L/fourier.mws
% http://www.math.hut.fi/teaching/numsym/02/H/harj1ohje.mws
%\end{verbatim}

%Muista: uusi kehote: CTR-J tai CTR-K, missä J, niinkuin "jälkeen".

\begin{enumerate}

\item  (Cooper Exe 3.2 ss. 80--81)
(a)
Osoita, että seuraavat funktiot toteuttavat lämpöyhtälön $u_t=k u_{x x}.$

(b) Määritä jomman kumman funktion (1) tai (2) maksimi ja minimi suorakulmiossa 
$\lbrack -a,a\rbrack \times \lbrack 0,T\rbrack.$ Totea, että maksimiperiaate on voimassa
ja visualisoi.

(1) $v(x,t)=e^{-\gamma^2 k t}\sin \gamma\, x,\ \ \gamma\in\R$ mielivalt.\\
(2) $w(x,t)=e^{kt+x}.$

Voit suorittaa min/max-määrityksen joko Maple-avusteisesti "klassiseen tyyliin" tai
numeerisesti (luontevimmin Matlabilla), jolloin täytyy valita ao. vakioille jotkin
numeroarvot. (Toki Maplessakin jossain vaiheessa, ainakin plot:ssa)

\item %2
Maple-Matlab-yhteiskäyttöä: Tutustu {\tt maple/ns05.mpl}-funktioon {\tt sinkert} ja 
vastaavaan Matlab-funktioon {\tt matlab/Msinsarja.m}. Kehitä jokin funktio
sinisarjaksi ja kokeile erilaisia käyttötapoja. Kokeile ainakin sitä, jossa
kertoimet kirjoitetaan Maplella ja luetaan Matlabiin.

\item  (T-W Exa 4.2 s. 121) %3
Tutustu ns05-funktioon {\tt lamposin} ja samannimiseen Matlab-funktioon 
{\tt matlab/lamposin.m}. 
Ratkaise ja visualisoi: $u_t=u_{xx}, u(x,0)=f(x),$ $0-$ RE:t.
$$ f(x)=\begin{cases}
2 x, \ \ x \leq 1/2\\
2(1-x), \ \ x > 1/2
\end{cases}
$$

Kokeile taas Maple-Matlab-yhteispeliä, mutta myös puhdasta Maple-loppukäsittelyä.
(Toki mielellään myös (lähes) puhdasta Matlab-työtä.)

\item  %4
Tutustu ns05-funktioon {\tt lampodiffE}. Laske sen avulla differenssiapproksimaatioita
edellisen tehtävän ratkaisulle. Suorita [T-W] Exa 4:n tyyliin. (Voit verrata kirjan kuviin
ja tuloksiin.)

\item %5
Kirjoita implisiittinen differenssimenetelmä Matlab-funktioksi. Ota Dirichlet'n reunaeehdot, mutta anna niiden olla mielivaltaiset, annettujen t:n funktioiden määräämät.
Testaa.

\item %6
(a)
Cooper-funktiot heat3--heat5, tutustu, parantele, ratkaise Cooper-tehtäviä mm.
Selvitä ainakin koodin heat3 toiminta itsellesi.\\
(b)
Muodosta numeerinen ratkaisu tehtävälle, $u_t=u_{xx}$
(siis $k=1$), $f(x)=\frac{x}{2}-2+\sin(\frac{4\pi x}{10})$, 
$u(0,t)=-2, u(10,t)=3$\\
(c)
Suorita vertailua puhtaan implisiittisen ja Crank-Nicholsonin välillä (teht. 4 ja 5).\\
(c)
Aja ohjelmia niin suureen $t$:n arvoon saakka, että ratkaisu asettuu ajasta 
riippumattomaan ("steady-state") tilaan funktioksi $U(x)$ (sopivalla tarkkuudella).

Neuvo: Kannattaa ehkä aloittaa tästä tehävästä vaikka ihan alkuperäistä
heat3-ohjelmaa käyttäen, tai sitten tehtävän 5 implisiittistä, etenkin jos
tuntuu, että menetelmien ohjelmointia on jo tullut liikaa.




\end{enumerate}


\subsection*{Ohjeita}

\subsubsection*{Teht. 1}

Maple-malli visualisointiin ym. : {\tt L/L6.mws} (ei sisällä max/min-laskentaa).
Matlab:ssa voit vaikka määritellä inline-funktioiksi, joiden oltava x:n ja t:n suhteen
"array smart" (vrt. aiemmin jaettu Cooperin kirjan Matlab-appendix.). Sitten 
{\tt meshgrid}, ... \\
Kts. myös  {\tt http://www.math.hut.fi/teaching/numsym/} "Luennot"-kohdan ohjeita
Luento 6:n kohdalta.


\subsubsection*{Teht. 2}

Tässä on funktion {\tt sinkert} kutsu ja alkukommentit. Koodia täytyy varautua
muuttamaan ainakin tiedostopolun suhteen (Unix:ssa tuo koodissa oleva lienee aina hyvä.)
Voidaan käyttää pelkkänä Maple-funktiona tai Maple-Matlab-yhdistelmänä.
\begin{verbatim}
siniSkertoimet:=proc(f,L,N,tiedosto)
# b:=siniSkertoimet(f,L,N,tiedosto); Funktion f sinisarjan kertoimet.
# b:=siniSkertoimet(f,L,N); palauttaa b-kertoimet, mutta ei kirjoita 
#                           tiedostoon.
# f -- funktio (esim. x->x^2) Oltava oikea Maple-funktio, ei lauseke.
# L -- jakson puolikas
# N -- Mihin saakka kertoimia lasketaan
# tiedoston nimi merkkijononona (ilman polkua), esim. "bkert.txt"
# Kertoimet palautetaan liukulukutaulukkona (array) ja kirjoitetaan tiedostoon,
# josta ne voi suoraan lukea Matlabiin load-komennolla: 
#       Lb=load('/tmp/bkert.txt')
# Kirjoitetaan vektori [L,b1,b2,...,bN].
# Työtä voi jatkaa joko Maplessa tai Matlabissa.

local B,n,t,omega,polkujatiedosto;
B:=array(1..N);
omega:=Pi/L;
for n from 1 to N do
   B[n]:=evalf(2/L*int(f(t)*sin(n*omega*t),t=0..L));
end do;
if nargs=3 then RETURN(B) end if;

#polkujatiedosto:=cat("C:/MATLAB6p1/work/",tiedosto);  # HA:n kannettava   
 polkujatiedosto:=cat("/tmp/",tiedosto);                 # Unix

writedata(polkujatiedosto,[L,seq(B[j],j=1..N)]); # Kirjoitetan myös L.
print("Minä, siniSkertoimet kirjoitin [L,b]:n tiedostoon ",polkujatiedosto);
#print("Palautan myos b-kertoimien taulukon (array) tähän sinulle");
RETURN(B)
end proc:
\end{verbatim}

Vastaava Matlab-funktio on \\
{\tt www.math.hut.fi/numsym/05/matlab/Msinsarja}. Voidaan siis käyttää
pelkkänä Matlab-funktiona tai Maple-Matlab-yhdistelmänä. 
\begin{verbatim}
function [summa,osasummat] = Msinsarja(x,LtaiFile,b)
%  matlab/Msinsarja.m   
% Kutsut: 
% 1) [summa,osasummat] = Msinsarja(x,tiedosto)
%    Tiedostosta luetaan L ja b
% 2) [summa,osasummat] = Msinsarja(x,L,b)
%    Kerroinvektori annetaan Matlabissa.
% Koko suoritus:
% 1) Maplessa: ns05.mpl-funktio siniSkertoimet(f,L,N,tiedosto);
% Esim: B:=siniSkertoimet(x->x^2,1,10,"bkert");
% 2) Matlab:ssa: 
% x=linspace(-2,2); 
% [summa,osasummat]=Msinsarja(x,'bkert');
% plot(x,summa); figure; plot(x,osasummat)
polku='/tmp/';        % UNIX  % Muuta tarpeen mukaan.
%polku='C:\MATLAB6p1\work\';  % WIN  % Muuta tarpeen mukaan.
if nargs==2
    tiedosto=[polku LtaiFile];
    Lb=load(tiedosto);    
    L=Lb(1);     % ensimmäisenä on jakso/2.
    b=Lb(2:end); % Loput muodostavat b-vektorin.
else
    L=LtaiFile;
end;
N=length(b);
kertoimet=b*ones(size(x)); % Eräs monista tavoista tehdä matriisi, jonka
                            % 1. rivi on vakio a0
                            % 2. rivi on vakio a1,
                            % ...
termit=kertoimet.*sin(pi/L*(1:N)'*x);          
summa=sum(termit);
osasummat=cumsum(termit);
\end{verbatim}

\subsection*{Teht. 3}

\begin{verbatim}
lamposin:=proc(f,L,c,N,tiedosto)
description "Lämpöyhtälö u_t = c^2 u_xx, 0-RE't, u(x,0)=f(x)";
local b,lambda,x,t,n;
# Palautetaan osasummafunktio, jossa termit 1..N.
# Esim:
# S1:=lamposin(x->x,1,1,10):
# S2:=lamposin(x->x,1,1,20,"b"):
# plot3d(S1(x,t),x=0..L,t=0..0.1)  # sama S2:lle.
if nargin = 4 then
  b:=siniSkertoimet(f,L,N);  
else
  b:=siniSkertoimet(f,L,N,tiedosto);  
end if;
 lambda:=n->c*n*Pi/L;
 RETURN(evalf@unapply(sum(b[n]*sin(n*Pi*x/L)*exp(-lambda(n)^2*t),n=1..N),x,t));
 end proc:
\end{verbatim}

\subsection*{Teht. 4}

\begin{verbatim}
lampodiffE:=proc(f,nx,nt,dt)
 description"Lämpöyht, väli: [0,1], lämpövakio =1 (vrt. [T-W])";
# f -- alkuarvofkt.
# nx,nt,dt ilmeisiä
# Tulos: Listojen lista, m:s lista edustaa ao. aikatasoa.
# Tulostetaan lisäksi r=dt/dx^2. sen pitää olla alle 1/2, jotta stabiili.
\end{verbatim}

\subsection*{Teht. 6}

Koodissa {\tt heat3.m} on ehkä selkeämpää ja tehokkaampaa korvata A:n rakentaminen 
ennestään käytetyllä tyylillä:
\begin{verbatim}
e=ones(J-1,1);
A=spdiags([-r*e (1+2*r)*e -r*e],-1:1,J-1,J-1);
\end{verbatim}
Sinänsä on opettavaista tutustua sparse komennon moninaisiin muotoihin.

\end{document}


\subsubsection*{Teht. 1}
\matl:ssa voit jakaa grafiikkaruudun osiin {\tt subplot}:lla.
Toisaalta voit myös piirtää eri ikkunoihin komentamalla {\tt figure} 
(seuraava)
tai {\tt figure(n)}.
Piirrettävän datan voit kerätä matriisiin {\tt for}-silmukan avulla
sarake tai rivi kerrallaan.
(Silmukkaa ei tehdä pitkin vektorin komponentteja --- sellainen saa
opettajat hyppimään seinille!)

Toisaalta voidaan myös tehdä ilman yhtään for-silmukkaa:

\textbf{Ulkotulo, sarake {\tt *} rivi, meshgrid}
Monissa yhteyksissä tarvitaan vektorien $x$ ja $y$ ulkotuloa, joka on
matriisi $M,$ missä $m_{i\,j}=x_i y_j.$
Jos $x$ ja  $y$ ovat vaakavektoreita, saadaan $M$ matriisitulona
{\tt M=x'*y}. Toinen tapa (esim)
\begin{verbatim}
 >> x=linspace(0,1,8);
 >> y=linspace(-1,1,5);
 >> [X,Y]=meshgrid(x,y);
 >> M=X.*Y;   % Katso:  X, Y, M
 >> mesh(x,y,M); surf(x,y,M)  % Kokeile!
\end{verbatim}
Huomaa: edellisessä matriisikertolasku {\tt(*)}, jälkimmäisessä {\tt (.*)}

Tällä voidaan korvata for-silmukka niin jatkuvassa kuin diskreetissäkin.
(Jatkuva on Matlabin kannalta oikeasti myös diskreetti, pisteitä on vain
enemmän.)
Lue meshgridin käytöstä vaikka "pikku-oppaasta" tms. ja \\
{\tt help meshgrid, help mesh, help surf, help contour}.


\subsubsection*{Teht. 2}
\matl:ssa komento {\tt eig} laskee ominaisarvot (ja pyydettäessä myös vektorit). \verb_ >> [V,D]=eig(A)_ muodostaa "diagonalisoinnin", kts. {\tt help eig}.

Jos haluat verrata kaavasta laskettuja ja eig:n antamia, niin ominaisarvojen 
muodostaman vektorin saat edellä olevasta D:stä: {\tt diag(D)}.\\
Ominaisvektorit ovat matriisin $V$ sarakkeet. Tässä kaikki ominaisavaruudet
ovat $1-$ulotteisia (miksi?). Jos käytössäsi on kaksi matriisia ($V, W$), 
joiden
sarakkeet koostuvat ominaisvektorikandidaateista samassa järjestyksessä, 
voit selvittää vertailun suorittamalla {\tt V./W} (miksi). Ja vielä yksi
"miksi": Niin siis miksi on tärkeää tämän toimivuudelle, että ominaisarvot 
ovat yksinkertaisia?

\subsubsection*{Teht. 3}

\matl-ratkaisussa voitaisiin vaikka \maple:n avulla muodostaa:

\verb_ b=inline('..','n')  _ n on skalaari tai indeksivektori, käytä piste-operaatoita
tai funktiota {\tt vectorize}.

Osasummia laskettaessa kannattaa muodostaa sarjan termien matriisi siten,
että termi $n$ muodostaa rivin n (eri x:n arvoilla).
Funktio {\tt sum} laskee matriisin sarakesummien vektorin, joka antaa nyt 
osasumman $s_N(x_1,...x_{100})$. ({\tt sum} on esimerkki ns. vektorifunktiosta,
muita on {\tt min, max, ...}. (Kts. laajempaa opasta (kunhan korjaan linkit).)
Esim: 
\begin{verbatim}
x=linspace(-2,2);
N=10;
termit=zeros(N,length(x));
for n=1:N
   termit(n,:)=b(n)*sin(...);
end;
summa=sum(termit);
\end{verbatim}

Huom! Tässäkin for-silmukka voidaan korvata ulkotulolla, kuten yllä.
Tehokkuuden kannalta voi olla merkitystä, tässähän voidaan haluta laskea
isoillakin N:n arvoilla (ainakin Gibbsissä).

Jos haluat osasummaparven, saat senkin samasta termimatriisista funktion
{\tt cumsum} avulla. Voit poimia jälkimmäisestä sopivasti osia.

\subsubsection*{Teht. 5}
Funktion välittäminen argumenttina \matl-funktiolle: \\
Esim ({\tt [Hig-Hig]} Ch 10): 
Funktio {\tt eros} palauttakoon parametrina annetun funktion $f$ 
erotusosamäärän: $\frac{f(x+h)-f(x)}{h}$ Voitaisiin kirjoittaa 
(tiedostoon {\tt eros.m}) näin:
\begin{verbatim}
function y=eros(f,x,h)
y=(feval(f,x+h)-feval(f,x))/h;
\end{verbatim}
Siis se, mikä kirjoitettaisiin istunnossa {\tt f(x)}, kirjoitetaan funktion
rungossa {\tt feval(f,x)}. {\em {\bf Huom:} Tämä koskee vain tapausta, jossa {\tt f} 
esiintyy argumenttilistassa.}\\
Kutsuesim:
\verb_ eros(@sqrt,1,0.1)_  Kutsussa voi esiintyä $sqrt:$n paikalla 
yhtä hyvin inline-määrittely
tai m-tiedosto. (Myös \verb_ 'sqrt'_ toimii, mutta se alkaa näyttää "vanhanaikaiselta", muoto \verb_@fun_ on ns. "function handle", olisko vaikka "kahva".)


\subsubsection*{Fourier-sarjat} 

Kts. yllä olevia referenssejä \maple- ja \matl-tekniikoihin.

$2 L$-jaksoisen funktion $f$ Fourier-sarja:

$$a_0+\sum_{n=1}^\infty (a_n \cos {\frac{n \pi x}{L}}+
 b_n \sin {\frac{n \pi x}{L}}),$$

$a_0={\frac{1}{2L}}\int_{-L}^L f(x)dx,\ \
a_n={\frac{1}{L}}\int_{-L}^L f(x)\cos {\frac{n \pi x}{L}} dx,\ \ 
b_n={\frac{1}{L}}\int_{-L}^L f(x)\sin {\frac{n \pi x}{L}} dx .$


\subsubsection*{Lämpöyhtälön Fourier-sarjaratkaisu \matl:lla}

(Valtaosa seuraavan funktion riveistä on kommentteja.)
\begin{verbatim}
function [Z,x,T]=lamposin(L,c,b,T,M)
% HA 25.11.03 
% Lasketaan lämpöyhtälön u_t = c^2 u_xx sinisarjaratkaisu korkeusmatriisina
%
% Input: L:   jakso/2
%        c:   c (Lämpöyhtälön c)  
%        b:   sinisarjan kerroinvektori (nollat mukana)
%        T:   aikapisteet
%        M:   x-diskrertointi (oletus 50)
%        
% Output: [Z,x,t] -  lämpötilamatriisi, x-vektori, t-vektori
%
% Esim:
% clear; close all
% L=10;c=sqrt(1.14);nb=10;
% b=1./(1:nb);b=rem((1:nb),2).*b;
% kerroin=400/pi; b=kerroin*b;
% T=linspace(0,10,10);
% [U,x,t]=lamposin(L,c,b,T);
% surfc(x,t,U);  % Pintapiirros
% figure
% plot(x,U)      % Lämpötilaprofiilit t-vektorin 
%                %  ilmaisemilla ajanhetkillä.
%
N=length(T);
if nargin==4, M=50; end 
nb=length(b);
x=linspace(0,L,M);
Z=zeros(M,N);
for n=1:nb;
   Z=Z+(b(n)*sin(n*pi*x./L))'*exp(-((n*pi*c/L)^2)*T);
   % Vanha tuttavamme ulkotulo on tässä korvaamaton.
end;
Z=Z';
\end{verbatim}

\end{document}




\begin{enumerate}

\item
Suorita jokunen Fourier-sarjaksi kehittäminen. Alla pari esimerkkifunktiota,
voit valita yhtä hyvin jotain muuta.

Piirrä $f$:n kuvaaja muutaman jakson alueella. Muodosta $f$:n Fourier-sarja.
Selvitä, missä pisteissä sarja suppenee ja missä se ei suppene kohti kyseistä
funktion arvoa. Mitä arvoa kohti sarja näissä ``ei-pisteissä'' suppenee?
Piirrä jaksollinen laajennus ja osasummafunktioiden kuvaajia.

Tutki kokeellisesti {\em Gibbsin ilmiötä} 
(n. 9\%:n "yli/ali-ampuminen" epäjatkuvuuskohdan ympäristössä).

(Luultavasti ei kannata piirtää hirveää määrää osasummia, vaan valittuja
muutamia harvakseen, isoilla n:n arvoilla.)

Esim:

(a)
$f(t)=t, \ \ t\in (-\pi,\pi],\ \ f(t+2\pi)=f(t) .$

(b)
$f(x)=\begin{cases}
         100, \ \ -4 < x < -2 \\
         0, \ \ -2 \le x \le 4 \end{cases}$,
$f(x+8)=f(x)$.

\item
Tarkastellaan vaimennettua värähtelyä kuvaavaa yhtälöä

$my''+cy'+ky=r(t)$.

Olkoon $m=1, c=0.02, k=25$ ja $$r(t)=
\begin{cases}t+\pi/2, \ \ -\pi<t<0,\\
             -t+\pi/2, \ \ 0<t <-\pi  \end{cases},\ \ 
r(t+2\pi)=r(t)$$ .

Määritä ``pitkän aikavälin'' (``steady state'') ratkaisu $y(t)$.
(T\"ast\"a on homogeeniosan (ja siten alkuehtojen) vaikutus vaimentunut
pois.)

Periaate: Kehitet\"a\"an $r(t)$ Fourier-sarjaksi. Etsit\"a\"an kutakin sarjan
termi\"a vastaten erityisratkaisua $y_n$ muodossa $y_n=A_n\cos nt+
B_n\sin nt$. Lineaarisuuden perusteella (jos sarjan termeitt\"ain 
derivoiminen
on sallittua) p\"a\"atell\"a\"an, ett\"a $\sum y_n$ on koko yht\"al\"on ratkaisu.

Laske ainakin 5 termi\"a ratkaisusarjasta ja piirr\"a niiden summa sek\"a 
termit erikseen. Jokin niist\"a on dominoiva, identifioi se. Piirr\"a
samaan kuvaan her\"ate $r(t)$ ja "steady state" ratkaisu v\"alill\"a 
$[0,4\pi]$.

Tutki, mitä tapahtuu, jos jousivakiolle annetaan arvo $k=9$ sekä toisaalta
jäykän jousen, vaikkapa $k=49$ tapauksessa. Entä, jos vaimennusta lisätään?


\item 
Ratkaise AA-teht\"av\"a $x''+2x=r,\ \ x(0)=x'(0)=0$,miss\"a $r(t)$ on $2\pi$-
jaksoinen neli\"oaalto: $$r(t)=\begin{cases}-1,  0 < t < \pi \\
                                   1, \pi < t < 2\pi \end{cases}.$$
Suorita ratkaisu seuraavilla kahdella eri tavalla:
\kohta{a}{Muodosta herätefunktio vaikkapa 3:n jakson alueella ja
ratkaise yhtälö Laplace-muunnoksella. Saat käyttää \maple-funktiota
{\tt dsolve(...,method=laplace);}.

      }

\kohta{b}{
Kehitä $r(t)$ Fourier-sinisarjaksi ja käytä osasummaa $S_7$ 
(eli mukana ovat termit $\sin 7t$-termiin saakka.) oikean herätteen
approksimointiin.
   }

\kohta{c}{
Vertaa molemmilla menetelmillä saamiasi tuloksia, esitä graafisesti
ja katso, miten tarkkuus paranee, kun otat korkeamman asteisia Fourier-
osasummia.
     }
\huom\/ Hyödynnä tietysti ennen mainittua {\tt PeriodicExtender} (alias
 JJ) -funktiota.



\end{enumerate}


Referenssejä:

[Kof] Ch 25 pp. 351 -- 363  \\
[HAM] s. 177 ... (kts. HAM-sivun fourier-työarkki) Ota käyttöön
jaksollinen laajennus.\\
[KRE] `` Forced oscillations ``


\end{document}


\item %5
Tarkastellaan $2:$n pituusyksikön mittaista sauvaa, jonka materiaali on
sellainen, että lämmönjohtumisyhtälön vakio $c=1$. 
 
Katkaistaan sauva keskeltä kahtia ja sijoitetaan toinen puolisko
kiehuvaan vesisäiliöön ($100^\circ C$). 
Toinen  puolisko laitetaan jääveteen ($0^\circ C$). Kun sauvan 
puolikkaat ovat saavuttaneet kauttaaltaan ympäristönsä lämpötilan,
ne
sijoitetaan 
lämpöeristeeseen, liitetään takaisin 
yhteen, ja sijoitetaan vapaaksi jäävät päät jäävesisäiliöön ($0^\circ C$).

 
Suorita vaiheittain muuttujanerotteluprosessi sauvan lämpötilafunktion
määrittämiseksi.

 
Laske sauvan lämpötila hetkellä $t=0.1$ kummankin sauvan puolikkaan
keskipisteessä käyttäen sarjan kahta ensimmäistä termiä.




\subsection*{Fourier-kaavoja}

\subsubsection*{T-jaksoisen funktion Fourier-sarja}

\paragraph*{Reaalimuoto}

Olkoon $f$ T-jaksoinen reaalifunktio, missä $T=\frac{2\pi}{\omega}$. $f$:n
Fourier-sarjaesitys: \\
$f(t)=\frac{1}{2}a_0 + \sum_{n=1}^\infty a_n \cos n\omega t+
\sum_{n=1}^\infty b_n \sin n\omega t$,
missä

$$a_n=\frac{2}{T}\int_d^{d+T}f(t)\cos n\omega t dt, \ \ n= 0, 1, 2, \ldots $$
$$b_n=\frac{2}{T}\int_d^{d+T}f(t)\sin n\omega t dt , \ \ n= 1, 2, \ldots$$

\paragraph*{Kompleksimuoto}
$f(t)=\sum_{n=-\infty}^{\infty} c_n e^{i n \omega t}$, missä

$$c_n=\frac{1}{T}\int_d^{d+T}f(t)e^{-i n \omega t}dt,\  \ 
n=0,\pm 1,\pm 2 \ldots$$


\end{document}
\subsection*{Fourier-kaavoja}

\subsubsection*{Yleinen tapaus, $f$ määritelty välillä $(-L,L)$}
$f(x)=a_0+\sum_{n=1}^\infty a_n \cos {\frac{n \pi x}{L}}+
\sum_{n=1}^\infty b_n \sin {\frac{n \pi x}{L}}$ \rv
$a_0={\frac{1}{2L}}\int_{-L}^L f(x)dx, \ \
a_n={\frac{1}{L}}\int_{-L}^L f(x)\cos {\frac{n \pi x}{L}} dx ,\ \
b_n={\frac{1}{L}}\int_{-L}^L f(x)\sin {\frac{n \pi x}{L}} dx$

\subsubsection*{Puolen jakson laajennukset,$f$ määritelty välillä $(0,L)$}

\paragraph*{Sinisarja}

$$f(x)=\sum_{n=1}^\infty b_n \sin {\frac{n \pi x}{L}}, \ \
b_n={\frac{2}{L}}\int_0^L f(x)\sin {\frac{n \pi x}{L}} dx 
\qquad (HS_1, HS_2) $$

\paragraph*{Kosinisarja}

$$f(x)=a_0+\sum_{n=1}^\infty a_n \cos {\frac{n \pi x}{L}}, \ \
a_0={\frac{1}{L}}\int_0^L f(x)dx, \ \
a_n={\frac{2}{L}}\int_0^L f(x)\cos {\frac{n \pi x}{L}} dx 
\qquad (HC_1 - HC_3) $$


%\end{enumerate}


\end{document}





\item
Ratkaise edellinen tehtävä Laplace-muunnoksella katkaisemalla heräte
vaikkapa 3:n jakson alueelle (tai jätä jaksojen lukumäärä muuteltavaksi
parametriksi).

Vertaa ratkaisua edelliseen.





\item
Määritä tasapainotilaratkaisu ("steady state") värähtelysysteemille
 $m x'' + c x' + kx = r(t)$, missä $m=1, c=0.02, k=25$,
 ja $r(t)=\begin{cases}t+\pi/2, \ \ -\pi<t<0,\\
                                      -t+\pi/2, \ \ 0<t <-\pi 
\end{cases},\ \ r(t+2\pi)=r(t)$ .

Tutki lisäksi, miten vasteen amplitudit käyttäytyvät, jos jousivakio pienenee
aina arvoon $k=9$ ja toisaalta, jos jousta jäykistetään arvoon $k=49$ saakka.
(Vrt. Kreyszig-ote).
