hold, legend, çoklu grafik komutları

Matlab’da Çoklu Grafik Çizimi

Aynı pencerede farklı iki grafiği çizdirmek isteyebiliriz.

Bu bölümde Matlab’da bir pencerede birden fazla grafiği nasıl çizdireceğimizi göreceğiz.

Örnek:

Aynı pencerede hem sin(x) hem de cos(x) grafiğini çizdirelim.

Aşağıdaki kodu yazarız:

x = 0: pi/ 360 : 2*pi; % 0’dan 360’a açı dizisi oluşturduk.
y1 = sin(x);
y2 = cos(x);
plot(x,y1,x,y2)


grid
xlabel(‘açı (rad)’)
title(‘sin(x) ve cos(x) Grafiği’)

Aşağıdaki grafiği elde ederiz:

Görüleceği üzere aynı pencere içinde hem sin(x) hem de cos(x) grafiğini çizdirdik.

Bu grafiklerin hangisinin sin(x) hangisinin cos(x) olacağını nasıl bileceğiz.

Tabiki 0 derecede 1 değerinde olan cos(x) diğeri de sin(x)’dir.

Ancak bu ayrımı yapmak her grafikte bu kadar kolay olmayabilir.

Bu durumda legend komutu işimize yarayacaktır.

Matlab legend komutu

Önceki problemdeki kodu aynen yazacağız. Sonuna sadece legend’li satırı ekleyeceğiz.

x = 0: pi/ 360 : 2*pi; % 0’dan 360’a açı dizisi oluşturduk.
y1 = sin(x);
y2 = cos(x);
plot(x,y1,x,y2);

legend(‘sin(x)’,’cos(x)’)
grid
xlabel(‘açı (rad)’)
title(‘sin(x) ve cos(x) Grafiği’)

Aşağıdaki grafikte legend yardımıyla hangi grafiğin sin(x) hangi grafiğin cos(x) olduğu seçilir.

Yukarıdaki örnekte çizimi tek bir plot komutu kullanarak yaptık.

plot(x,y1,x,y2)

Ancak çizdirilecek çok sayıda grafiğimiz olabilir. Her bir grafiği teker teker ancak yine aynı pencerede çizdirmek isteyebiliriz.

Bu durumda hold komutunu kullanacağız.

Matlab hold komutu

Aynı grafiği tek bir plot komutu değil de 2 adet plot komutu kullanarak çizdireceğiz.

hold komutu mevcut pencerenin kapanmasını engelleyerek yeni gelen grafiğin de aynı pencerede çizilmesini sağlar.

sonuç olarak aynı grafiği elde ederiz.

hold komutunu koda eklenmeseydi ne olacaktı ?

hold komutu koda eklenmeseydi ilk önce ilk plot komutu gerçekleştirilecekti. Yani sinus(x) grafiği çizilecekti. Ancak ikinci plot komutuna sıra geldiğinde bu pencere kapatılacak yeni cos(x) grafiği çizilecekti. Dolayısıyla program tamamlandığında mevcut pencerede sadece son plot komutu (cos(x) grafiği) kalacaktı.

Eğer grafikleri ayrı ayrı pencerelerde çizdirmek istiyorsak, her plot komutundan önce

figure(1), figure(2),…. diye pencereleri isimlendirmek gereklidir.