[Up]
http://www.math.hut.fi/teaching/v/3/L/L_ldys.html

Luento, ldys


Päivitetty 9.10.2000

Differentiaaliyhtälösysteemit

Kirjallisuutta

Tämä sivu sisältää aiemmilta K3/P3/Y3 peräisin olevaa materiaalia. Sitä on editoitu vastaamaan syksyn 2000 V3-kurssia (ja editoidaan ...)
GRE,KRE ja monia muita alaan erikoistuneita, kuten

BdP: Boyce-DiPrima: Elementary Diff. eq. and boundary val. pr., Wiley 6. painos
Nagle-Saffa: Diff. eq. and bdary val. probls., 2. painos
Hubbard-West: ODE- a dynamical systems approach osat I ja II, Springer
Coombes-Hunt et al. Diff. Eq. with Maple, Wiley 2. painos (liittyy läheisesti
kirjaan [BdP]).
Laode

Kirjat GRE ja KRE

              GRE                               KRE

Luku 1  Johdanto  (tuttua)            Luku 1  1. kl (tuttua)
Luku 2  1. kertaluku (tuttua)              1.8 modelling electric ..
    2.3 Applications                  Luku 2 2. kl LIN (harjtyö)
        - Electric                    Luku 3 Kork. kl. LIN                   
        - Radioactive                 Luku 4 systems
        - Population dyn.                 4.3. HY
        - Mixing problems                 4.4 Phase plane
Luku 3  2. kl. ja korkeamman LIN          4.5 EHY
          (harjtyö)                   Luku 6 Laplace
     3.9 Systeemit                    Luku 20 Num. menet
       Esimerkkejä, yleistä teoriaa,      1-3 ODE
       Ratkaisutekniikkaa ei oteta
       tämän kohdan mukaan.

Luku 5  Laplace muunnos
Luku 6 Numeeriset menetelmät
Luku 7 Kvalitatiiviset menet,
       faasitaso, linearisointi

Luku 11 Matriisin diagonalisointi
       11.5: Appl. to 1st order systems

Asiaan

Merkintöjä:

Yleinen tapaus

    x1' = f1(t,x1, ..., xn)
    x2' = f2(t,x1., ..., xn)
     .
     .
     .

    xn' = fn(t,x1, ..., xn)  

Alkuehdot: x1(a)=b1, ... ,xn(a)=bn

Vektorimuodossa:

(DYS)     X'=F(t,X)

(AE)      X(a)=B

Lineaariset diffyhtälösysteemit

KRE 4.1-> s. 158 ->
GRE 3.9-> s. 156 ->
BdB Ch 7 s. 335 ->

Tyypillisiä ilmiöitä mallinnukseen

Yleinen lineaarinen systeemi


    x1'=a11(t)x1 + a12(t)x2 + ... + a1n(t)xn + f1(t)
    x2'=a21(t)x1 + a22(t)x2 + ... + a2n(t)xn + f2(t)
    .
    .
    .
    xn'=an1(t)x1 + an2(t)x2 + ... + ann(t)xn + fn(t)

Yllä oleva voidaan esittää matriisimuodossa:
 (LSYS)   X'=A(t)X + F(t)
Jos F(t)=0 , systeemiä sanotaan homogeeniseksi.

Käytämme lyhenteitä HY (homogeeniyhtälö) ja EHY (epähomogeeniyhtälö).

Alkuarvotehtävä (AA-teht.)

Olkoon annettu alkuehdot x1(a)=b1,x2(a)=b2 ... ,xn(a)=bn

Yllä oleva diffyhtälösysteemi yhdessä alkuehtojen kanssa muodostaa (AA)-tehtävän. Matriisimuodossa:

  (LAA)     X'=A(t)X + F(t), X(a)=B
missä B=(b1, ... ,bn)T

Peruslauseita

Yleinen olemassaolo-ja yksikäsitteisyyslause


Lause 1. Yleinen olemassaolo- ja yksikäsitteisyys (DYS)+(AE) (KRE Thm. 1 s. 16x, GRE Thm 3.9.x s. 15x)

Lineaarisen systeemin olemassaolo-ja yksikäsitteisyyslause

on yksinkertaisempi kuin yleisessä epälineaarisessa tapauksessa. (Ei liene yllättävää!)
Lause 2. Olemassaolo- ja yksikäsitteisyys (LAA) (KRE Thm. 2 s. 165, GRE Thm 3.9.1 s. 160)

