15.04.2015 Views

Matlab_15Nisan

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

15<br />

Nisan<br />

2015<br />

MATLAB`DA 3 BOYUTLU GRAFİKLER<br />

<strong>Matlab</strong>`da üç boyutlu grafikler çizmek için birçok fonksiyon vardır. Bu fonksiyonlardan bazılarını<br />

öğreneceğiz.<br />

PLOT3 FONKSİYONU<br />

Uzayda (x,y,z) koordinatları ile belirli vektörün grafiğini çizer. plot fonksiyonuna benzer şekilde<br />

kullanılır. Yine 2 boyutlu grafiklerde verilen çizgi özellikleri geçerlidir.<br />

ÖRNEK: (-5,7,9) noktasının grafiğini çiziniz.<br />

clc;<br />

clear;<br />

plot3(-5,7,9)<br />

clc;<br />

clear;<br />

plot3(-5,7,9)<br />

box on<br />

ÖRNEK: x değerleri 1 den 10 a kadar 1 er artışla verilsin. Y değerleri 5 den 50 ye kadar 5 er artan bir dizi, z<br />

değerleri ise x dizisinin elemanlarının 2 katından y dizisinin elemanlarının 3 katının çıkartılmasıyla oluşsun. Buna<br />

göre (x,y,z) üç boyutlu grafiğini çiziniz.<br />

clc;<br />

clear;<br />

x=1:1:10<br />

y=5:5:50<br />

z=(x*2)-(y*3)<br />

plot3(x,y,z)<br />

box on<br />

1 | K O D Y A


clc;<br />

clear;<br />

x=1:1:10<br />

y=5:5:50<br />

z=(x*2)-(y*3)<br />

plot3(x,y,z,'--sm')<br />

box on<br />

grid on<br />

ÖRNEK: Açı ölçüleri [0,10π] aralığında 0.1 artış ile elde edilen değerleri x dizisine, bu değerlerin sinüslerini y<br />

dizisine, kosinüslerini de z dizisine atayarak 3 boyutlu görüntüyü çiziniz.<br />

15<br />

Nisan<br />

2015<br />

clc;<br />

clear;<br />

x=0:0.1:10*pi<br />

y=sin(x)<br />

z=cos(x)<br />

plot3(x,y,z)<br />

box on<br />

grid on<br />

YÜZEY GRAFİKLERİ<br />

3 boyutlu uzayda, örneğin xy düzleminde belirli bir dikdörtgensel bölgenin yatay ve düşey çizgilerle<br />

daha küçük dikdörtgensel bölgelere ayrıldığını varsayalım. Bu çizgilerin kesim noktaları 3 boyutlu yüzey<br />

grafiklerinde gerekli olacaktır. Bu koordinatları tutmak için meshgrid() fonksiyonu kullanılır.<br />

Bunun için ilk olarak tanımlanmak istenilen bölgenin x koordinatları ve y koordinatları kullanılarak<br />

[X,Y]=meshgrid(x,y) komutunu uygularız ve ilgili bölgenin koordinatlarını X ve Y dizilerine atamış oluruz. Daha<br />

sonra X ve Y dizilerine bağlı bir Z fonksiyonu için (Z=f(X,Y)) surf(Z) ile 3 boyutlu yüzey grafiği, surface(Z) ile<br />

bölgenin 2 boyutlu grafiği, mesh(Z) ile yüzeyin ağ grafiği ve contour(Z) ile seviye grafiği çizilebilir.<br />

ÖRNEK: xy düzleminde yatay olarak [0,10] bölgesinin 0.1 artışla x dizisine ve düşey olarak [0,8] bölgesini 0.2<br />

artış ile y dizisine atayalım. Daha sonra [X,Y] koordinat matrisini oluşturarak.<br />

a) Z=X+Y matrisine karşılık gelen fonksiyonun<br />

i. İki boyutlu grafiğini (düzlem grafiğini)<br />

ii. Üç boyutlu yüzey grafiğini<br />

iii. Yüzey ağ grafiğini<br />

iv. Seviye grafiğini<br />

2 | K O D Y A


clc;<br />

