MATLAB’de
Bilgisayar
Programlama
Dersin Sorumlusu:
Yrd. Doç. Dr. Birol SOYSAL
Sunumları Hazırlayan:
Doç. Dr. Bülent ÇAKMAK
MATLAB’de GRAFİK İŞLEMLERİ
200
MATLAB diğer programlama dillerine nazaran oldukça güçlü bir grafik
araç kutusuna (toolbox)’a sahiptir.
150
MATLAB’de grafik çizebilmenin en kolay yollarından biri plot
komutunu kullanmaktır.
100
Örnek
2
y  x  9 x  20
50
Fonksiyonun
herhangi bir aralıktaki grafiği aşağıda verilen
MATLAB komutlarını icrası ile elde edilebilir
0
x=-10:20;
y=x.^2-9*x-20;
-50
plot(x,y)
-10
-5
0
5
10
15
20
GRAFİK DÜZENLEYEN KOMUTLAR
x 2-9*x-20 fonksiyonun grafigi
200
Bir grafikte aşağıda verilen tanımlamalar mevcut olmalıdır:
Grafiğin başlığı
150
Eksen
takımlarının isimleri
Grafiğe bir isim, başlık vermek için title komutu kullanılır
y ekseni
100
X eksenine bir eksen ismi verilmesi için xlabel
Y eksenine bir eksen ismi verilmesi için ylabel komutu kullanılır
50
Örnek
x=[-10:1:20];
0
y=x.^2-9*x-20;
plot(x,y)
title('x^2-9*x-20
fonksiyonun grafigi');
-50
-10ekseni');-5
0
5
xlabel('x
x ekseni
ylabel('y ekseni');
10
15
20
ÇOKLU GRAFİKLER
8000
MATLAB’de tek bir grafik penceresinde birden fazla grafik
çizdirmek
7000 mümkündür.
Örnek
6000
y ( t )  3t  5 t  8
5000
z ( t )  400 t  5
2
4000
3000
2000
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)
1000
0
-1000
Fonksiyonu ile
0
2
4
6
8
10
12
14
16
18
20
Uygulama
1
0.8 arasındaki açı değerleri için sin(x) ve cos(x) fonksiyonlarını aynı
0 ila 2*pi
grafik penceresinde
çizen bir MATLAB programı yazınız
0.6
0.4
x=0:0.01:2*pi;
0.2
f1=sin(x);
f2=cos(x);
0
plot(x,f1,x,f2)
-0.2
-0.4
veya
-0.6
plot(x,sin(x),x,cos(x))
-0.8
-1
0
1
2
3
4
5
6
7
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.
sinx ve türevinin deðiþimi
1
Örnek
sin(x)
cos(x)
0.8
0.6
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)
Fonksiyonun degisimi
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
0
2
4
6
8
x degisimi
10
12
14
“figure” fonksiyonu ile çoklu grafikler
1
Birden fazla
grafik penceresini açmak için figure(n) komutu kullanılır.
Burada0.8n grafik penceresini belirtmektedir.
Örnek
0.6
0.4
0.2
x=0:pi/30:2*pi;
0
y1=sin(x);
-0.2
y2=cos(x);
figure(1),plot(x,y1,'bo:')
-0.4
figure(2),plot(x,y2,'r*-')
-0.6
-0.8
-1
0
1
2
3
44
55
66
77
“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:
1
0.5
0
-0.5
-1
0
1
0.5
0
-0.5
-1
0
x=0:pi/30:2*pi;
subplot(2,2,1)
f(x)=sin(x)
1
y1=sin(x);
plot(x,y1);grid
0.5
title('f(x)=sin(x)')
0
subplot(2,2,2)
-0.5
y2=cos(x);
plot(x,y2)
-1
2
4
6
8
0
title('f(x)=cos(x)')
subplot(2,2,3)
f(x)=-sin(x)
1
y3=-sin(x);
0.5
plot(x,y3)
title('f(x)=-sin(x)') 0
subplot(2,2,4)
-0.5
y4=-cos(x);
plot(x,y4) ;grid
-1
2
4
6
8
0
title('f(x)=-cos(x)')
f(x)=cos(x)
2
4
6
8
6
8
f(x)=-cos(x)
2
4
“hold” komutu
8
Aynı eksen
takımında birden fazla grafik çizmek için hold komutu kullanılır.
sin(x)
Figure fonksiyonu kullanılmadığı sürece işletilen her bir
plot komutu aynı grafik
7
exp(2*sin(x))
penceresinde işlem görür.
6
Örnek
5
4
x=0:pi/30:2*pi;
3
y1=sin(x);
plot(x,y1,'k*:')
2
hold
1
y2=exp(2*sin(x));
0
plot(x,y2,'ro--')
legend('sin(x)','exp^(2*sin(x))')
-1
0
1
2
3
4
5
6
7
Yarı logaritmik grafik:
semilogy(SNR,BER);grid;
0
10
-1
10
-2
10
-3
BER
10
-4
10
-5
10
-6
10
-7
10
-8
10
-4
-2
0
2
4
6
SNR [dB]
8
10
12
14
16
Download

hafta11