Matlab’de İki Boyutlu Grafik Çizimi

Bu yazıda sizlere Matlab’de iki boyutlu grafiklerin çizimlerinden bahsedeceğim.

Yaptığımız işlemlerin sonuçlarını hem görebilmek hem de analiz etmek için verileri görselleştirmemiz gerekebilir. Bu gibi durumlarda, Matlab yardımıyla verilerimizi görselleştirebiliriz. Grafik çizimi için ilk olarak plot() komutundan bahsedelim. plot() komutunu kullanabilmek için ilk önce x vektörünü Matlab’de tanımlamış olmamız gerekir. Ardından bu x vektörünün her bir değeri için y değerleri hesaplanmalıdır. Bu işlemlerin ardından x ve y vektörünü plot(x,y) yazarak verileri görselleştirebiliriz. Bu komut yerine iki noktayı doğru olarak birleştiren line() komutunu da kullanabiliriz. Bu komutları kullanarak grafik çizerken grafiğe ait doğrunun özelliklerini belirleyebiliriz. Bu özelliklere kısaca değinelim.

color: Çizginin rengini değiştirmek için kullanılır.

linestyle: Çizginin stilini belirlemek için kullanılan özelliktir.

linewidth: Çizgi kalınlığını belirleyen özelliktir.

Bu özelliklere ek olarak marker adı verilen ve çizginin şeklini belirleyen özellik vardır. Bu özellikler sayesinde grafiğimizi oluşturan çizgiyi aşağıdaki tabloda verilen işaretlerden oluşturabiliriz.

İşaretAçıklama
+Çizgi + işaretinden oluşur.
oÇizgi daire işaretinden oluşur.
*Çizgi yıldız işaretinden oluşur.
.Çizgi nokta işaretinden oluşur.
xÇizgi çarpı işaretinden oluşur.
sÇizgi kare işaretinden oluşur.
dÇizgi elmas işaretinden oluşur.
^Çizgi yukarı gösteren üçgen işaretinden oluşur.
vÇizgi aşağı gösteren üçgen işaretinden oluşur.
>Çizgi sağa doğru üçgen işaretinden oluşur.
<Çizgi sola doğru üçgen işaretinden oluşur.
pÇizgi pentagon yıldız işaretinden oluşur.
hÇizgi hexagon yıldız işaretinden oluşur.
noneİşaretsiz.

Şimdi plot() komutunu ve yukarıdaki özelliklerden bazılarını kullanarak grafik çizdirelim. Örnek olarak 1’den 100’e kadar 0.5 artımla y = x2 + 2x +1 grafiğini çizdirelim.

INPUT:
>>x = 1:0.5:100;
>>y = x.^2 +2.*x + 1;
>>plot(x,y)

OUTPUT:
 Oluşan grafiği matlab üzeriden görebilirsiniz. 

Kodları bu şekilde yazarsak grafiğimiz standart biçimde gözükecektir. Eğer grafiğin özelliklerini değiştirmek istiyorsak, yukarıdaki özellikleri plot() komutunun içerisine yazmamız gerekir. Bu sefer örnek olarak x değerleri 0 ile 10 arasında 1 artımla y = x3 + 5x2 + 6x + 1 fonksiyonu ile verilsin. Grafiğin çizgisinin şekli elmas, kalınlığı 2 ve rengi yeşil olsun. Bu grafiği matlab’de aşağıdaki gibi çizebiliriz.

INPUT:
>>x = 0:1:10;
>>y =2.*x.^3 + 5.*x.^2 + 6.*x + 1;
>>plot(x,y,'dg','linewidth',2)

OUTPUT:
  Oluşan grafiği matlab üzeriden görebilirsiniz.

Bunların haricinde x değerlerine karşılık birden fazla fonksiyon varsa bu fonksiyonları tek bir eksende çizdirebiliriz. Örnek olarak 0<x<10 aralığında x değerleri 0.5 artım ile y1 = 2cosx + 2x ve y2 = sinx +x2 fonksiyonlarının grafiklerini aynı eksende çizdirelim.

