grafik İşlemlerimuhserv.atauni.edu.tr/makine/ikaymaz/matlab/ders_notlari... · 2011-12-14 ·...

20
MATLAB Ders Notları Doç. Dr. İrfan KAYMAZ Bilgisayar Programlama MATLAB Grafik İşlemleri

Upload: others

Post on 26-Dec-2019

20 views

Category:

Documents


0 download

TRANSCRIPT

MATLAB Ders Notları

Doç. Dr. İrfan KAYMAZ

Bilgisayar Programlama

MATLAB

Grafik İşlemleri

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