Olkoot aij(t) ja fi(t) jatkuvia välillä I. Tällöin yllä esitetyllä AA-tehtävällä (1) on jokaista annettua alkuarvovektoria B kohti yksikäsitteinen ratkaisu X(t)=(x1(t), ... ,xn(t))T välillä I.


Huomaa lauseen globaali luonne verrattuna yleiseen (DYS+AE) lauseeseen.

Lineaaristen systeemien peruslauseet skannattuna

Esitimme jo lauseen, jota luentokalvolla sanomme "syvälliseksi". Alla olevien linkkien takana on ratkaisujen muodostamisen perusteet, joista osa on perushelppoja ja osa taas päätellään helposti "syvälliseen lauseeseen" vedoten:

Korkeamman kertaluvun yhtälö(systeemi)n muuntaminen 1. kertal. systeemiksi

Kts. KRE s. ..., GRE s. ..., myös harj. teht   
Tämä on tärkeä seikka ja siitä seuraa:

Älä kuitenkaan toimi liian kaavamaisesti !

Emme käsittele tässä "solution by elimination"-tekniikkaa (vrt. GRE a. 162->), vaan sovellamme yleispäteviä matriisimenetelmiä.

Maple-avusteisia ratkaisutapoja

Matriisieksponenttifuntkio ja yleistetyt ominaisvektorit

Skannattuja luentokalvoja

eAt Maplella

eAt:n hyödyntäminen Matlabilla

Tässä Mathworksin koodi, joka laskee suoraan sarjakehitelmällä. Opetus- ja havainnollistustarkoituksiin.
function E = expm2(A)
%EXPM2  Matrix exponential via Taylor series.
%   E = expm2(A) illustrates the classic definition for the
%   matrix exponential.  As a practical numerical method,
%   this is often slow and inaccurate.
%
%   See also EXPM, EXPM1, EXPM3.

%   Copyright (c) 1984-98 by The MathWorks, Inc.
%   $Revision: 5.4 $  $Date: 1997/11/21 23:38:26 $

% Taylor series for exp(A)
E = zeros(size(A));
F = eye(size(A));
k = 1;
while norm(E+F-E,1) > 0
   E = E + F;
   F = A*F/k;
   k = k+1;
end

expm-funktio, tositarkoitukseen

>> help expm 

 EXPM   Matrix exponential.
    EXPM(X) is the matrix exponential of X.  EXPM is computed using
    a scaling and squaring algorithm with a Pade approximation.
 
    Although it is not computed this way, if X has a full set
    of eigenvectors V with corresponding eigenvalues D, then
    [V,D] = EIG(X) and EXPM(X) = V*diag(exp(diag(D)))/V.
 
    EXPM1, EXPM2 and EXPM3 are alternative methods.
 
    EXP(X) (that's without the M) does it element-by-element.
 
    See also EXPM1, EXPM2, EXPM3, LOGM, SQRTM, FUNM.


expm-käyttöinen lineaarisen systeemin ratkaisija

Seuraavaksi oma koodi, jonka "tapahtumarivi" on tämä:
y(:,i) = expm(A * t(i)) * x0; 

function [t,y] = linsys(A,x0,T,siz)
% Input: Matriisi A, alkuarvovektori x0, loppuaika T (aikaväli: 0 .. T)
% Valinnainen siz: kuinka moneen osaan aikaväli jaetaan, oletus 100.
%
% Output: t - vektori:  diskretoitu aika-akseli (oletus 100-pituinen)
%         y - matriisi: 100 x n, kukin sarake edustaa ratkaisufunktion
%                       arvoja t-aikapisteissä.
% 
% Esim: A=[1 0 0;1 3 0;0 1 1];x0=[1;2;3];
%       [t,y]=linsys(A,x0,2);
%       plot(t,y)                       % aikariippuvuusparvi (mieliv. n)
%       plot(y(:,1),y(:,2))             % faasitaso (1,2)  
%       plot3(y(:,1),y(:,2),y(:,3))     % faasiavaruus (3-d)
%       plot(y(:,i),y(:,j))             % projektio (i,j)-faasitasossa
%                                       % (jos n > 2)
if nargin < 4, siz = 100; end; 
t = linspace(0,T,siz);
m=size(A);m=m(1);
y = zeros(m,siz);
for i=1:siz,
y(:,i) = expm(A * t(i)) * x0;
end;
y=y';      % Transponoidaan y-matriisi,jotta yhdenmukainen ode-funkt. kanssa

2x2-systeemien faasitasoluokittelu

Tässä eräs kuva (Robert Pichet'n kurssimateriaalia)