
mlD001.tex (iv3 harj.1 av 2001) \\
Tehtävä html-muodossa (klikattavin linkein):\\
\texttt{http://math.aalto.fi/opetus/Mattie/MattieT/html/matlabHarDY_A.html#mlD001}

Tätä tehtävää harjoitellaan Matlab-teknisesti loppuviikon harjoituksissa.
Osattava
esittää  liitutaululla käsin piirtäen periaatteessa.

Tarkastellaan diffyhtälöä  $y'=y-x$ alueessa $-1 \leq x,y \leq 1$,

Piirrä $xy$-koordinaatistoon suuntakenttä
ja isokliinejä käsin ja kokeile myös Matlabia laskimen roolissa.
Ota hilaväliksi aluksi vaikka $h=0.5$.

Matlab-laskussa kannattaa muodostaa matriisi, sanokaamme K, jonka alkioina
ovat arvot $y_i - x_j$, $i=1\ldots 5, j=1\ldots 5$ tähän tapaan:
\begin{verbatim}                                                                                           
  h=0.5; t=-1:h:1;x=0:h:2                                                                                  
  for i=1:5                                                                                                
    for j=1:5                                                                                              
      K(i,j)=y(i)-x(j)                                                                                     
    end                                                                                                    
  end                                                                                                      
\end{verbatim}
Koska matriisissa rivi-indeksi i juoksee alaspäin, on helpompaa sijoittaa
arvot koordinaatistoon kääntämällä matriisin sarakkeet ylösalaisin; tämä
tapahtuu komennolla {\tt flipud}.
Katso siis matriisista {\tt flipud(K)} arvot ja merkitse ne kynällä piirrokseen.
Tarkista käsin (tai ``skalaarilaskimella'' (Matlabkin käy)) muutama alkio
ainakin. %Mitkä matriisin K alkiot kuuluvat keskenään samaan isokliiniin? 
(Hilan tihentäminen käy nyt helposti muuttamalla vain yllä $h$:ta.)\\
Myöhemmin opimme, että K-matriisin muodostaminen käy kätevämmin,
tehokkaammin ja rutiininomaisemmin näin:
\begin{verbatim}                                                                                           
x=...;y=...  % Kuten edellä                                                                                
[X,Y]=meshgrid(x,y);                                                                                       
K=Y-X;    % Jos esiintyy kertolaskua, potenssia ym.,                                                       
          % on varustettava pisteellä, siis                                                                
          %     .*, .^  ./  (taulukko-operaatiot)                                                          
\end{verbatim}
Nyt meillä on kaikki
data kerättynä suuntakentän piirtämistä varten.
Voit katsoa skriptiä  
\texttt{http://math.aalto.fi/opetus/Mattie/MattieT/matlabteht/mlDifferentiaali/apusrc/suuntak1.m})
 ja 
mitä siinä tapahtuu. 


Lopuksi voit kokeilla LAODE-funktiota {\tt dfield8} (versio v. 2012) , jonka käyttö ei
vaadi Matlabin tuntemista lainkaan. {\verb_ http://math.rice.edu/~dfield/_}
%{http://math.rice.edu/$\tilde$dfield/}

\textbf{Avainsanat:} matlabDiffyhtälöt, mlbDifferentiaali,suuntakenttä \\
\textbf{Viitteet:} 
\texttt{[LAODE]} 
Golubitzky-Dellnitz: 
Linear Algebra and Differential Equations using Matlab, Brooks/Cole 1999.



