folder Tahribat.com Forumları
linefolder Programlama Genel
linefolder İYTE IEEE Matlab Kurs Notları - 3



İYTE IEEE Matlab Kurs Notları - 3

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    dyrnade
    dyrnade's avatar
    Kayıt Tarihi: 27/Temmuz/2009
    Erkek

    http://cscem.blogspot.com/2013/11/iyte-ieee-matlab-kurs-notlar-3.html

     

     

    http://tr.wikipedia.org/wiki/Karmaşık_sayı

     

    Karmaşık sayıları nasıl tanımlayabiliriz buna bakıcaz.

     

     

     Şimdi karmaşık sayılar z = x + yi olarak gösteriliyordu.

     

    Örnek olarak

     

    >>> z = 3 + 4i;

     

    şeklinde karmaşık sayıları tanımlayabiliriz. "i" harfi otomatik olarak matlab içinde tanımlıdır.

     

    Karmaşık sayıların real sayı kısımlarını real() fonksiyonunu kullanarak buluruz.

     

    >>> real(z)

    ans = 3

     

     

    Sanal kısmını ise imag() fonksiyonu ile buluruz. 

     

     

    >>> imag(z)

    ans = 4

     

     

    Karmaşık sayıların büyüklüğünü abs() fonksiyonu

     

     

    >>> abs(z)

    ans = 5

     

     

    Real kısmı ile sanal kısmı arasındaki açıyı angle() fonksiyonu ile

     

    >>> angle(z)

    ans = 0.92730

     

     

    Karmaşık sayıların tersinide conj() fonksiyonu ile buluruz.

     

    >>> conj(z)

    ans = 3 - 4i

     

     

     

    http://tr.wikipedia.org/wiki/Fourier_dönüşümü

     

    Şimdi  bir fonksiyonun fourier dönüşümünü bulmak istersek ne yapabiliriz.Bu iş için fft() fonksiyonunu kullanıyoruz.

     

    Şimdi bir fonksiyonu dönüşüm yaptırıp grafiğini çizdirelim.

    >>> x = 0:pi/180:2*pi;

    >>> y = sin(x);

    >>> z = fft(y);

    >>> plot(z)

     

    http://o1311.hizliresim.com/1h/j/uljkc.png 

     

     

     

    Bunun frekans aralığınada bakmak istersek stem() fonksiyonunu kullanıyoruz.

     

     

     

    >>> stem(x,z)

     

     

    http://o1311.hizliresim.com/1h/j/uljld.png

     

     

     

     

     

     

    Şimdi 3 boyutlu zamanla dinamik değişen bir çizim yapmak istersek bunun için script yazıcaz.

     

     

    chdir('~/octave'); % Windows'ta matlab kullananlar buna gerek yok

     

     

    function ucBoyut(a,b)

     

    n = 101;

    x = linspace(-2,2,n); % sayı düzlemi

    y = linspace(-2,2,n);

    [X,Y] = meshgrid(x,y);

     

    for t=0:.01:10

    at = a +.8*t; % Zamanla değişim fonksiyonu bu aynı a(t) demek oluyor.

    bt = b + .4*t;

    Yxy = Y + .25*sin(2*(exp(X/2)-1));

    Z = sin((at + .1*X + .2*Yxy).*X.^2+bt*(sin(2*Yxy) + .2*Yxy).*Yxy.^2);

    surf(X,Y,Z)

    view([-45,60]) % grafiği görüş açımızı ayarlıyoruz

    drawnow % üst üste plotları refresh eder

    end

     

     

    Script ile ilgili bir kaç açıklama;

     

    linspace() fonksiyonu sayı düzlemi oluşturmamızı sağlıyor.

    view() fonksiyonu ile çizdirilen grafiğimize hangi açıdan bakıcağımız.

    drawnow ile plotları refresh edip zamanla değişmesini sağlıyoruz.

    at,bt,Yxy o kadar önemli değil karmaşık kendi uydurduğumuz fonksiyonlar.

     

     

     

     

     

    Son olarakta derste bize sorulan soru;

     

     

     

    function sumofact(a)

    result = 0.0;

    for y = 1:10

    Y = factorial(y);

    X = factorial(a);

    result = result + X/Y;

    end

     

    disp(['Sonuc : ', num2str(result)]);

     

     

     

    Script ile ilgili bir kaç açıklama;

     

    Bu fonksiyonun amacı girdiğimiz sayının faktöriyelini alıp döngü her döndüğünde 1 den 10 kadar olan sayıların faktöriyelini girdiğimiz sayıya bölmek ve bunları toplamak.

     

    factorial() fonksiyonu ile faktöriyel alıyoruz. 

    disp() fonksiyonu matriks gibi davranıyor yani o yüzden 1x2 lik matriks tanımlar gibi tanımladık.

    num2str() fonksiyonuda sayıları stringlere(yazılara) dönüştürüyor.

     

    Peki diyceksiniz niye num2str() kullandık burda.

     

    Çünkü disp() fonksiyonu içinde ilk sütunumuz string ve ikinciside öyle olmalı.

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    akmarky
    akmarky's avatar
    Kayıt Tarihi: 17/Ağustos/2012
    Erkek

    çizdim

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SpArK
    SpArK's avatar
    Kayıt Tarihi: 17/Temmuz/2005
    Erkek

    Yeniden ellerine saglik, faydali olacak.

Toplam Hit: 1649 Toplam Mesaj: 3