INPUT:
>>x = 0 : 0.5 : 10;
>>y1 = 2.*(cos(x)) + 2.*x;
>>y2 = (sin(x)) + x.^2;
>>plot(x,y1,"g+",x,y2,"b*")

OUTPUT:
  Oluşan grafiği matlab üzeriden görebilirsiniz.

Fonksiyonların grafiklerini çizerken x veya y değerlerinden herhangi birinin aralığı çok geniş ise bu değerleri logaritmik artış ile tanımlayabiliriz. Eğer hem x hem de y’nin aralığı geniş ise loglog() komutunu, sadece x’in aralığı çok geniş ise semilogx() komutu, sadece y’nin aralığı x’e göre çok geniş ise semilogy() komutunu kullanarak grafiğimizi çizebiliriz. Bu komutları tek tek örnek ile görelim.

-100<x<100 aralığındaki x değerlerini 0.1 artım ile y = x4 + 3x + 1 fonksiyonunun grafiğini loglog(), semilogx() ve semilogy() komutlarını kullanarak çizdirelim.

INPUT:
>>x = -100:0.1:100; 
>>y = x.^4 + 3.*x + 1;
>>plot(x,y)
>>semilogx(x,y)
>>semilogy(x,y)
>>loglog(x,y)

OUTPUT:
 Oluşan grafiği matlab üzerinden görebilirsiniz. 

Aynı eksen üzerinde iki fonksiyona ait grafikleri üst üste çizdirebilmek için hold fonksiyonunu kullanabiliriz. Böylece iki fonksiyonun grafiklerini karşılaştırabilir ya da analiz edebiliriz. Örnek olarak [0, 4π] aralığında f(x) = tanx ve g(x) = cotx fonksiyonlarının grafiklerini çizdirelim.

INPUT:
>>x = 0: 0.1 : 4*pi; 
>>f = tan(x);
>>g = cot(x);
>>plot(x,f);
>>hold;
>>plot(x,g)

OUTPUT:
Oluşan grafiği matlab üzerinden görebilirsiniz.

Bu şekilde sayısal aralıkları farklı olan iki fonksiyonu aynı eksen üzerinde çizdirdiğimizde bir fonksiyonun değerleri diğer fonksiyonun değerlerinden daha küçük olduğunda tam olarak ayırt edilemeyebilir. Böyle bir durumda plotyy() fonksiyonunu kullanarak fonksiyonların grafiklerini daha ayrıntılı bir şekilde çizdirebiliriz. Örnek olarak [0,6π] aralığında f(x) = 2x2 – 10x + 5 ile g(x) = cos(x/3) fonksiyonlarının grafiklerini aynı eksende çizdirelim.

INPUT:
>>x = 0: 0.1:6*pi;
>>f = 2.*x.^2-10.*x+5; 
>>g = cos(x./3); 
>>plotyy(x,f,x,g)

OUTPUT: 
  Oluşan grafiği matlab üzerinde görebilirsiniz. 

Bu bölümde son olarak polar(t,r) komutundan bahsetmek istiyorum. Bu komut sayesinde kutupsal koordinatları verilen bir fonksiyonun grafiğini çizdirebiliriz. Buradaki t, grafiğe ait noktaya karşılık gelen vektörün Ox ekseniyle yaptığı açıyı, r ise vektörün uzunluğunu ifade eder. Örnek olarak t açısı [0,5π] aralığında iken r = (cos2(t)).sin(t) fonksiyonunun grafiğini çizelim.

INPUT:
>>t = 0: 0.2: 5*pi;
>>r =((cos(t)).^2).*sin(t);
>>polar(t,r)

OUTPUT:
 Oluşan grafiği matlab üzerinden görebilirsiniz.
MTLB2CH9T4Y8H74M05