Bilgisayar Programlama MATLAB’de Bilgisayar Programlama Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK
Örnek MATLAB’de GRAFİK İŞLEMLERİ MATLAB diğer programlama dillerine nazaran oldukça güçlü bir grafik araç kutusuna (toolbox)’a sahiptir. MATLAB’de grafik çizebilmenin en kolay yollarından biri plot komutunu kullanmaktır. Örnek Fonksiyonun herhangi bir aralıktaki grafiği aşağıda verilen MATLAB komutlarını icrası ile elde edilebilir x=-10:20; y=x.^2-9*x-20; plot(x,y)
Örnek GRAFİK DÜZENLEYEN KOMUTLAR Bir grafikte aşağıda verilen tanımlamalar mevcut olmalıdır: Grafiğin başlığı Eksen takımlarının isimleri Grafiğe bir isim, başlık vermek için title komutu kullanılır X eksenine bir eksen ismi verilmesi için xlabel Y eksenine bir eksen ismi verilmesi için ylabel komutu kullanılır Örnek x=[-10:1:20]; y=x.^2-9*x-20; plot(x,y) title('x^2-9*x-20 fonksiyonun grafigi'); xlabel('x ekseni'); ylabel('y ekseni');
Örnek ÇOKLU GRAFİKLER t=[0:1:20]; y=t.^3-5*t+8; z=400*t-5; MATLAB’de tek bir grafik penceresinde birden fazla grafik çizdirmek mümkündür. Örnek Fonksiyonu ile Fonksiyonun t’ye göre değişimlerini aynı grafik üzerinde gösterebilmek için aşağıda verilen MATLAB programı icra edilir: t=[0:1:20]; y=t.^3-5*t+8; z=400*t-5; plot(t,y,t,z)
Uygulama x=0:0.01:2*pi; f1=sin(x); f2=cos(x); plot(x,f1,x,f2) veya 0 ila 2*pi arasındaki açı değerleri için sin(x) ve cos(x) fonksiyonlarını aynı grafik penceresinde çizen bir MATLAB programı yazınız x=0:0.01:2*pi; f1=sin(x); f2=cos(x); plot(x,f1,x,f2) veya plot(x,sin(x),x,cos(x))
GRAFİKLERDE ÇEŞİTLİ DÜZENLEMELER Elde edilen grafiklerde aşağıda belirtilen düzenlemeler yapılabilir: Çizgi rengi ve tipini değiştirmek x değişkeni ile fonksiyon değerinin kesiştiği noktaların işaretlemek Grafiklere açıklama eklemek plot(x,y,’r-’) şeklindeki bir komut ile x ve y vektörlerinin grafik çizgi renginin kırmızı ve düz bir çizgi olması sağlanmıştır
Renk İşaretleme Biçimi Çizgi biçimi Y: sarı (yellow) . : nokta - : sürekli çizgi M:mor (magenta) o : yuvarlak : : nokta nokta B:mavi (blue) x : x işareti -. : kesikli çizgi ve nokta R:kırmızı (red) + :artı işareti -- : kesikli çizgi G:yeşil (green) * :yıldız işareti W:beyaz (white) S : kare D: elmas V : aşağı üçgen ^ : yukarı üçgen <: sola üçgen >: sağa üçgen P: beşgen
Örnek x=[0:pi/10:4*pi]; y1=sin(x); y2=cos(x); “legend” fonksiyonu ile hangi eğrinin hangi fonksiyona ait olduğu belirtilir. Örnek x=[0:pi/10:4*pi]; y1=sin(x); y2=cos(x); plot(x,y1,'b.:',x,y2,'b<-') xlabel('x degisimi'); ylabel('Fonksiyonun degisimi'); title('sinx ve türevinin değişimi') legend('sin(x)','cos(x)',-1)
Örnek x=0:pi/30:2*pi; y1=sin(x); y2=cos(x); figure(1),plot(x,y1,'bo:') “figure” fonksiyonu ile çoklu grafikler Birden fazla grafik penceresini açmak için figure(n) komutu kullanılır. Burada n grafik penceresini belirtmektedir. Örnek x=0:pi/30:2*pi; y1=sin(x); y2=cos(x); figure(1),plot(x,y1,'bo:') figure(2),plot(x,y2,'r*-')
“subplot” fonksiyonu ile alt grafikler Aynı grafik penceresinde birden fazla grafik çizmek için subplot (a,b,c) fonksiyonu icra edilir. Burada a: grafik penceresinin satır sayısı b: grafik penceresinin sütün sayısı c: alt pencere numarası
Örnek: x=0:pi/30:2*pi; subplot(2,2,1) y1=sin(x); plot(x,y1);grid title('f(x)=sin(x)') subplot(2,2,2) y2=cos(x); plot(x,y2) title('f(x)=cos(x)') subplot(2,2,3) y3=-sin(x); plot(x,y3) title('f(x)=-sin(x)') subplot(2,2,4) y4=-cos(x); plot(x,y4) ;grid title('f(x)=-cos(x)')
Örnek “hold” komutu x=0:pi/30:2*pi; y1=sin(x); plot(x,y1,'k*:') hold Aynı eksen takımında birden fazla grafik çizmek için hold komutu kullanılır. Figure fonksiyonu kullanılmadığı sürece işletilen her bir plot komutu aynı grafik penceresinde işlem görür. Örnek x=0:pi/30:2*pi; y1=sin(x); plot(x,y1,'k*:') hold y2=exp(2*sin(x)); plot(x,y2,'ro--') legend('sin(x)','exp^(2*sin(x))')
Yarı logaritmik grafik: semilogy(SNR,BER);grid;