Grafik Çizme 1(Plot)

DERS 5 : GRAFİK ÇİZME 1 (PLOT)

Bu bölümde 2 boyutlu ,3 boyutlu grafik(plot) çizimleri ve 2 boyutlu grafiklerin değişik formlarda çizilmesini inceleyeceğiz.
Geniş tablolara girilen dataları incelemek zordur.Grafikleri kullanarak bilgi üretmek ise,işi daha da kolaylaştırıyor.Ayrıca hataların tespitinde de kullanılabilir.

İKİ BOYUTLU GRAFİK(PLOT) ÇİZİMİ :

En çok kullanılan grafik çizim yöntemidir.MATLAB  x-y plot çizimini,x’e karşılık gelen y değerlerini birleştirerek oluşturur.x ve y bir ölçüm sonucu ya da hesaplanarak elde edilmiş olabilir.Genel olarak,bağımsız bir x değerleri ile ,x’e bağlı y değerlerinin grafiklerinin çizimi yapılır.

Time, s Distance, ft
0          0
2          0.33
4          4.13
6          6.29
8          6.85
10        11.19
12        13.19
14        13.96
16        16.33
18        18.17

Yukarıdaki tabloda belirli t zaman aralıklarında ,her belirli t zamanına karşılık gelen mesafe(distance) verileri vardır.Eğer zaman,mesafe(time,distance) grafiği çizmek istersek;

%önce time(t) değerleri 0'dan 2 artarak 18
t = [0:2:18]';
%mesafe(d) değerlerini girmek durumundayız
d = [0 .33 4.12 6.29 6.85, 11.19, 13.19, 13.96, 16.33,...
18.17]';
plot(t,d)

 

title,label,grid :
Eğer grafiğin daha anlaşılır görünmesi gerekirse,
title : başlık için
label : grafiği etiketlemek için
grid   : grafik zeminini karelere bölmek için kullanılır.

%grafiği çizmek için dosya açılabilir.
%zaman,mesafe(time,distance) grafiği

%önce time(t) değerleri 0'dan 2 artarak 18
t = [0:2:18]';
%mesafe(d) değerlerini girmek durumundayız
d = [0 .33 4.12 6.29 6.85, 11.19, 13.19, 13.96, 16.33,...
18.17]';

% 'r:' şekilde ifade kullanmamız,grafikte renk olarak
%kırmızı(red) ayarlaması ve : ise grafiğin : işareti ile
%çizileceğinin ayarlanmasıdır
plot(t,d,'r:','LineWidth',2)
%LineWidth ise plot için çizgi kalınlığıdır

xlabel(' zaman(s) ')
%aşağıdaki gibi sırasıyla ylabel ve title için yazı boyutu
%ayarlayabilirsiniz.
ylabel(' mesafe ','fontSize',11)
title('mesafe verilerinin grafik çizimi','fontSize',13)

               
Ayrıca grafikleri farlı kaydet(save as) seçeneği ile .jpg , .bmp veya farklı formatta kaydedebilirsiniz.
Eğer aşağıdaki “dock figure” seçeneğine tıklatsanız figürünüz Command Window’a gider ve bazı değişiklikleri daha rahat yapabilirsiniz.



>> xlabel('saat')               Bu komutu girdiğinizde,”zaman(s)” yerine “saat” yazıldığını görürsünüz.
plot       x-y grafik çizimi  plot(x,y)
title       grafiğe başlık ekleme  title('My Graph')
pause   çalışan programı Command Window’a girdi olana kadar durdurur.
figure   figür açar
figure(2)

ÇOKLU GRAFİK ÇİZİMİ :

Öncelikle bir figürde değil de daha fazla figür açmak isterseniz figure komutunu kullanabilirsiniz. Aynı figürde birden çok grafik çizmek istersek hold on ile hold off arasına birden çok grafik çizdirebiliriz.

x = 0:pi/100:2*pi;
y1 = cos(x*4);
plot(x,y1)
y2 = sin(x);
hold on;
plot(x, y2)
hold off

ya da plot(X1, Y1, X2, Y2)  şeklinde çizebiliriz.       >>plot(x, y1, x, y2)
Aşağıdaki kod incelendiğinde ,

X = 0:pi/100:2*pi;
Y1 = cos(X)*2;
Y2 = cos(X)*3;
Y3 = cos(X)*4;
Y4 = cos(X)*5;
plot(X, Y1, X, Y2, X, Y3, X, Y4)

Bu kodda görülüyor ki, aynı figürde Y1,Y2,Y3 ve Y4 çizdirilmiş. Bunun yerine bu Y1,Y2,Y3 ve Y4 değerlerini aynı matris içinde başka bir yere atayıp ,yeni bir grafik çizdirirsek aynı sonucu elde ederiz.

