Biraz daha zorlatrsak Tekrarlayan ilemleri MATLABde nasl yapabiliriz
Biraz daha zorlaştırsak:
Tekrarlayan işlemleri MATLAB’de nasıl yapabiliriz? for k=1: iterasyon x(k+1)=a*x(k); end İlk değer, iterasyon sayısı ve a’nın ne olduğu belirtilmeli: a=-0. 5, iterasyon=10, x 0 =2 için sonuçlar 2. 0000 -1. 0000 0. 5000 -0. 2500 0. 1250 -0. 0625 0. 0313 -0. 0156 0. 0078 -0. 0039 0. 0020 MATLAB’de hazırlanan m-file’a bakalım a=0. 5, iterasyon=10, x 0 =2 için sonuçlar 2. 0000 1. 0000 0. 5000 0. 2500 0. 1250 0. 0625 0. 0313 0. 0156 0. 0078 0. 0039 0. 0020
%%%%lineer 1. dereceden fark denklemi%%%% clear all Hafızada kalanları temizlemek için %%%ilk değer%%% x=2; Çözümün nereden başlayacağını belirleyen ilk değer. %%%sistemi tanımlayan parametre%%%% Sistemin dinamik davranışını belirleyen parametre a=0. 5; %%%çözüm için gerekenler%%% iterasyon=10; Çözüm için kaç adım ilerleneceği %%%%%çözüm%%%% for k=1: iterasyon x(k+1)=a*x(k); Tekrarlayan işlemleri yapmak için for döngüsü end subplot(2, 1, 1), plot(x) Elde edilen sonuçlara ilişkin grafikler subplot(2, 1, 2), plot(x, '*')
MATLAB’de hazırlanan bu m-file’ın bir öncekinden farkı neler? %%%%lineer 1. dereceden fark denklemi%%%% clear all %%%ilk deðer%%% x=2; %%%sistemi tanýmlayan parametre%%%% a=0. 5; b=2 Giriş fonksiyonu u(k)’nın katsayısı %%%çözüm için gerekenler%%% iterasyon=10; %%%%%çözüm%%%% for k=1: iterasyon if mod(k, 2)==1 K’nın tek sayı olup olmadığını belirliyor u(k)=3; Giriş fonksiyonu u(k)’nın tanımı Giriş fonksiyonu u(k) else nasıl bir bağıntı? u(k)=6 end K tek ise değeri 3 x(k+1)=a*x(k)+b*u(k); Sağ tarafa giriş eklenmiş çift ise değeri 6 end K tek ise u(k)’nın değeri 6, çift ise 3 subplot(2, 1, 1), plot(x) olması için nasıl bir değişiklik yaparsınız? subplot(2, 1, 2), plot(x, '*')
Dinamik sistem, fark denklemi, durum uzayı, birinci dereceden lineer sistemin çözümü Çözüm sıfıra yaklaşıyor Bu a’nın değeri davranışı genel olarak etkiliyor nasıl? Pozitif ise çözüm ilk değerde kalıyor, Negatif ise çözüm ilk değerin bir +işaretlisi bir - işaretlisi olarak salınıyor, mutlak değerce aynı değerde kalıyor Çözüm büyüyor, sonsuza gidiyor Birinci dereceden dinamik sistemlerin durum uzayı reel sayılar doğrusu Durum uzayı gösterimi böyle olan bir sistemin a’sı sizce nasıl bir değerdir? Bu sistemin (*) sistemine göre farkı nedir? Bu sistemde a mutlak değerce birden küçük ise çözümü hangi terim belirler?
Daha da zorlaştırsak İkisi arasındaki fark ne? Bir örnek: Dikkat buradaki A bir matris!!!!
MATLAB’de bir örnek %%%%%%ikinci dereceden dinamik sistem%%%% clear all %%%ilk deðer%%% xx=[0. 1; 0. 2]; İki değişken var o yüzden ikisi içinde ilk değeri belirlemek gerek %%%sistemi tanýmlayan parametre%%%% A matrisi A=[0. 5 1; 0 0. 2]; %%%çözüm için gerekenler%%% iterasyon=10; %%%%%çözüm%%%% for k=1: iterasyon İki değişken içinde ardışıl işlem yapılmalı xx(: , k+1)=A*xx(: , k); end subplot(2, 1, 1), plot(xx(1, : )), hold on, plot(xx(2, : ), 'r') subplot(2, 1, 2), plot(xx(1, 5: 10), xx(2, 5: 10)) Durum portresi Durum Portresi, durum uzayındaki davranışı gösterir. Bundan daha öncede bahsedilmişti.
Eksenlerin neye karşılık geldiğini bilmek için: %%%%%%ikinci dereceden dinamik sistem%%%% clear all %%%ilk deðer%%% xx=[0. 1; 0. 2]; %%%sistemi tanýmlayan parametre%%%% A=[0. 5 1; 0 0. 2]; %%%çözüm için gerekenler%%% iterasyon=10; %%%%%çözüm%%%% for k=1: iterasyon xx(: , k+1)=A*xx(: , k); end subplot(2, 1, 1), plot(xx(1, : )), hold on, plot(xx(2, : ), 'r'), title('zamanla değişim'), başlık xlabel('t'), ylabel('x 1: mavi x 2: kırmızı') Eksenleri tanımlamak için subplot(2, 1, 2), plot(xx(1, : ), xx(2, : )), title('durum uzayı'), xlabel('x 1'), ylabel('x 2') Bu şekil öncekinden farklı, sizce neden?
A matrisinde biraz değişiklik yapalım:
Bu değişikliklerin etkisini anlamanın bir yolu olmalı, A matrisi yerine a skaleri varken iş kolaydı. . . Özdeğer problemi Soru: Bu eşitliği sağlayan bir λ ve sıfırdan farklı bir x var mı? Varsa λ’ya özdeğer, x’e de özvektör adı verilir. Birim matris
Bu matrisin rankı n’den küçük iken Bir kare matrisin rankı n’den küçük ise determinantı sıfıra eşittir. Sıfırdan farklı bir matris ile sıfırdan farklı bir vektörü çarpıp sıfır elde ediyoruz, bu ne zaman mümkün? Karakteristik çokterimli Karaktertistik çok terimlinin kökleri özdeğerlerdir. Bu özdeğer probleminin n tane özdeğeri vardır. Hala daha hesaplamamız gereken bir şey daha var, nedir? Özvektörler
Bu n matris eşitliğinden özvektörler belirlenir. Özvektörler lineer bağımsızdır ve matrislerinin sıfır uzaylarına ilişkin baz vektörleridir. Özdeğerler çözümlerin zamanla nasıl evrildiğini belirlerken, özvektörler de çözümlerin bulunduğu uzayı belirlerler. (*) sistemi için: (**) sistemi için: Çözüm sıfıra yaklaşıyor Pozitif ise çözüm ilk değerde kalıyor, Negatif ise çözüm ilk değerin bir +işaretlisi bir - işaretlisi olarak salınıyor, mutlak değerce aynı değerde kalıyor jω Çözüm büyüyor, sonsuza gidiyor Çözüm sıfıra yaklaşıyor Herhangi bir için Çözüm büyüyor, sonsuza gidiyor σ özdeğerler birim dairenin içinde ve üstünde ise çözümler sıfıra yakınsar veya salınır.
MATLAB’de özdeğer ve özvektör hesabı %%%%%%matrisin özdeðeri özvektörünü bulma%%%%%%Ekim 17, 2016%%%%%%%%%%%%% %%%sisteme iliþkin matris%%%% A=[0. 5 1; 0 0. 2]; [ozvektor, ozdeger]=eig(A) subplot(1, 2, 1), plot(ozvektor), title('özvektörler'), ylabel('özvektörler') subplot(1, 2, 2), plot(ozdeger, '*'), title('özdeğerler'), ylabel('özdeğerler') %%%%%%matrisin özdeðeri özvektörünü bulma%%%%%%Ekim 17, 2016%%%%%%%%%%%%% %%%sisteme iliþkin matris%%%% A=[0. 5 1; 2 0. 2]; [ozvektor, ozdeger]=eig(A) subplot(1, 2, 1), plot(ozvektor), title('özvektörler'), ylabel('özvektörler') subplot(1, 2, 2), plot(ozdeger, '*'), title('özdeğerler'), ylabel('özdeğerler') Bu özdeğerlere bakarak çözüm hakkında nasıl bir öngörüde bulunursunuz?
Giriş de koyarsak %%%%%%ikinci dereceden dinamik sistem%%%% clear all %%%ilk değer%%% xx=[0. 1; 0. 2]; %%%sistemi tanımlayan parametre%%%% A=[0. 5 1; 0 -0. 2]; b=[1; 2]; %%%çözüm için gerekenler%%% iterasyon=30; %%%%%çözüm%%%% for k=1: iterasyon if mod(k, 2)==1 u(k)=3; else u(k)=6; end xx(: , k+1)=A*xx(: , k)+b*u(k); end subplot(2, 1, 1), plot(xx(1, : ), '*'), hold on, plot(xx(2, : ), '*r'), title('zamanla değişim'), xlabel('t'), ylabel('x 1: mavi x 2: kırmızı') subplot(2, 1, 2), plot(xx(1, 5: 30), xx(2, 5: 30)), title('durum uzayı'), xlabel('x 1'), ylabel('x 2')
- Slides: 14