6. ÇİZİM İŞLEMLERİ3 6.1. 2 Boyutlu Eğri Çizimi x ve y vektörleri ayni boyutta ise bu vektörleri ekrana çizdirmek için plot(x,y) komutu kullanılır. A =[ 7 2 5 ]; B =[ 5 4 8 ]; plot(A,B); İstenildigi takdirde çizilen eğri düz çizgi olarak değil de farklı karakterlerle çizdirilebilir. Bunlar için ise yukarida gösterilen nokta (.), artı (+), yıldız (*), yuvarlak (o) ve x karakterleri kullanılabilir. Bu karakterleri plot() komutu içerisinde şu şekilde kullanılabilir: plot(A,B,’+’); Çizilen egrinin rengi de yukarida gösterilen kisaltmalarla değistirilebilir. Burada ‘r’ kırmızı renk (red), ‘g’ yeşil renk (green), ‘b’ mavi renk (blue), ‘w’ beyaz renk (white), ‘c’ camgöbeği (cyan) ve ‘i’ ise (invisible) olarak kısaltımıştir. x=0:0.1:3; y=x.^2; plot(x,y,’r+’); grid on; % Grafik arka yüzünün ölçekli olarak gösterilmesini sağlar. 3 http://web.itu.edu.tr/kents/matlab.pdf 30 Birden fazla eğriyi üstüste çizdirmek için hold on komutu kullanılabilir. Çizim işlemleri bittikten sonra tekrar hold off komutu ile sadece bir pencereye bir grafik çizidirilmesi sağlanabilir. t=0:0.5:10; x=sin(t); y=cos(t); plot(t,x,'r+'); hold on; plot(t,y,'b*'); xlabel('saniye'); % x ekseninin başlığı ylabel('x=sint(t) ve y=cos(t)'); % y ekseninin başlığı hold off; Bir pencerede birden fazla grafiği yanyana veya altalta farklı figürler oalrak görmek için subplot komutu kullanılır. subplot(M,N,P); M: Grafik penceresindeki satır sayısı, N: Grafik penceresindeki sütun sayısı, P: Grafik penceresinde hangi grafik olduğunu ifade eder. x=0:pi/100:2*pi; y1=sin(x); y2=cos(x); y3=exp(-x); subplot(1,3,1);plot(x,y1);title('sin(x)'); subplot(1,3,2);plot(x,y2);title('cos(x)'); subplot(1,3,3);plot(x,y3);title('exp(x)'); 31 6.2. 3B Eğri Çizimi plot3(x,y,z) komutu ile aynı boyuttaki x, y, z vektörlerinin 3 boyutlu çizgisel grafiği oluşturulur. Aşağıda heliks çizimi programı verilmiştir: t=0.1:0.01:20*pi; x=cos(t); y=sin(t); z=t.^3; plot3(x,y,z);title('helix'); grid on; 3B Yüzey Çizimi4 6.3. Matlab x-y düzlemindeki ızgaralı bir dikdörtgen yapı üzerindeki noktaların z koordinatlarının yüzeyini tanımlar. Birbirine bitişik noktaların düz çizgilerle birleştirilmesi sonucunda ise bir yüzey grafiği oluşur. Matlab farklı biçimde yüzey grafikleri oluşturabilir. Bunlardan ağ eğrileri yalnızca tanımlanan noktaları birleştiren çizgiler yoluyla renklendirilen ızgara tel çerçeve biçimi yüzeylerdir. Yüzey eğrileri hem bağlantı yüzeyini hem de yüzeyi renkli gösterir. İlk olarak meshgrid fonksiyonu ile ortam gridlenerek tanımlanabilir. Dikdörtgen [0,4]×[0,3] parçalara bölünürse ve genişliği 1yüksekliği 0.5 olan grid aralığını tanımlayan x ve y vektörlerinin tanımlanması gerek. x=0:4; y=0:0.5:3; [X,Y]=meshgrid(x,y); 4 https://ekblc.files.wordpress.com/2013/11/matlab-2.pdf 32 Böylece 35 noktadan oluşan 7×5 matris elde edilir. X matrisi x koordinatlarını y matrisi y koordinatlarını içerir. f(x,y)=3x-2y fonksiyonunu çizelim. z koordinatlarını oluşturan Z Z=3*X-2*Y; olarak tanımlansın. Sonuç olarak mesh fonksiyonu tanımlı yüzeyin çizimi için kullanılır mesh(X,Y,Z); title('f(x,y)=3x-2y yüzeyi') Aynı örnekte mesh fonksiyonu yerine surf komutu kullanılırsa 3B noktalar ağ şeklinde değil de yüzey şeklinde gösterilecektir. surf(X,Y,Z); title('f(x,y)=3x-2y yüzeyi') Örnek: f(x,y)=x2y-2y fonksiyonunu [-2,2]×[-1,1] tanımlı aralıkta gösterelim. Kenar uzunluğu 0.1 olan karelerden oluşan bir grid tanımlanması gerek. [X,Y]=meshgrid(-2:0.1:2,-1:.1:1); z yüzeyinin tanımı: Z=(X.^2).*Y-2*Y; Yüzeyin çizilmesi: surf(X,Y,Z) title('f(x,y)=x^2y-2y Yüzeyi') 33 Örnek: Yarıçapı r olan bir küre R3 ile merkezlenmiş olsun. Ve genelleştirilmiş ifadesi ve tanım aralığı, r(a,b)=(rsin(a)cos(b), rsin(a)sin(b), rcos(a)) 0 < f < pi, 0 < b <2pi. Bu birim küreyi çizdirelim. İlk olarak a ve b meshgrid fonksiyonunun parametreleri olacaktır. [a,b]=meshgrid(0:pi/20:pi, 0:pi/10:2*pi); %r = 1 için. X=sin(a).*cos(b); Y=sin(a).*sin(b); Z=cos(a); % Sonuçta küreye yakın bir sonuç elde edilir. surf(X,Y,Z) title('Birim küre'); 6.4. Konturlama ( Eğri Seviye Değerleri ) Seviye eğrilerinin gösterilmesi için contour komutu kullanılmaktadır. Örnek: f(x,y)=x2-y2 fonksiyonunun seviye eğrilerini çizdiriniz. [X,Y]=meshgrid(-1:.1:1); Z=X.^2-Y.^2; contour(X,Y,Z); title(' f fonksiyonunun seviye eğrileri'); 34 Konturlarin değerlerini elde etmek için; [C,h]=contour(X,Y,Z); clabel(C,h); Grafik ve Konturlarin beraber çizdirilmesi için surfc komutu kullanılır. surfc(X,Y,Z) title('f(x,y) fonksiyonu ve kontur çizgileri'); 35 3 boyutlu kontür çizmek için de contour3 komutu kullanılır. contour3(X,Y,Z) title('f(x,y) 3B kontur çizgileri') Örnek: f(x,y)=xexp(-x2-y2) fonksiyonunun tüm farklı 3B grafiklerini bir pencerede farklı grafiklerde gösterilecek şekilde ayarlayınız. [X,Y]=meshgrid(-2:0.1:2); Z=X.*exp(-X.^2-Y.^2); subplot(2,3,1);plot3(X,Y,Z);title('plot3 komutu'); subplot(2,3,2);mesh(X,Y,Z);title('mesh komutu'); subplot(2,3,3);surf(X,Y,Z);title('surf komutu'); subplot(2,3,4);surfc(X,Y,Z);title('surf3 komutu'); subplot(2,3,5);contour(X,Y,Z);title('contour komutu'); subplot(2,3,6);contour3(X,Y,Z);title('contour3 komutu'); 36
© Copyright 2024 Paperzz