Z = [Y1; Y2; Y3; Y4];
plot(X, Z)


Karmaşık Sayıların Grafikleri :

A dizisi tanımlayalım ve bu dizi karmaşık sayılardan oluşsun,grafik oluşturmak için
>>plot(A)            komutunu girmemiz yeterli olacaktır.Sonuç olarak x eksenine reel kısımları ve y eksenine imajiner kısımları çizeceğiz.A matrisini aşağıdaki gibi tanımlayabiliriz :

A = [0+0i,1+2i, 2+5i, 3+4i]

plot(A,'LineWidth',0.5)
title('komplex sayılardan oluşan dizi ','fontSize',14)
xlabel('Reel kısım','fontSize',12)
ylabel('imajiner kısım','fontSize',12)

Bir de B=sin(A) şeklinde ikinci bir karmaşık sayı tanımlayalım.

B =

        0             3.1658 + 1.9596i  67.4789 -30.8794i   3.8537 -27.0168i


A =

        0             1.0000 + 2.0000i   2.0000 + 5.0000i   3.0000 + 4.0000i

A ve B nin değerleri yukarıdaki gibidir.
plot(A,B)            
komutunu girersek,hem A’nın gerçek ve imajiner,hem de B’ningerçek ve imajiner kısımlarını göstermez.
 x-y plot çizimini hatırlarsak,burada x = = > A ve y = = > B yerine geçmektedir.
Sonuç olarak,grafik olarak bize x-ekseninde A dizisinin gerçek kısmını ve y-ekseninde B dizisinin gerçek kısmını çizer.

Ve aşağıdaki gibi uyarı verir.
Warning: Imaginary parts of complex X and/or Y arguments ignored
  :   x ve/veya y bileşenin imajiner kısımları ihmal edildi!!!



ÖRNEK 1: A = [0+0j 0+6j 4+4j 2+7j 9+11j] veriliyor.                                                                                           x-ekseni reel(gerçek) kısım ve, y-ekseni imajiner kısım olmak üzere, A dizisini çiziniz.



Grafik Görünümü :

Grafiğin görünümünü değiştirebilirsiniz ve grafiğiniz daha kolay anlaşılır hale gelebilir.Ayrıca renk ayarı ile istediğiniz görünüme sahip grafikler elde edebilirsiniz.

>>help plot

Line Type          Indicator      Type                     Indicator                                     Color       Indicator
Solid                      -              point                      .                                              blue            b
Dotted                    :              circle                    o                                              green          g
dash-dot                 -.            x-mark                   x                                              red              r
dashed                  - -            plus                        +                                             cyan           c
star                        *                                              magenta     m
square                    s                                              yellow         y
diamond                  d                                              black          k
triangle down           v                                              white          w
triangle up               ^
triangle left              6
triangle right            7
pentagram              p
hexagram               h

Aşağıda y verileri var ve x,y grafiği çizilmek isteniyor.

>>x = [1:10];
>>y = [58.5, 63.8, 64.2, 67.3, 71.5, 88.3, 90.1, 90.6,...
89.5,90.4];
>> plot(x,y,':ok')

















plot(x,y) ile grafiği çizdik.Ardından “ : ” grafiğin nasıl çizileceğini,” o “, her noktanın olduğu yerlerin o (circle = = > çember ) ile belirtilmesini ve ” k “  ise, grafiğin renginin siyah olduğunu gösterir.

ÖRNEK 2 : y1 = sin(x) ve y2 = 2cos(x) grafiklerini istediğiniz bir görünümde ayarlayarak çiziniz.
Grafiğe title,ve label de ekleyin.

= = > legend(' y1 = sin(x) ',' y2 = 2cos(x) ')



Eksenleri Ölçeklendirme(axis) ,ayrıca legend ve text komutu :

axis :    >>help axis

MATLAB x ve y eksenlerinin sınırlarını otomatik olarak ayarlar.Bizim istediğimiz takdirde,bu sınırlar değişebilir.Yani,axis komutu eksenleri kontrol etmek amacıyla kullanılır.

axis([-2, 2, 0, 4])               Yandaki komut girildiğinde ,x eksenini -2 den 2 ye
                                                                                                     y eksenini 0 dan 4 e ayarlar.


x = -2*pi:pi/10:2*pi;
y1 = sin(x);
y2 = cos(x);
hold on
plot(x,y1,'-b')
plot(x,y2,'r')
grid on
xlabel('x')
ylabel('y1 ve y2')
title('sin(x) ve 2cos(x) grafikleri','fontSize',14)
%axis tight olarak ayarlanırsa sınırları tam dolduracak
%şekilde ayarlar
%biz x değerini -2pi ile 2pi arasında yani,yaklaşık
%-6 ile +6 arasında aldık.y nin aralığı ise,[-1 1]
axis tight
hold off

