MattieT-tehtäväportaali

Menu:

Tehtäviä differentiaaliyhtälöiden ratkaisemiseen MATLABissa.

Käytön idea: kun löydät mieleisesi tehtävän, sen alapuolella on linkki tex-tiedostoon. Lataa tiedosto, ja liitä se harjoituspohjaan tai omaan Latex-pohjaasi.


  1. mlD001.tex (iv3 harj.1 av 2001)
    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:
      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                           
    
    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 flipud. Katso siis matriisista flipud(K) arvot ja merkitse ne kynällä piirrokseen. Tarkista käsin (tai ``skalaarilaskimella'' (Matlabkin käy)) muutama alkio ainakin. (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:
                                                                              
    x=...;y=...  % Kuten edellä                                                     
    [X,Y]=meshgrid(x,y);  
    K=Y-X;    
          %{ 
            Jos esiintyy kertolaskua, potenssia ym.,
            on varustettava pisteellä, siis 
            .*, .^  ./  (taulukko-operaatiot)
           %}     
     
    Nyt meillä on kaikki data kerättynä suuntakentän piirtämistä varten. Voit katsoa skriptiä suuntak1.m ja miettiä, mitä siinä tapahtuu.

    Lopuksi voit kokeilla Rice-Universityn sivulla olevaa mainiota funktiota dfield , jonka käyttö ei vaadi Matlabin tuntemista lainkaan.

    Vaikeus 2.

    Tehtävän Latex-koodi:
    Ratkaisu (m)

    Viitteitä:

  2. mlD002.tex

    Millä xy-tason käyrillä on ominaisuus: Käyrän tangentin kulmakerroin jokaisessa pisteessä $(x,y)$ on $-\frac{4 x}{y}$ ? Ratkaise yhtälö muuttujien erottelulla (``separation of variables''). Piirrä suuntakenttä isokliineja apuna käyttäen käsin vaikkapa alueessa $[-2,2] \times [-2,2]$. Kokeile myös LAODE-funktiota dfield8 (kts. vihje). Tässä on käytettävä ahkerasti stop-näppäintä, ratkaisu ajautuu aina ongelma-alueelle, mikäli x-akseli on mukana. Voit myös täydentää kuvaa alussa laskemillasi ratkaisukäyrillä tyyliin:

    x=linspace(-2,2,30);y=x; 
    [X,Y]=meshgrid(x,y);     
    Z=... % muista pisteittäiset laskutoimitukset. 
    contour(x,y,Z,1:10); 
    shg  % "show graphics" 
    
    Kokeile ja selitä!

    Vihje
    Hae m-tiedosto dfield8 (Rice University) ja sijoita se Matlab-polkusi varrelle.
    Kirjoita Matlab-istuntoon : dfield8

    Vaikeus 2

    Tehtävän Latex-koodi
    Ratkaisu: (ei viel.)
    pdf-muodossa  |  m-tiedosto
    Aputiedostoja,viitteitä

    Viitteet: Golubitzky-Dellnitz: Linear Algebra and Differential Equations using Matlab, Brooks/Cole 1999.

    Avainsanat:
    MatlabDy, diffyhtälöt, suuntakenttä, isokliinit, mlDifferentiaali(yhtälöt)