MATLAB ’ de Bilgisayar Programlama Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL

Preview:

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;

Recommended