figure (2)
plot(x,y2,'r')

Yukarıdaki kod, grafiklere bakılarak da incelenirse,farklı bir figür açıp ikinci grafiği tekrar çizdiğimizde, axis tight komutu sadece hold on ve hold off komutları arasında çalışacağından figure(2) den sonra çizilen grafik için MATLAB otomatik ölçeklendirme yapar.

 

 

legend :    >>help legend

Özellikle çoklu grafik olduğunda grafiklerin ayırt edilmesinde kullanılır.                                           Grafiğin çizildiği özelliklere göre etiketler. Çizgi tipi, renk özelliklerinden ayırır.
Örneğin,x = -2 ile 2 arasında,sin(x) ve cos(x) grafiği çizip,legend kullanarak grafikleri ayırt etmek için;

x = -5:.1:5;    y1 = sin(x);    y2 = cos(x);
plot(x,y1,'-b')
hold on
plot(x,y2,'r+')
axis ([-3 3 -1.1 1.1])
grid on
legend('sin(x)','cos(x)')

Burada legend komutu için,önce hangi grafiği çizdirdiysek,önce onu yazıyoruz ,sonra da diğerini.Yani, daha fazla grafik çizseydik,legend komutu için sırasıyla isimlendirirdik.
Bizim örneğimizde;ilk grafik sin(x),diğeri de cos(x) grafiğidir.

text :    >>help text

text(X,Y,Z)
burada                 X : x ekseni, Y : y ekseni ve Z : string ifadesi oluyor. Yazdığımız ifadeX,Y noktasından başlıyor.

x = -5:.1:5;    y1 = sin(x);    y2 = cos(x);
plot(x,y1,'-b')
hold on
plot(x,y2,'r+')
axis ([-3 3 -1.1 1.1])
grid on
legend('sin(x)','cos(x)')
text(-2.8,0.7,' sin ve cos arasında faz farkı var! ')

Örnekte,text -2.8,0.7 noktasından başladı ve string ifadesi yazdırıldı.

NOT : Grafiği çizdikten sonra,başlıklarda(title) , (label)lerde ,Grek alfabesi harfleri kullanılabilir.Bunun için (\) backslash harfin önüne gereklidir.

title('\alpha \beta \gamma')                 abg

title('x ^2')                                         x2

title('x_5')                                          x5

Eğer kuvvet ifadesi olarak birden çok karakter yazdırmak istersek ,
title('k^{-1}')                                     k-1

title({'First line of text'; 'Second line of text'})   ;başlıkta alt satıra geçmek isterseniz.

ÖRNEK 3 : Paralel RLC devresinde verilen voltaj,grafiğini çiziniz.
(JOHN O. ATTIA, ELECTRONICS and CIRCUIT ANALYSIS using MATLAB)


                               V(t) = 5e-2tsin(1000t)



ÖRNEK 4 : Çemberin denklemi aşağıdaki gibidir.

r2 = x2 + y2                ve
x = r  cos(t) + Merkez_x
y = r  sin(t) + Merkez_y


 




ÖRNEK 5 : Aşağıdaki grafiği çiziniz.
5 tane çember çizimi ve hepsi farklı kalınlık ve renklerde,merkezleri ise hepsinin (0,0)

 
ÖRNEK 6 : R = 4, L = 1:3 H, Voltaj kaynağına bağlı direnç ve bobinden oluşan devre (RL),ve voltaj kaynağı,dikdörtgen darbe(rectangular pulse) grafikten de görüneceği üzere de 0.5 saniye boyunca devreye uygulanmıştır.

 

Bu eşitliklere göre akımın, zamana göre grafiğini çiziniz.
( The University of Edinburgh, School of Engineering , 2010-2014, an interactive introduction to MATLAB)


Ek kaynak :

MATLAB for Engineers by Holly Moore, Third Edition, and published by Prentice Hall

1 yorum:

  1. İlk defa görenler için kafa karıştırıcı olsa da dikkatli çalışılınca rahatlıkla kavranacak bir konu ile devam ediyoruz. TYT Matematik karmaşık sayılar konu anlatımı, sınavda iyi sonuçlar almayı düşünenler için kesinlikle takip edilmesi ve üstünde durulması gereken bir ders. Alan Yeterlilik Testi’nde de kendine yer bulan ve henüz müfredatta hangi sınava dahil edileceği konusunda netlik bulunmayan...
    tyt matematik karmaşık sayılar

    YanıtlaSil