DERS 7 : GRAFİK ÇİZME 3 (3D PLOT)
3 boyutlu grafik çizmek için,öncelikle 3 boyutlu grafikler
için matematik bilgimizin olması gerekiyor.Ya da niçin üç-boyutlu grafik
çizdirmemiz gerektiğini bilmemiz gerekiyor.
>>help plot3
Örneğin,x-eksenine açı değerlerini,y-eksenine cos(x)
grafiğini,z-eksenine de sin(x) grafiğini çizelim. Öncelikle y ve z eksenlerini
değerlendirirsek,cos(x) ve sin(x) grafiği iki boyutlu halde bize,çember grafiği
belirtir.x-y-z eksenlerini üç boyutlu halde çizmek için :
plot(x,y,z) ile çizdirilir.
%3D grafik çizimi
%linspace komutu ile
x açı değerinin
%aralığını
belirtiyoruz.
x =
linspace(0,10*pi,1000);
y = cos(x);
z = sin(x);
plot3(x,y,z)
grid
xlabel('açı'),
ylabel('cos(x)') ,zlabel('sin(x)')
title('ASpring')
*** Yukarıdaki grafiği animasyon olarak çizdirmek için comet3(x,y,z)
fonksiyonunu kullanabilirsiniz. Eğer iki boyutlu grafikleri animasyon olarak
çizmek için comet fonksiyonu kullanılabilir.
** üç boyutlu koordinat sisteminde ,grafik çizerken,sağ el
kuralı dikate alınır.
( x = => y = => z )
Yüzey Grafikleri Çizme :
Yüzey çizme işlemi girilen veriler ile oluşturulur.(Surface
plots) Yüzey çizmek için iki farklı fonksiyonu inceleyeceğiz.(mesh plot,surf
plot)
1)Mesh Plot :
Mesh plot çizmek için farklı yöntemler vardır.mxn boyutunda
yani iki boyutlu matris kullanabiliriz.Bu uygulamada,x ve y ekseni değerleri
için mxn boyutundaki matrisi girmedik ancak, x ve y ekseni değerlerinin ikisini
de ayrı olarak ürettik.Ve z ekseni değerleri için aşağıdaki değerleri
gireceğiz.Şimdi z-ekseni değerlerini girelim :
z = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10;
2, 4, 6, 8, 10, 12, 14, 16, 18, 20;
3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
Ardından sıra, yüzeyi çizme işlemine geliyor.
%x ve y değerleri
x = linspace(1,50,10)
y = linspace(500,1000,3)
% z nin değerleri
z = [1, 2, 3, 4, 5, 6, 7,
8, 9, 10;
2, 4, 6, 8, 10, 12, 14,
16, 18, 20;
3, 4, 5, 6, 7, 8, 9, 10,
11, 12];
%yüzey çizme
mesh(z)
xlabel('x-ekseni')
ylabel('y-ekseni')
zlabel('z-ekseni')
grid on
2)Surf Plot :
Surf plot da mesh plot ile benzerdir,ama surf
üç-boyutlu renklendirme yapıyor.Kullanım şekli ise mesh ile aynıdır.
>>help surf
mesh(z) komutu yerine surf(z) yazarsak yüzeyi üç boyutlu
renklendirerek çizecektir.
>>help meshgrid
ÖRNEK 1 : f(x,y) = sin(x)cos(y) ve xÎ[-p , p], yÎ[-p , p]
Bu fonksiyonu 3 boyutlu olarak çiziniz.(meshgrid kullanınız)
»x=-pi:0.1:pi;
»y=-pi:0.1:pi;
»[X,Y]=meshgrid(x,y);
»Z
=sin(X).*cos(Y);
»surf(X,Y,Z)
Matrisleri Görselleştirme ve Colormap :
İlk olarak matris girelim.2x100 boyutunda bir matris aşağıda
girilmiştir.
>>mat = [1:100;1:100];
Ardından imagesc fonksiyonunu kullanırsak
matris değerlerini otomatik olarak renk ile ölçeklendirir.
>>imagesc(mat);
Bir de colorbar fonksiyonunu kullanırsak
renklerin değerini bir ölçek ile gösterir.
>>colorbar
***Farklı renklerdeki colormap komutlarını da
kullanabiliriz.
>>imagesc(mat);
>>colormap(gray)
>>imagesc(mat)
>>colormap(cool)
*** >>help colormap >>help
hot
Daha fazla ölçekledirme için aşağıdaki komutlar da
kullanılabilir.
autumn
bone hot
spring
colorcube hsv
summer
cool pink
winter copper prism
jet flag white
shading
: shading
fonksiyonu ile grafiğin görünüşünde değişiklik yapabilirsiniz.
>>help shading
3 çeşit shading komutu vardır.
»shading faceted
»shading flat
»shading interp
contour :
Bu fonksiyon ile 3-boyutlu
yüzeylerin 2-boyutlu olarak çizilmesini sağlarız.
>>help contour
contour(X,Y,Z)
%x ve y aralığı
tanımladık
x=-pi:0.1:pi;
y=-pi:0.1:pi;
%meshgrid ile x-y
tanımladık
[X,Y]=meshgrid(x,y);
%çizilecek grafik
Z =sin(X).*cos(Y);
%3 boyutlu ve 2
boyutlu çizim
%3 boyutlu
hold on
subplot(2,1,1);
surf(X,Y,Z);
shading interp
hold off
%iki boyutlu
hold on
subplot(2,1,2);
%iki boyut için contour
kullanırız
contour(X,Y,Z);
colorbar
hold off
colormap(cool)
GRAFİKLERİ DÜZENLEME
İlk olarak >>sphere
komutunu giriniz ve karşınıza bir figürde küre çıkacaktır.
Edit è bu
seçenekten sonra, Axes Properties veya Figure Properties seçeneği
ile grafiğinizi düzenleyebilir.Ve grafiğinizin görünüşünü
ayarlayabilir,dödürebilir ve kod girmeden daha fazla komut ekleyebilirsiniz.
Grafik düzenlendiğinde daha anlaşılır grafikler elde
edebiliriz.
Ayrıca Save As à .bmp
veya .jpg olarak kaydedebilirsiniz.
kaynaklar :
MATLAB for Engineers by Holly Moore, Third Edition, and
published by Prentice Hall
MIT OpenCourseWare 6.094 Introduction to MATLAB® January
Bu yorum yazar tarafından silindi.
YanıtlaSilgrafik hesap makinesi
YanıtlaSil