Upload
guido
View
83
Download
8
Embed Size (px)
DESCRIPTION
MATLAB ’ de Bilgisayar Programlama Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK. MATLAB’de GRAFİK İŞLEMLERİ. MATLAB diğer programlama dillerine nazaran oldukça güçlü bir grafik araç kutusuna (toolbox)’a sahiptir. - PowerPoint PPT Presentation
Citation preview
MATLAB’de
Bilgisayar ProgramlamaDersin Sorumlusu:
Yrd. Doç. Dr. Birol SOYSALSunumları Hazırlayan:
Doç. Dr. Bülent ÇAKMAK
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 2092 xxy
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)-10 -5 0 5 10 15 20-50
0
50
100
150
200
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
Örnekx=[-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');
-10 -5 0 5 10 15 20-50
0
50
100
150
200x2-9*x-20 fonksiyonun grafigi
x ekseni
y ek
seni
ÇOKLU GRAFİKLER
MATLAB’de tek bir grafik penceresinde birden fazla grafik çizdirmek mümkündür.
Örnek 853)( 2 ttty Fonksiyonu ile
5400)( ttz 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)
0 2 4 6 8 10 12 14 16 18 20-1000
0
1000
2000
3000
4000
5000
6000
7000
8000
Uygulama0 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))
0 1 2 3 4 5 6 7-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
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
“legend” fonksiyonu ile hangi eğrinin hangi fonksiyona ait olduğu belirtilir.
Örnekx=[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)
0 2 4 6 8 10 12 14-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
x degisimi
Fon
ksiy
onun
deg
isim
i
sinx ve türevinin deðiþimi
sin(x)
cos(x)
“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*-')
0 1 2 3 4 5 6 7-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
0 1 2 3 4 5 6 7-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
“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);gridtitle('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) ;gridtitle('f(x)=-cos(x)')
0 2 4 6 8-1
-0.5
0
0.5
1f(x)=sin(x)
0 2 4 6 8-1
-0.5
0
0.5
1f(x)=cos(x)
0 2 4 6 8-1
-0.5
0
0.5
1f(x)=-sin(x)
0 2 4 6 8-1
-0.5
0
0.5
1f(x)=-cos(x)
“hold” komutu
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.
Örnekx=0:pi/30:2*pi;y1=sin(x);plot(x,y1,'k*:')holdy2=exp(2*sin(x));plot(x,y2,'ro--')legend('sin(x)','exp^(2*sin(x))')
0 1 2 3 4 5 6 7-1
0
1
2
3
4
5
6
7
8
sin(x)
exp(2*sin(x))
-4 -2 0 2 4 6 8 10 12 14 1610
-8
10-7
10-6
10-5
10-4
10-3
10-2
10-1
100
SNR [dB]
BE
R
Yarı logaritmik grafik:
semilogy(SNR,BER);grid;