Ufukta Matlab var
Bu ay okurlarımızdan gelen soruların da ışığında, polinom ve transfer fonksiyonlarının analizi ile M dosyaları hakkında bilgi ve M dosyalarını oluşturmak ile ilgili güzel bir yazı okuyabilirsiniz.
Herkese Merhabalar;
Öncelikle bu yazımızda genel konuyu takip etmeyeceğiz.
Bu ay bazı arkadaşlardan mailler üzerine iki ana konu üzerinde duracağım.Sorulan sorular zaten konu dizinimizde olduğundan bu yazıda bu soruları birer birer cevaplamaya çalışacağız:
1)POLİNOM VE TRANSFER FONKSİYONLARININ ANALİZİ:
Derecesi ne kadar yüksek olursa olsun,içinde ne gibi sistemleri bulunduruyorsa bulundursun bir fonksiyonu çeşitli yönleriyle analiz etmek Matlab’da oldukça kolaydır.Şimdi bunu örneklerle açıklayalım. Örneğin 4. dereceden bir polinomu inceleyelim:
>> p=[1 11 2 -41 155]; (polinom tanımlama)
>> r=roots(p) (polinomun köklerini bulma)
r = (polinomun kökleri)
-10.2740
-3.5081
1.3910 + 1.5380i
1.3910 – 1.5380i
Not : p(s) = s^4 + 11 s^3 + 2 s^2 – 41 s + 155
Farz edelim ki elimizde polinomun kökleri var.bu durumda da polinomun katsayılarını bulalım:
>> a=[2 3 1 4 16]’ (polinomun köklerini tanımlama)
a = 2 (polinomun kökleri)
3
1
4
16 pp = [1 -26 195 -610 824 -384] (polinomun katsayıları)
Transfer fonksiyonunu tayin etmek ve bu veriye göre transfer fonksiyonunun kutup,sıfır ve kazanç katsayılarını bulmak üzere aşağıdaki örneği inceleyelim:
>> pay=[1 5 -4 -3 15]; (pay tanımlama)
>> payda=[5 2 1 3 14]; (payda tanımlama)
>> pp=tf(pay,payda) (fonksiyonu bir değişkene atama),(tf:transfer function)
Transfer function:
s^4 + 5 s^3 – 4 s^2 – 3 s + 15
————————————- (transfer fonksiyonu)
5 s^4 + 2 s^3 + s^2 + 3 s + 14
Transfer fonksiyonunu bulduktan sonra bu fonksiyonun sıfır ve kutupları olan pay ve paydanın kutuplarını bulabiliriz;
>> k=roots(pay) (payın kökleri)
k = -5.5362
-1.4542
0.9952 + 0.9342i
0.9952 – 0.9342i
>> l=roots(payda) (paydanın kökleri)
l = 0.7926 + 1.0128i
0.7926 – 1.0128i
-0.9926 + 0.8412i
-0.9926 – 0.8412i
Bu ana işlemlerden başka fonksiyonun rezidüsünü alarak kısmi kesirlere ayırım da yapılabilir.
>> [r p k]=residue(pay,payda)
r = 0.5799 – 0.1747i (kısmi kesir çarpanı)
0.5799 + 0.1747i
-0.1199 + 0.0793i
-0.1199 – 0.0793i
p = -0.9926 + 0.8412i (kutuplar)
-0.9926 – 0.8412i
0.7926 + 1.0128i
0.7926 – 1.0128i
k = 0.2000 (kalan)
Bu işlemlerden sonra elimizdeki transfer fonksiyonunun kök-yer eğrisini yani kutup ve sıfırlarının yerini grafiksel olarak görelim;
>> rlocus(pp)
Komutuyla beraber karşımıza şu grafik çıkar: (x’ler kutup, o’lar sıfırları gösteriyor)
Gerçekten de sayısal olarak elde ettiğimiz sonuçlara bakarsak şekilden de aynı sonuçları elde ettiğimizi görürüz.Sonuç olarak kutup,sıfır,transfer fonksiyonu analizinin ne kadar kolay olduğunu hep beraber gördük.
2) M- DOSYALARI HAKKINDA BİLGİ VE M-DOSYASI OLUŞTURMAK:
M-dosyaları olarak ele aldığımız dosyalar aslında matlab ortamında kullanmış olduğumuz komutlardır ve veri analizini sağlayan fonksiyonlardır.Bu fonksiyonlar her amaca yeterli olsa da sonuçlara daha hızlı ulaşabilmek için kendimize özel fonksiyonlar yani yeni M-dosyaları oluşturabiliriz.Çeşitli yollarla bu M-dosyalarını hazırlayabiliriz.İstersek bir komutlar dizisi sayesinde sonuca ulaşırız istersek de ‘function’ kelimesiyle başlayan bir fonksiyonel dosya oluştururuz.Önemli olan bize istediğimiz sonucu kısa zamanda verebilmesi.Şimdi de örnek olarak bir M-dosyası oluşturalım:
Örneğin kütlesinin ve hızının değerini girdiğimde bana o cismin kinetik enerjisini veren bir M-dosyası oluşturalım.Öncelikle komutları yazacağım sayfaya girmem gerek.M-dosyası oluşturmak için öncelikle ‘file ‘ menüsünden ‘new’ dediğimizde M-file diyecektir.onu seçerek alanımızı oluşturmuş oluruz.Başka bir yol ise Command Window’da ‘edit’ yazarak oluşturmaktır.Aşağıdaki gibi M-dosyamızı oluşturuyoruz:
% kütlesi ve hizi verilen bir cismin
% kinetik enerjisinin hesabi
m=input(‘Lütfen kütle degerini giriniz(kg)= ‘)
v=input(‘Lütfen cismin hiz degerini giriniz(m/s)= ‘)
Ek=m*v^2/2 (verilen değerlere göre kinetik enerji hesaplanıyor)
Bu komutları yazdıktan sonra bunu saklıyoruz.Örneğin sayfadaki disket resmine tıkladık ve dosya ada olarak kinetik yazdık ve dosyayı saklamış olduk.Şimdi de işlemlerimizin doğruluğunu test edelim.Command Window’a geçerek kinetik yazdığımızda veya komutları yazdığımız sayfadan ‘debug ‘ menüsünden ‘Run’ seçtiğimizde bakalım neler oluyor:
>> kinetikLütfen kütle degerini giriniz(kg)=10m = 10
Lütfen cismin hiz degerini giriniz(m/s)=50
v = 50
Ek = 12500
Görüldüğü gibi sonucu bulduk ve hiçbir hata mesajı vermedi.artık bundan sonra herhangi bir cismin kinetik enerjisini bulmak istediğimiz de kinetik yazmamız yeterli olacaktır.Sizler de bunları çeşitli formüller için kullanabilirsiniz.Şimdiden herkese başarılar….