Sıra | DOSYA ADI | Format | Bağlantı |
---|---|---|---|
01. | Matlab Gi̇ri̇ş | ppt | Sunumu İndir |
Transkript
MATLAB GİRİŞ Arş. Gör. Dr. İlhan AYDIN
İçerik Niçin Matlab? MATLAB ekranı Değişkenler, dizi, matris, indeksler Operatörler(Aritmetik, ilişkisel, lojik) Görüntüleme Araçları Akış Kontrolleri M-file Kullanımı Kullanıcı tanımlı fonksiyonların yazımı Sonuçlar
Niçin MATLAB? MATLAB temel olarak bizim için birçok şeyi yapan özel toolbox’lara sahip yüksek seviyeli bir dildir. Nasıl yüksek seviyeli? Assembly C, Pascal vb. Yüksek seviyeli diller Matlab
MATLAB ne ile ilgilidir? Matlab Komut satırım-files Fonksiyonlar mat-files Dos komut satırı gibi komut yürütme MATLAB komutları Giriş/çıkış yeteneği Veri depolama /yükleme
Matlab Ekranı Komut Penceresi Komut yazma Geçerli dizin M-file ve dosyaların görünümü Workspace Program değişkenleri Bir değişkeni Array editörde görebilmek için çift tıklamak gerekir. Komut geçmişi Geçmiş komutları görme Bütün oturumu kaydetme
Değişkenler Tip tanımlamaya ihtiyaç yok Bütün değişkenler çift hassasiyetli tanımlanır ve hepsi aslında birer matristir. Yukarıdaki tanımlamalardan sonra değişkenler 1x1 ‘lik çift hassasiyetli matrislerdir int a; double b; float c; Örnek: >>x=5; >>x1=2;
Dizi, Matris Bir vektör x = [1 2 5 1] x = 1 2 5 1 Bir matris x = [1 2 3; 5 1 4; 3 2 -1] x = 1 2 3 5 1 4 3 2 -1 Transpoz y = x’ y = 1 2 5 1
Dizi, Matris t =1:10 t = 1 2 3 4 5 6 7 8 9 10 k =2:-0.5:-1 k = 2 1.5 1 0.5 0 -0.5 -1 B = [1:4; 5:8] x = 1 2 3 4 5 6 7 8
Fonksiyonlardan dizi üretimi zeros(M,N) MxN’lik sıfır matrisi ones(M,N) MxN’lik bir matrisi rand(M,N) MxN’lik elemanları (0,1) aralığında değişen matris x = zeros(1,3) x = 0 0 0 x = ones(1,3) x = 1 1 1 x = rand(1,3) x = 0.9501 0.2311 0.6068
Matris Indisi Matris indisi 1’den başlar ( 0 değil (Javadaki gibi değil)) Matris indisi pozitif tam sayı olmalıdır. Örnek: A(-2), A(0) Hata: ??? Alt indisler pozitif olmalıdır. A(4,2) Hata: ??? İndis matris boyutunu aştı.
Matris Birleştirme x = [1 2], y = [4 5], z=[ 0 0] A = [ x y] 1 2 4 5 B = [x ; y] 1 2 4 5 C = [x y ;z] Hata: ??? Kullanım hatası==> vertcat CAT argüman boyutları tutarlı değil.
Operatörler (aritmetik) + toplama - çıkarma * çarpma / bölme ^ üs alma ‘ transpoz alma
Matrices İşlemleri A ve B matrisleri verilsin: Toplama Fark Çarpım Transpoz
Operatörler (Eleman- Eleman) .* Eleman-Eleman çarpım ./ Eleman-Eleman bölme .^ Eleman-Eleman üs alma
“.” – “+/*^” Operatörünün Kullanımı K= x^2 Hata: ??? Kullanım hatası==> Matris kare matris olmalıdır B=x*y Erorr: ??? Kullanım hatası==> Matris boyutları kabul edilebilir olmalıdır. A = [1 2 3; 5 1 4; 3 2 1] A = 1 2 3 5 1 4 3 2 -1 y = A(3 ,:) y= 3 4 -1 b = x .* y b= 3 8 -3 c = x . / y c= 0.33 0.5 -3 d = x .^2 d= 1 4 9 x = A(1,:) x= 1 2 3
Temel İşlemler: 0≤x≤4π aralığında sin(x)’in çizimi 0 ile 4 π aralığında 100 örnekten oluşan x- dizisinin oluşturulması. X dizisinin sin(.) hesabı Y dizisinin çizdirilmesi >>x=linspace(0,4*pi,100); >>y=sin(x); >>plot(y) 0 10 20 30 40 50 60 70 80 90 100 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
0≤x≤4π aralığın e-x/3sin(x) fonksiyonunun çizdirilmesi 0 ile 4π aralığında 100 örnekten oluşan x dizisinin oluşturulması X dizisinin sin(.) hesabı e-x/3 ‘in hesabı y ve y1’in çarpımı >>x=linspace(0,4*pi,100); >>y=sin(x); >>y1=exp(-x/3); >>y2=y*y1;
Y1 ve y’nin doğru çarpımı Y2 dizisinin çizdirilmesi >>y2=y.*y1; >>plot(y2) 0 10 20 30 40 50 60 70 80 90 100 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0≤x≤4π aralığın e-x/3sin(x) fonksiyonunun çizdirilmesi
Çizim Özellikleri plot(.) stem(.) Örnek: >>x=linspace(0,4*pi,100); >>y=sin(x); >>plot(y) >>plot(x,y) Örnek: >>stem(y) >>stem(x,y) 0 10 20 30 40 50 60 70 80 90 100 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0 10 20 30 40 50 60 70 80 90 100 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7
Çizim Özellikleri title(.) xlabel(.) ylabel(.) >>title(‘This is the sinus function’) >>xlabel(‘x (secs)’) >>ylabel(‘sin(x)’) 0 10 20 30 40 50 60 70 80 90 100 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 This is the sinus function x (secs) si n( x)
Operatörler (İlişkisel, mantıksal) == Eşit ~= Eşit değil < Küçük > Büyük <= Küçük eşit >= Büyük eşit & And operatörü | Or operatörü
Akış Kontrolü if for while break ….
Kontrol Yapıları If Şart yapısı if (Şart1) Matlab komutları elseif (Şart2) Matlab komutları elseif (Şart3) Matlab komutları else Matlab komutları end Örnekler if ((a>3) & (b==5)) Matlab komutları; end if (a<3) Matlab komutları; elseif (b~=5) Matlab komutları; end if (a<3) Matlab komutları; else Matlab komutları; end
Kontrol yapıları For Döngüsü for i=dizisi Matlab komutları end Örnekler for i=1:100 Matlab komutları; end for j=1:3:200 Matlab komutları; end for m=13:-0.2:-21 Matlab komutları; end for k=[0.1 0.3 -13 12 7 -9.3] Matlab komutları; end
Kontrol Yapıları While Döngüsü while (Şart) Matlab Komutları end Örnek while ((a>3) & (b==5)) Matlab komutları; end
M-file Kullanımı M-file oluşturmak için tıklayın • Uzantı “.m” • Çalıştırmak için fonksiyon veya program içeren text dosyası
M-File Kullanımı Eğer her satır sonunda noktalı Virgül kullanırsanız sonuçlar çalışma esnasında gösterilmez Denem430.m olarak kaydedin
Kullanıcı Tanımlı Fonksiyonların Yazılması Fonksiyonlar giriş ve çıkış parametreleri alarak çalıştırılabilir m-file dosyalarıdır. Yazılan kod MATLAB’a yazılan m-file’ın bir fonksiyon olduğunu söyler. Bu komutu m-file’ın başına yazmalısınız ve m-file dosyanıza fonksiyon adına verdiğiniz isim ile kaydetmelisiniz. function out1=fonksiyon_adi(in1) function out1=fonksiyon_adi(in1,in2,in3) function [out1,out2]=fonksiyon_adi(in1,in2)
Örnekler Fonksiyon yazmak : out=kare (A, ind) Eğer ind 1 ise giriş matrisinin karesini alır Eğer ind 2 ise giriş matrisinin eleman-eleman karesini alır Aynı isim Kullanıcı Tanımlı Fonksiyonların Yazılması >> A=[1 2; 4 5] A = 1 2 4 5 >> Z=kare(A,1) Z = 9 12 24 33 Y=kare(A,2) Y = 1 4 16 25
Diğer bir fonksiyon bir dizi alarak dizinin elemanları toplamı ve çarpmını bulan fonksiyonun yazımıdır. Fonksiyon komut penceresinden veya başka m-file’dan çağırılabilir. Kullanıcı Tanımlı Fonksiyonların Yazılması
Kullanışlı komutlar Çoğu matlab kullanıcısı tarafından en çok kullanılan iki komut: >>help fonksiyonadi >>lookfor Anahtar kelime