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