Geçen hafta ne yapmıştık 2. Dereceden, lineer, fark denklemleri, özdeğer problemi, özdeğerler, özvektörler, özdeğerlere bakarak sistemin davranışını öngörme, norm, lineer olmayan dinamik sistemler için bir fark denklemi örneği. Hatırlatma xn1 Axn , x0 , x R n (**) (**) sistemi için: Tanım: i 1,2,..., n i 1 Çözüm sıfıra yaklaşıyor lim xk 0 Herhangi bir i 1 i için k Çözüm büyüyor, sonsuza gidiyor lim xk jω k σ özdeğerler birim dairenin içinde ve üstünde ise çözümler sıfıra yakınsar veya salınır. V vektör uzayı olmak üzere, aşağıdaki dört özelliği sağlayan fonksiyon . : V R normdur x 0 x 0 x0 x x x y x y Bu hafta lineer olmayan dinamik sistemler için neler yapılabilir incelemeden önce bazı önbilgiler verilecek. Buraya bakınca türev neye ilişkin bilgi de veriyor? Önbilgi: Tanım: Türev df f ( x x) f ( x) f ( x) ˆ lim dx x x 0 Tanım: Sabit nokta (fixed point) Fark denkleminin zamanla değişmeyen çözümüne, fark denkleminin sabit noktası denir. Bu çözümü nasıl belirleriz? xn1 f ( xn ) x* f ( x* ) F ( x* ) x* f ( x* ) 0 cebrik denkleminin çözümü ile sabit nokta belirlenecek. https://en.wikipedia.org/wiki/Fixed_point_(mathematics) https://en.wikipedia.org/wiki/Derivative Hatırlatma Baz vektörleri a11 a12 a1n b1 b a a a 21 22 2n 2 gergi , ,..., ... ... ... ... am1 am2 am n bm R3 için bir baz vektörü kümesi nedir? 1 0 0 x1 x gergi0, 1, 0 2 0 0 1 x3 R3 için bir başka baz vektörü kümesi: 1 0 0 x1 x gergi1, 1, 0 2 0 0 1 x3 3. Ders 2. yansı R3’de herhangi bir vektörü bu baz vektörleri cinsinden ifade edelim 2 1 0 0 3 20 31 40 Kaç tane baz vektörü 4 0 0 1 kümesi vardır? 2 1 0 0 3 21 11 40 4 0 0 1 Rn için belirlenmiş bir baz vektörü kümesinde kaç tane vektör vardır? Kaç tane baz vektörü kümesi belirleyebiliriz? Önbilgiye devam: Elemanları sürekli fonksiyonlar olan bir vektör uzayının boyutu ‘dur. Bir baz vektörü kümeside polinomlardır. p1 ( x) x 2 1, p2(x) x 5 ax3 1, p3(x) x 4 x 3 b Bir baz vektörü kümesi olmak için lineer bağımsız ve uzayı geriyor olmaları gerek bu iki koşuluda sağlıyorlar. Herhangi bir sürekli fonksiyonu polinomlar cinsinden yazmak için katsayılarıda belirlememiz gerek, Taylor serisine açılım katsayıları nasıl belirleyeceğimiz bilgisini verir. 1 f ( x) x x ( x xa ) 2 ... a a a 2 Elemanları fonksiyonlar olan bir vektör ile belirtilseydi f (x ) bağıntısı, nasıl Taylor serisine açabiliriz? f1 Jacobien matris f1 f1 ... x x2 xn 1 f1 ( x1 , x2 ,..., xn ) f1 ( x1 , x2 ,..., xn ) f ( x , x ,..., x ) f ( x , x ,..., x ) f 2 f 2 ... f 2 n 2 1 2 n 2 1 2 x1 x2 ( x xa ) ... xn ... ... ... f ( x , x ,..., x ) f ( x , x ,..., x ) f f f n n 1 2 n x x n 1 2 n n n a ... x1 x2 xn x xa f ( x) f ( x) x x f ( x) x x ( x xa ) Bu haftanın konusu: Lineer olan sistemler için davranışın nasıl olacağına dair bilgiyi özdeğerlere bakarak edinebiliyoruz. Lineer olmayan sistemler için de böyle bir bilgiden yararlanmanın yolu var mı acaba? Lineerleştirme: Sistemin davranışını kritik bazı yerlerde kabaca lineer eşdeğeri ile inceleyebiliriz. Nerelerde? Nasıl elde ederiz Örneğimize dönersek: xn1 rxn (1 xn ) xn Önce sabit noktaları belirleyelim: x* rx* (1 x* ) x* MATLAB ile nasıl yaparız? İlk değer 0.1 olarak değiştirilirse x = -9.6159e-07 degerf =-9.6159e-07 x = 0.3333 degerf =-7.7458e-09 Denge noktaları civarında lineerleştirelim: f ( x) rx(1 x) x df r 1 2rx dx df r 1 2rx* dx x x * Lineer eşdeğer: xn1 (r 1) 2rx* xn Sabit bir sayı Böylece sistem daha önceden incelediğimiz sisteme dönüştü xn 1 axn , x0 , x R MATLAB’de lineerleştirip davranışını iki farklı sabit nokta civarında inceleyelim Üçüncü ders 4. yansı Asıl sistem nasıldı? xn1 rxn (1 xn ) xn r=3 için 0 ve 0.33 olarak belirlenmiş denge noktası civarında sistemin dinamik davranışı %%%%logistic fark denklemini lineerleştirelim%%% clear all %%%%%%%%%%%%%%parametreler%%%%% %%%fonksiyon için%%% r=3; %%%%sabit noktaları bulalım%%%% Daha önce yaptığımız gibi ama for k=1:10 [x, degerf]= fsolve(@(x) F_logistic_fark(x,r), 0.1+0.01*k); Bu sefer ilk değerde farklılık var cozumler_v(k)=[x]; Sizce for döngüsünü neden koyduk? if cozumler_v(k)~=cozumler_v(1) yeni_cozum=cozumler_v(k); else Bu if döngüsü ne yapmakta? ilk_cozum=cozumler_v(1); end end if yeni_cozum<0.1*10^-3 yeni_cozum=round(yeni_cozum); else yeni_cozum=yeni_cozum; end Bu if döngüleri ne yapmakta? if ilk_cozum<0.1*10^-3 ilk_cozum=round(ilk_cozum); else ilk_cozum=ilk_cozum; end x1=ilk_cozum x1 = x2=yeni_cozum Bu sonuçları «command window»’da göreceğiz 0 x2 = 0.3333 %%%%lineerleştirelim Burada ne olmakta? syms x f_fonksiyon(x)=(F_logistic_fark(x,r)+x) Bu sonuçlarıda «command window»’da göreceğiz df_fonksiyon=diff(f_fonksiyon,x) %%%%%lineer eşdeğer%%%% if df_fonksiyon(x1)<0.1*10^-3 f_fonksiyon(x) = f_lineer_x1=round(df_fonksiyon(x1)); else - x - 3*x*(x - 1) f_lineer_x1=df_fonksiyon(x1); end df_fonksiyon(x) = Bu if döngüleri ne yapmakta? if df_fonksiyon(x2)<0.1*10^-3 f_lineer_x2=round(df_fonksiyon(x2)); 2 - 6*x else f_lineer_x2=df_fonksiyon(x2); end %%%%%%%çözüm%%%% %%%%%ilkdeğerler%%%% x_1=0.1; x_2=0.1; %%%%iterasyon sayısı%%% iterasyon=25; for k=1:iterasyon x_1(k+1)=f_lineer_x1*x_1(k); Bu for döngüsüne yapmakta? x_2(k+1)=f_lineer_x2*x_2(k); end subplot(2,1,1), plot(x_1,'r*'),title('birinci sabit nokta civarýnda zamanla deðiþim'), xlabel('t'),ylabel('x_1') subplot(2,1,2), plot(x_2,'*'), title('ikinci sabit nokta civarýnda zamanla deðiþim'), xlabel('t'),ylabel('x_2')