grafik İşlemlerimuhserv.atauni.edu.tr/makine/ikaymaz/matlab/ders_notlari... · 2011-12-14 ·...
TRANSCRIPT
Matlab Ders Notları
MATLAB’de GRAFİK İŞLEMLERİ
MATLAB diğer programlama dillerine nazaran oldukça güçlü bir
grafik araçkutusuna (toolbox)’a sahip olmasıdır.
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=1:20;
y=x.^2-9*x-20;
plot(x,y)
Matlab Ders Notları
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=[1: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');
Matlab Ders Notları
ÇOKLU GRAFİKLER
MATLAB’de tek bir grafik penceresinde birden fazla graifk
çizdirmek mümkündür.
Örnek 853)( 2 ttty Fonksiyonu ile türevi olan
56)( tty 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_1=t.^3-5*t+8;
y_2=6*t-5;
plot(t,y_1,t,y_2)
Matlab Ders Notları
uygulama
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
Matlab Ders Notları
x = -pi:.1:pi;
y = sin(x);
plot(x,y)
set(gca,'XTick',-pi:pi/2:pi)
set(gca,'XTickLabel',{'-pi','-pi/2','0','pi/2','pi'})
Eksen işaretlerinin ayarlanması
-pi -pi/2 0 pi/2 pi-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Matlab Ders Notları
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şitiği noktaların
işaretlemek
Grafiklere açıklama eklemek
Plot(x,y,’r-’) şeklindeki bir komut ile x ve ye vektörlerinin grafik
çizgi renginin kırmızı ve düz bir çizgi olması sağlanmıştır
Matlab Ders Notları
Renk İşaretleme Biçimi Çizgi biçimi
Y: sarı . : nokta - : sürekli çizgi
M:magna o : yuvarlak : : nokta nokta
B:mavi x : x işareti -. : kesikli çizgi ve
nokta
R:kırmızı + :artı işareti -- : kesikli çizgi
G:yeşil * :yıldız işareti
W:beyaz S : kare
D: elmas
V : aşağı üçgen
^ : yukarı üçgen
<: sola üçgen
>: sağa üçgen
P: beşgen
Matlab Ders Notları
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)
Matlab Ders Notları
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*-')
Matlab Ders Notları
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ı
Matlab Ders Notları
Örnek subplot(2,2,1)
x=0:pi/30:2*pi;
y1=sin(x);
plot(x,y1)
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=tan(x);
plot(x,y3)
title('f(x)=tan(x)')
subplot(2,2,4)
y4=cot(x);
plot(x,y4)
title('f(x)=cot(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
1
2x 10
16 f(x)=tan(x)
0 2 4 6 8-10
-5
0
5x 10
15 f(x)=cot(x)
Matlab Ders Notları
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 herbir
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)','\bf{e}^{2*sin(x)}')
Matlab Ders Notları
Data Grafikleri
Pasta Grafikleri: 2D
x = [1 3 0.5 2.5 2];
explode = [0 1 0 0 0];
pie(x,explode)
colormap jet
11%
33%
6%
28%
22%
Explode ifadesi ile ilgili oran
pasta grafikten ayrılır.
11%
33%
6%
28%
22%
Matlab Ders Notları
Data Grafikleri
Pasta Grafikleri: 3D
x = [1 3 0.5 2.5 2]
explode = [0 1 0 0 0]
pie3(x,explode)
colormap hsv
28%
6%
22%
11%
33%
Matlab Ders Notları
Üç Boyutlu Grafikler
Çubuk Grafikleri: 3D
Y = [10 5 6 18 4 5];
X= [25 35 30 45 50 55]
Z=[X;Y]
bar3(Z,0.5)
1
2
3
4
5
6
1
2
0
20
40
60
Matlab Ders Notları
Üç Boyutlu Grafikler
Eş yükselti eğrileri
[X,Y] = meshgrid(-2:.2:2,-2:.2:3);
Z = X.*exp(-X.^2-Y.^2);
[C,h] = contour(X,Y,Z);
clabel(C,h)
colormap cool
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5
3
-0.4
-0.3
-0.3
-0.2
-0.2
-0.2
-0.1
-0.1
-0.1
-0.1
00
0
0.1
0.1
0.1
0.1
0.20
.2
0.2
0.3
0.3
0.4
Matlab Ders Notları
Üç Boyutlu Grafikler
[X,Y] = meshgrid([-2:.25:2]);
Z = X.*exp(-X.^2-Y.^2);
contour3(X,Y,Z,30)
surface(X,Y,Z,'EdgeColor',[.8 .8 .8],'FaceColor','none')
grid off
view(-15,25)
colormap cool
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
-2
0
2
-0.4
-0.2
0
0.2
0.4
Matlab Ders Notları
-2
-1
0
1
2
-2
-1
0
1
2-4
-2
0
2
4
Üç Boyutlu Grafikler
[X,Y] = meshgrid([-2:.25:2]);
Z = (X.^2-Y.^2);
meshc(X,Y,Z)
colormap cool
Matlab Ders Notları
Uygulamalar
Uygulama 1: Yanda verilen dataları bir dosyadan okuyup
grafiğini çizen bir MATLAB programı yazınız
x y
1 10
3 13
5 15
8 16
9 18
Uygulama 2: Aşağıda verilen fonksiyonu x:-4:4, y=-4:4
aralığında 3D olarak çiziniz.
)*cos(33 yxyxz
Uygulama 3: Aşağıda verilen fonksiyonu x:-4:4, y=-4:4 aralığında 3D ve
eş yükselti eğrilerini bir grafik penceresinde birlikte gösteriniz (subplot).
22 yxz