x=0:0.1:10<br />

y=0:0.2:8<br />

[X,Y]=meshgrid(x,y)<br />

Z=X+Y;<br />

%i.<br />

surface(Z)<br />

15<br />

Nisan<br />

2015<br />

x=0:0.1:10<br />

y=0:0.2:8<br />

[X,Y]=meshgrid(x,y)<br />

Z=X+Y;<br />

%i.<br />

surface(Z)<br />

colormap bone<br />

x=0:0.1:10<br />

y=0:0.2:8<br />

[X,Y]=meshgrid(x,y)<br />

Z=X+Y;<br />

%ii.<br />

surf(Z)<br />

colormap bone<br />

clc;<br />

x=0:0.1:10<br />

y=0:0.2:8<br />

[X,Y]=meshgrid(x,y)<br />

Z=X+Y;<br />

%iii<br />

mesh(Z)<br />

colormap bone<br />

3 | K O D Y A


clc;<br />

x=0:0.1:10<br />

y=0:0.2:8<br />

[X,Y]=meshgrid(x,y)<br />

Z=X+Y;<br />

%iv<br />

contour(Z)<br />

colormap bone<br />

15<br />

Nisan<br />

2015<br />

clc;<br />

x=0:0.1:5<br />

y=0:0.2:4<br />

[X,Y]=meshgrid(x,y)<br />

z=X.^2+Y.^2<br />

subplot(2,2,1)<br />

surf(Z)<br />

subplot(2,2,2)<br />

surface(Z)<br />

subplot(2,2,3)<br />

mesh(Z)<br />

subplot(2,2,4)<br />

contour(Z)<br />

colormap summer<br />

ÖRNEK(c): Bir önceki örneğin Z=(sin(x/2)+cos(y/3) fonksiyonu ile yapımı..<br />

clc;<br />

x=0:0.1:5<br />

y=0:0.2:4<br />

[X,Y]=meshgrid(x,y)<br />

Z=sin(X/2)+cos(Y/3)<br />

subplot(2,2,1)<br />

surf(Z)<br />

subplot(2,2,2)<br />

surface(Z)<br />

4 | K O D Y A


subplot(2,2,3)<br />

mesh(Z)<br />

subplot(2,2,4)<br />

contour(Z)<br />

colormap summer<br />

x ve y koordinatlarını kullanarak n x n tipinde bir kare matris üreten peaks(n) fonksiyonu yüzey<br />

grafiklerinde sıklıkla kullanılır.<br />

15<br />

Nisan<br />

2015<br />

Temel Kullanım<br />

clc;<br />

clear;<br />

A=peaks(40)<br />

surf(A)<br />

clc;<br />

clear;<br />

A=peaks(40)<br />

mesh(A)<br />

clc;<br />

clear;<br />

A=peaks(40)<br />

contour(A)<br />

Bu grafiklerden farklı olarak seviye grafiği için contourf() ve contour3() fonksiyonları kullanılabilir.<br />

Bunlar sırasıyla renk dolgulu ve üç boyutlu seviye grafikleri çizmek için kullanılır.<br />

clc;<br />

clear;<br />

A=peaks(40)<br />

contourf(A)<br />

5 | K O D Y A


15<br />

Nisan<br />

2015<br />

clc;<br />

clear;<br />

A=peaks(40)<br />

contour3(A)<br />

Daha da farklı olarak surfc() fonksiyonu yüzey grafiği ile birlikte seviye grafiğini, meshc() fonksiyonu ağ<br />

grafiği ile birlikte seviye grafiğini ve meshz() fonksiyonu ağ grafiği ile birlikte yüzeyin yükselti çizgilerini verir.<br />

clc;<br />

clear;<br />

x=0:0.1:5<br />

y=0:0.2:4<br />

[X,Y]=meshgrid(x,y)<br />

Z=sin(X/2)+cos(Y/3)<br />

subplot(1,3,1)<br />

surfc(Z)<br />

subplot(1,3,2)<br />

meshc(Z)<br />

subplot(1,3,3)<br />

meshz(Z)<br />

6 | K O D Y A

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!