İKİ BOYUTLU GRAFİKLER
Matlabda en basit grafik çizdirme komutu, plot komutudur. Plot komutu, iki boyutlu doğru (çizgi) grafiği çizdirir. Örneğin X ile Y, iki aynı boyutlu vektör ve X’deki sayılar x-ekseni (absis) üzerinde Y’deki sayılar y-ekseni (ordinat) üzerinde olsun. Plot komutu X in her noktası için karşılık gelen Y değerlerini çizdirir. Diğer bir deyişle, ( X(1),Y(1)), (X(2),Y(2)), (X(3),Y(3) ) vb noktalar çizdirilecek ve daha sonra da tüm bu noktalar birleştirilecektir. Plot komutunun nasıl bir işlem yaptığını bir örnek üzerinde görelim. Önce iki basit vektör oluşturalım:
» x_nok = [1 2 3 4 5];
» y_nok = [25 0 20 5 15];
Daha sonra bu iki vektörü çizdirmek için komut yoluna şu komutu yazalım:
» plot(x_nok, y_nok)
xlabel (‘text’) Grafiğin x-eksenini adlandirir. Genelde text, data adı ve/veya birimi olur.
ylabel (‘text’) Grafiğin y-eksenini adlandirir. Genelde text, data adı ve/veya birimi olur.
title (‘text’) Grafiği adlandırır yani grafiğe başlık verir.
Bazen özellikle çizgi grafiklerde grafiğin daha anlaşılır olması için diğer bir deyişle okunabilirliliğini artırmak ve görünümünü daha belirgin yapmak için klavuz çizgileri (yani alt zemin ızgarası) eklemek gerekebilir. Bu işlem için komut satırına
» grid on (veya sadece grid yazılır)
yazılır. Bu durumdaki grafik Şekil-4’de görülmektedir. Eklenmiş klavuz çizgilerini kaldırmak için ise » grid off komutu kullanılır.
ÇİZGİ ve İŞARETLEME SEÇENEKLERİ
Çizimin görünümünü değiştirmek isterseniz Matlab’de bir çok çeşitli seçenekler vardır. Çizimin rengini, işaretleyici sembolu ve çizgi tipini kendiniz belirleyebilirsiniz. Bu işlemin genel komutu
plot(x,y,’s’)
şeklindedir. Burada x ve y veri vektörlerinden sonra gelen üçüncü argüman olan kesme işaretleri arasında yer alan s, Tablo-I’deki üç sütundan (renk, işaretleyici sembolu, çizgi tipi) herhangi biri ya da hepsinin bir kombinazsyonu olabilir. Bu üçüncü argümanın kullanımı sadece isteğe bağlıdır. Ancak tek grafiğikte verilerin dağılımı daha iyi anlamak ve belirli bir peryotta olayın oluşumu kontrol etmek istediğinizde işaretleyiciler iyi bir seçenek olabilir. Ayrıca birden fazla grafiği aynı düzlemde göstermek istediğinizde de bazı s kombinasyonlarını kullanmak zorunlu olabilir.
Marker symbol (Isaretleyici sembolu)
|
Indicator
|
Point (Nokta)
|
.
|
Plus (Arti)
|
+
|
Star (Yildiz)
|
*
|
Circle (Daire)
|
o
|
x-mark (x isareti)
|
x
|
Square (Kare)
|
s
|
Diamond (Elmas)
|
d
|
triangle (down) (Asagi bakan ucgen)
|
v
|
triangle (up) (Yukari bakan ucgen)
|
^
|
triangle (left) (Sola bakan ucgen)
|
<
|
triangle (right) (saga bakan ucgen)
|
>
|
Pentagram (Besgen)
|
p
|
Hexagram (Altigen)
|
h
|
Color (Renk)
|
Indicator
|
Blue (Mavi)
|
b
|
Green (Yesil)
|
g
|
Red (Kirmizi)
|
r
|
Cyan (Turkuaz)
|
c
|
Magenta (Mor)
|
m
|
Yellow (sari)
|
y
|
Black (Siyah)
|
k
|
White (Beyaz)
|
w
|
Line style (Cizgi tipi)
|
Indicator
|
Solid (Duz cizgi)
|
-
|
Dashed (Kesikli cizgi)
|
--
|
Dotted (Noktali cizgi)
|
:
|
Dash-dot (Kesikli-niktalicizgi)
|
-.
|
GRAFİĞE YENİ GRAFİK EKLEMEK
Bazı zamanlar varolan çizilmiş bir grafiğin üzerine başka bir grafik eklemek isteyebilirsiniz. Üst üste birden fazla plot komutunu kullanmak bir öncekini iptal ettiğinden bunu önlemek için hold komutu kullanılır. Hold komutunun genel kullanım formatı aşağıdaki gibidir.
plot(...) % İlk grafiği üretir
hold on % Grafiği dondurur
plot(...) % Yeni bir grafik ekler
.
hold on % Grafiği dondurur
plot(...) % Yeni bir grafik ekler
.
hold off % Dondurulan grafiği (grafikleri) serbest bırakır
Grafik başlıkları, eksen adlandırmaları ve göstergeler için hold on komutunu kullanmaya gerek yoktur. Hold on komutu bir önceki grafiği dondurur ve aynı düzlemde diğer grafiklerin çizlmesine izin verir ve plot komutu ile çizilecek olan ikinci grafik bir önceki geçerli eksenleri kullanır. Ancak eğer çizilecek ikinci grafiğin eksen scalası daha geniş ise ona göre otomatik olarak ayarlama yapar.
GRAFİĞE GÖSTERGE EKLEME (LEGEND KOMUTU) İŞLEMLERİ
Gösterge eklemek için kullanılan komut legend komutudur. Genel format dizimi:
legend(string1,string2,string3, ... , Pos)
şeklindedir.
legend(string1, string2, string3, ... ) komut dizimi gösterge kutusunu, varsayılan olarak grafiğin sağ üst köşesine yerleştirir.
Genel komut dizimindeki Pos (Position demektir) ifadesi, gösterge kutusunu belirlenmiş bir konuma yerleştirir. Pos ifadesinin alacağı değerler şunlardır:
0 = Otomatik “en iyi” yer (Bu durumda gösterge kutusu verileri kapatmayacak olası en iyi yere yerleştirilir)
1 = Sağ üst köşe (varsayılan değer)
2 = Sol üst köşe
3 = Sol alt köşe
4 = Sol sağ köşe
-1 = Grafiğin sağına yerleştirir
Bunların dışında gösterge kutusunun üzerinde iken fare işaretcisinin sol tuşuna basarak ki bu durumda dört yönlü bir ok çıkar- elle istediğiniz yere taşıyabilir. Ayrıca gösterge kutusunu çift tıklayarak etiket düzenlemesi de yapabilirsiniz. legend off: komutu ise gösterge kutusunu yerleştirilen yerden kaldırır.
Örnek:
t = 0:pi/100:2*pi;
y1 = sin(t);
y2 = sin(t-0.25);
y3 = sin(t+0.25);
plot(t,y1,t,y2,t,y3)
xlabel('t');
title('Ötelenmis Sinüs Fonksiyonlari');
legend('sin(t)','sin(t-0.25)','sin(t+0.25)',0)
Aynı Düzlemde Birden Fazla Bağımsız Grafik Çizdirmek
Aynı düzlem üzerinde ve aynı eksen takımını kullanarak tek bir grafik penceresinde birden fazla ilişkiyi (grafiği) grup halinde üzerinde göstermek için subplot komutu kullanılır. Genel formati:
subplot(m,n,p)
seklindedir. Burada m satır, n sütun sayısını gösterir ve m*n tane matris düzeninde grafik çizilebilir. Bu komut dikdörtgen şeklinde m*n grafik alanı oluşturur. p yani index 1 ile m*n arasında olmalıdır. p, satırda soldan sağa doğruı sütunda yukarıdan aşağı doğru belirleme yapar yani grafikler bu sıraya göre yerleştirilir.
Örnek:
x_deg=[-10:.05:10];
dogru=5.*x_deg;
parabol=x_deg.^2;
ustel=exp(x_deg);
mutlak_deger =abs(x_deg);
subplot(2,2,1);plot(x_deg, dogru);title('Dogru Grafigi');
subplot(2,2,2);plot(x_deg, parabol);title('Parabol Grafigi');
subplot(2,2,3);plot(x_deg, ustel);title('Üstel Grafigi');
subplot(2,2,4);plot(x_deg, mutlak_deger);title('Mutlak Deger Grafigi');
figure KOMUTU
figure(n) n=1,2,3,...n
şeklinde komut ile iki (veya daha cok) n tane ayrı grafiği her biri ayrı pencerede olmak üzere çizdirebilirsiniz. Ayrıca her bir grafik birbirinden bağımsız olduğundan her bir grafiğin x degerlerini vb özelliklerini de değiştirebilirsiniz.
Örnek:
>> figure(1)
>> x=-pi:pi/10:pi;
>> y1=cos(x);
>> plot(x,y1,'r+');
>> xlabel('x');
>> ylabel('y');
>> title('y =cosx Grafigi');
>> figure(2)
>> y2=sin(x);
>> plot(x,y2,'b--');
>> xlabel('x');
>> ylabel('y');
>> title('y =sinx Grafigi');
pause KOMUTU
pause komutu programınızı geçici olarak dondurmanızı sağlar. Devam etmek için klavyeden herhangi bir tuşa basabilirsiniz yada berlitilen sure sonunda otomatik olarak devam kendiliginden devam eder. pause(n) komutu n saniye kadar gecici durdurma yapar
Örnek:
>> x=-pi:pi/10:pi;
>> y1=cos(x);
>> plot(x,y1);
>> xlabel('x');ylabel('y');
>> title('y =cosx Grafigi');
>> pause(3) %Sadece pause ile deneyiniz ve herhengi bir klavye tusuna basarak devam ediniz
>> y2=cos(2*x);
>> plot(x,y2);
>> xlabel('x');ylabel('y');
>> title('y =cos2x Grafigi');
axis ([xmin xmax ymin ymax])
axis komutu ile varolan grafik üzerinde hem x-ekseninin hem de y-ekseninin geçerli sınırlarını değiştirebilir ve istediğiniz bir eksen ölçeği belirleyebilirsiniz.
>> axis([0 10 –1 1]);
komutu x-eksenini 0 ile 10 arasında y-eksenini -1 ile 1 arasında ölçeklendirir.
axis equal: Eksenlerin çentik artımlarını her iki eksen üzerinde eşit olacak şekilde ayaralar.
axis square: Dikdörtgen bir grafik alanı yerine kare görünümlü bir grafik kutusu yapar.
axis normal: Orijinal eksen takımına döndürür.
GRAFİKLERE SEMBOL ve YUNAN KARAKTERLERİNİ EKLEMEK
Mühendislik ve bilimsel grafiklerde xlabel, ylabel ve title adlandırmalarında ya da grafik üzerinde legend, text ve gtext kullanımlarında hatta eksen centiklerinin adlandirmasina kadar ,,, gibi Yunan alfabesi (greek veya latin karakterler) harflerini veya km2, , , gibi sembolleri eklemek gerekebilir. Bunların Matlab kod sistemindeki kullanımları Tablo’da verilmiştir. Matlab de bu işlemler text strings (yazı dizgeleri) olarak adlandırılır.
Yunan Karakterleri ve Semboller
Krakter
|
Sembol
|
Krakter
|
Sembol
|
Krakter
|
Symbol
|
\alpha
|
|
\upsilon
|
|
\sim
|
~
|
\beta
|
|
\phi
|
|
\leq
|
|
\gamma
|
|
\chi
|
|
\infty
|
|
\delta
|
|
\psi
|
|
\clubsuit
|
|
\epsilon
|
|
\omega
|
|
\diamondsuit
|
|
\zeta
|
|
\Gamma
|
|
\heartsuit
|
|
\eta
|
|
\Delta
|
|
\spadesuit
|
|
\theta
|
|
\Theta
|
|
\leftrightarrow
|
|
\vartheta
|
|
\Lambda
|
|
\leftarrow
|
|
\iota
|
|
\Xi
|
|
\uparrow
|
|
\kappa
|
|
\Pi
|
|
\rightarrow
|
|
\lambda
|
|
\Sigma
|
|
\downarrow
|
|
\mu
|
µ
|
\Upsilon
|
|
\circ
|
º
|
\nu
|
|
\Phi
|
|
\pm
|
±
|
\xi
|
|
\Psi
|
|
\geq
|
|
\pi
|
|
\Omega
|
|
\propto
|
|
\rho
|
|
\forall
|
|
\partial
|
|
\sigma
|
|
\exists
|
|
\bullet
|
•
|
\varsigma
|
|
\ni
|
|
\div
|
÷
|
\tau
|
|
\cong
|
|
\neq
|
|
\equiv
|
|
\approx
|
|
\aleph
|
|
\Im
|
|
\Re
|
|
\wp
|
|
\otimes
|
|
\oplus
|
|
\oslash
|
|
\cap
|
|
\cup
|
|
\supseteq
|
|
\supset
|
|
\subseteq
|
|
\subset
|
|
\int
|
|
\in
|
|
\o
|
|
\rfloor
|
|
\lceil
|
|
\nabla
|
|
\lfloor
|
|
\cdot
|
·
|
\ldots
|
...
|
\perp
|
|
\neg
|
¬
|
\prime
|
´
|
\wedge
|
|
\times
|
x
|
\0
|
|
\rceil
|
|
\surd
|
|
\mid
|
|
|
\vee
|
|
\varpi
|
|
\copyright
|
©
|
\langle
|
|
\rangle
|
|
|
|
Tablo’da verilen tüm karakterler ayrıca aşağıdaki özellikler (ki Matlab dilinde stream modifier (özel değiştiriciler) olarak adlandırılır) ile beraber kullanılabilir:
-
\bf{} - Koyu yazıtipi (bold font )
-
\it{} - İtalik yazıtipi (italics font)
-
\sl{} - yazıtipi (oblique font, nadiren kullanılır)
-
\rm - Normal yazıtipine dönüş
-
\füntname{fontname} – Kullanılacak yazıtipi (font) ailesinin adını bülirler
-
\fontsize{fontsize} – FontUnits olarak yani punto olarak yazıtipi boyutunu belirler.
-
_{...}- Parantez içindeki karakterler ya da yazı altindis olarak gösterilir.
-
^{...}- Parantez içindeki karakterler ya da yazı üstindis olarak gösterilir.
Tablo’da verilen yunan karakterlerini ve sembollerini üç şekilde ifade edebiliriz1:
Eşitlik : =3 için ‘\beta=3’ (equal)
Üst indis : 3 için ‘\beta^3’ (subscript)
Alt indis : 3 için ‘\beta_3’ (superscript)
Ayrıca bu gösterim mantığı m3 veya K12 gibi normal yazı işlemleri için de geçerlidir.
Alt indis veya üst indislerde birden fazla karakter kullanılacak ise bu durumda { } şeklindeki parantez kullanılmalıdır.
x ekseninde "-o1 ışıldamasına göre yarılanma değerleri " görünmesini istersek
>> xlabel ('-\gamma{_0^1} ışıldamasına göre yarılanma değerleri ')
komutu kullanılır.
y ekseninde "Hız katsayısı: Ko=10-12 " görünmesini istersek
>> ylabel ('Hız katsayısı: K_o=10^{-12}')
komutu kullanılır.
LOGARİTMİK GRAFİKLER
Komut x-eksen Ölçeği y-eksen Ölçeği Grafik tipi
loglog (x,y) logarithmic logarithmic log(x) karşı log(y)
semilogy(x,y) linear logarithmic log(x) karşı y
semilogx(x,y) logarithmic linear x karşı log(y)
Logaritmik grafikler genel olarak çok buyuk veya çok degerli verileri anlasilabilir bir olcege uyarlar veya lineer olmayan verilere uygun bir çizim zemini sağlar.
Örnek:
n = [ 3 5 9 17 33 65 ]';
sn = [ 2.57e-1 6.46e-2 1.51e-2 3.96e-3 9.78e-4 2.45e-4 ]' ;
loglog( n, sn, 'x') % log ölçeği: Logaritmik koordinatlar
xlabel('n (dk)');ylabel('s_n tanecik sayisi ');title('Bir maddenin tanecik ayrisim egrisi ')
İKİ Y-EKSENLİ GRAFİK ÇİZMEK
Bazi durumlarda verileri y-ekseninin hem sol hem de sağ tarafında olceklemek gerekebilir. Bu işlem için plotyy komutu kullanılır. Genel formati:
plotyy(x1,y1,x2,y2)
şeklinde olan bu komut ile X1’e karşı Y1 grafiğini y-ekseninin sol tarafına, X2’ye karşı Y2 grafiğini y-ekseninin sağ tarafına çizilir.
ezplot ve fplot komutu kullanımı
ezplot ve fplot komutlarının genel formatı
ezplot (‘fun’, xmin, xmax, ymin, ymax) veya ezplot(‘fun’, [xmin,xmax,ymin,ymax])
ezplot (‘fun’, xmin, xmax, ymin, ymax) veya fplot (‘fun’, [xmin,xmax,ymin,ymax])
şeklindedir. Burada fun, çizdirilecek fonksiyonu yani daha doğrusu karakter dizgesini temsil eder. xmin ve xmax, fonksiyonun x ekseninde; ymin ve ymax, fonksiyonun y ekseninde çizim aralığını belirler. Yukarıda komut formlarına göre ezplot('tan(sin(x))-sin(tan(x))') veya ezplot tan(sin(x))-sin(tan(x)) komutlarının her ikiside doğrudur. Ancak fonksiyonun önünde sabit bir değer varsa veya x değerleri için özel bir sınır belirtilecek ise bu durumda 2. form kullanılmalıdır.
Örnek: y=sin(x)/(1+x^2) fonksiyonunun grafiğini çizelim.
>>ezplot( 'sin(x)/(1+x^2)' ) veya >>ezplot sin(x)/(1+x^2)
>> fplot( 'sin(x)/(1+x^2)' , [0 5])
diğer bir örnek olarak
>> fplot('[ cos(x), 1-x^2/2, 1-x^2/2+x^4/24]', [-pi,pi])
|