» x_nok=[1 2 3 4 5] ;» y_nok=[25 0 20 5 15] ;» plot(x_nok, y_nok)» xlabel ('Zaman (dk)'); ylabel ('Hiz (km/sa)')» title ('Bir Aracin Hiz-Zaman Degisimi')» grid Bu komut satırlarını bir program dosyası olarak da düzenleyebilirsiniz. Bu şekilde bir düzenleme yapmak istediğiniz de daha kolay işlem yapabilirsiniz. x=-5:0.1:5; % x=[-5:.1:5] veya x=(-5:.1:5); şeklinde de olabilir. y=x.^ 2; % y değerleri vektörü plot(x,y) xlabel ('x-ekseni'), ylabel ('y-ekseni') title ('y=x^2 Parabol Grafigi') grid on
y x = 1+ x Örnek-6.5: 2 10 aralığında çiziniz (Şekil-6.17). x = (-10:.1:10); y = x./(1+x.^2); plot(x,y) fonksiyonun grafiğini 0.1 artımla -10 x Örnek-6.7: y = sin(x) fonksiyonunun grafiğini [0,2π] aralığında π/50 artımla çiziniz. t = 0:pi/50:2*pi; y = sin(t); plot(t,y)
grid 6.1.9. Çizgi ve Đşaretleme Seçenekleri Çizimin görünümünü değiştirmek isterseniz Matlab de birçok seçenek vardır; rengini, işaretleyici sembolü ve çizgi türünü kendiniz belirleyebilirsiniz. Bu işlemin genel yazım biçimi, plot(x,y,'s') şeklindedir. Burada x ve y veri vektörlerinden sonra gelen üçüncü argüman olan tek tırnak işaretleri arasında yer alan s, Tablo-6.1. deki üç sütundan (renk, işaretleyici simgesi, çizgi türü) herhangi biri ya da hepsinin bir kombinasyonu olabilir. Bu üçüncü argümanın kullanımı sadece isteğe bağlıdır. Ancak tek grafikte verilerin dağılımı daha iyi anlamak ve belirli bir periyotta 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. Tablo-6.1. Grafik gösterim seçenekleri Renk İndikatör Çizgi türü (Line style) İndikatör Blue (Mavi) b Solid (Düz çizgi) - Green (Yeşil) g Dashed (Kesikli çizgi) -- Red (Kırmızı) r Dotted (Noktalı çizgi) : Cyan (Turkuaz) Magenta (Mor) Yellow (Sarı) Black (Siyah) c m y k Dash-dot (Kesikli-noktalı çizgi) -.
White (Beyaz) w Marker symbol (İşaretleyici sembolü) İndikatör Point (Nokta). Plus (Artı) + Star (Yıldız) * Circle (Daire) x-mark (x-işareti) Square (Kare) Diamond (Elmas) triangle (down) (aşağı bakan üçgen) triangle (up) (yukarı bakan üçgen) triangle (left) (sola bakan üçgen) < triangle (right) (sağa bakan üçgen) > Pentagram (Beşgen) Hexagram (Altıgen) Örnek- 6.11: Gürültü eklenmiş y=5xe -3x grafiği x = 0:0.01:2; % x-vektörünü üretir gurultu = 0.02*randn(size(x)); % Rasgele gurultu üretir y = 5*x.*exp(-3*x) + gurultu; % Đlgili fonksiyona gürültü ekler plot(x,y,'m-*'); % Mor renkli,yıldız sembollü grafik çizer title('y = 5xexp(-3x) + gürültü'); o x s d v ^ p h
Örnek- 6.14: t nin bir fonksiyonu olarak aşağıdaki fonksiyon kümesindeki eğrileri çiziniz. clear all;clc,clf t = 0:pi/100:2*pi; y1 = sin(t); y2 = sin(t-0.25); y3 = sin(t 0.5); plot(t,y1,t,y2,t,y3)
Örnek- 6.20: 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)
Örnek- 6.22: clear all;clc,clf x=0:.1:2; y=exp(x); plot(x,y); title('üstel fonksiyon') text(1.2,3.1,'y=exp(x)') Şekil-6.41. Örnek-6.22 nin sonuç grafiği Örnek-6.25: Aşağıdaki fonksiyon kümesi sırasıyla Figure 1, Figure 2 ve Figure 3 adlı üç ayrı grafik penceresi oluşturur (Şekil-6.42.a, b, c). Çizilen 3 ayrı grafik penceresi üst üste gelir ve en son çizilen grafik penceresi en üstte görünür. 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') figure(3) x=-2*pi:pi/10:2*pi; y3=sin(x)+cos(x); plot(x,y3,'k:') xlabel('x');ylabel('y') title('y=sinx+cosx Grafigi') a) cosx b) sinx c) sinx + cosx Örnek- 6.27: clear all,clc,clf x_deg=[-10:0.01:10]; parabol=x_deg.^2; mutlak_deg=abs(x_deg); Şekil-6.43. Örnek-6.25 in grafikleri t_deg=[-2:0.05:2];
ustel=exp(t_deg); teta=-pi:pi/20:pi; trig=sin(teta.^3); subplot(2,2,1);plot(x_deg,parabol);title('parab ol Grafigi'); subplot(2,2,2);plot(x_deg,mutlak_deg);title('mu tlak Deger Grafigi'); subplot(2,2,3);plot(t_deg,ustel);title('üstel Grafigi'); subplot(2,2,4);plot(teta,trig);title('trigonome trik Grafik'); Örnek- 6.28: subplot(3,1,1) t = 0:0.001:0.02; y = 10*sin(2*pi*50*t); plot(t,y) title('temel Bilesen') subplot(3,1,2) z = 3*sin(2*pi*150*t);
plot(t,z) title('üçüncü harmonik') w = y + z; subplot(3,1,3) plot(t,w) title('temel+üçüncü harmonik toplami') 6.1.18. Grafiklere Simgesel Karakterler Eklemek Mühendislik ve bilimsel grafiklerde xlabel, ylabel ve title adlandırmalarında ya da grafik üzerinde legend, text ve gtext kullanımlarında α,β,ω,λ gibi karakterler veya km 2,,, gibi simgeler eklenmesi gerekebilir. Bunların Matlab kod sistemindeki kullanımları Tablo-6.2. de verilmiştir. Matlab de bu işlemler text strings (metin dizgeleri) olarak adlandırılır. Tablo-6.2. Simgesel Karakterler * Karakter \alpha Simg e Karakter Simge Karakter Simge \upsil on \beta \phi \leq \gamma \chi \infty \sim ~ \delta \psi \clubsuit \epsilo \omega \diamondsu * Bu gösterimler Latex adı verilen bilimsel yazı yazım kılavuzuna dayanmaktadır.
n it \zeta \Gamma \heartsuit \eta \Delta \spadesuit \theta \varthe ta \Theta \Lambd a \leftright arrow \leftarrow \iota \Xi \uparrow \kappa \Pi \rightarro w \lambda \Sigma \downarrow \mu µ \Upsil on \circ º \nu \Phi \pm ± \xi \Psi \geq \pi \Omega \propto \rho \sigma \varsig ma \foral l \exist s \partial \bullet \ni \div \tau \cong \neq \equiv \appro x \aleph \Im \Re \wp \otimes \oplus \oslash \cap \cup \supseteq \supset \subse teq \int \in \o \subset \rfloor \lceil \nabla \lfloor \cdot \ldots...
\perp \neg \prime \wedge \times x \0 \rceil \surd \mid \vee \varpi \copyright \langle \rangl e Tablo-6.2. de listelenen karakterler aşağıdaki özelliklerle de birlikte kullanılabilir: \bf{} - Koyu yazı türü (bold font ) \it{} - İtalik yazı türü (italic font) \sl{} - Yazı türü (oblique font, nadiren kullanılır) \rm - Normal yazı türüne dönüş \fontname{fontname} Kullanılacak yazı türü (font) ailesinin adını belirler. \fontsize{fontsize} FontUnits olarak yani punto olarak yazı türü boyutunu belirler. _{...} - Parantez içerisindeki karakterler ya da yazı alt-indis olarak gösterilir. ^{...} - Parantez içerisindeki karakterler ya da yazı üst-indis olarak gösterilir. Tablo-6.2. de verilen simgesel karakterleri üç şekilde ifade edebiliriz: Eşitlik : β=3 için \beta=3 (equal) Üst indis : β 3 için \beta^3 (superscript) Alt indis : β 3 için \beta_3 (subscript) Matlab Katarı (String) Görüntü Karşılığı \tau_{m}-\omega_{n} Grafiği \theta, 0\circ ile 90\circ arasındadir. τ m -ω n Grafigi θ, 0 o ile 90 o arasındadir. \bf{z}_\it{bara} Z bara Not: \ _ { } ^ gibi özel karakterleri grafiklerde göstermek isterseniz \ karakterini kullanmadan yapabilirsiniz. Grafik ekranında simgesel karakterler Yukarıda eksen adlandırmaları ve başlıkta yaptığımız bu işlemi, aynı zamanda grafik çizdirdikten sonra grafik alanında (text, gtext ve legend ile) da uygulayabilirsiniz.
Örnek-6.33: clear all,clc,clf A=0.25; alfa=0.01; beta=0.5; t=1:10:1000; y=a*exp(-alfa*t).*sin(beta*t); plot(t,y) title('{\itae}^{-\alpha\itt}sin\beta{\itt} \alpha<<\beta') xlabel('zaman [\musn]') ylabel('genlik [A_{max}]') sinx y = Örnek-6.39: 2 fonksiyonunun grafiğini çizelim. 1 + x
» ezplot('sin(x)/(1+x^2)') v eya» ezplot sin(x)/(1+x^2) 2 1 Örnek-6.41: f(x) = x - 3 fonksiyonunun grafiğini x: [ 3, 3] aralığında çiziniz. x» ezplot('x^2-1/x^3', [-3,3]) Şekil-6.62a. Örnek-6.41 grafiği Yukarıda ezplot için verilen uygulama örneklerini fplot ile çizmeye çalışınız. Örnek-6.46:» fplot('[x, x^2, x^3, x^4, x^5]', [-1,1])
Şekil-6.67. Örnek-6.46 grafiği Örnek-6.47:» fplot('[cos(x), 1-x^2/2, 1-x^2/2+x^4/24]', [-pi,pi]) Örnek-6.48: Şekil-6.68. Örnek-6.47 grafiği» fplot('[sin(x),cos(x),tan(x),cot(x)]',2*pi*[-1 1-1 1])
Grafik Çizgi ve İşaretleyici Özelliklerinin Özelleştirilmesi Matlab in bize kontrol imkanı verdiği seçenekler aşağıda açıklanmıştır: Özellik Adı: Açıklaması: LineWidth Veri noktaları arasındaki çizginin genişliğini (kalınlığını) belirler. Herhangi bir sayı (0.4 1.2 3 6.5 ) olabilir. LineStyle Veri noktaları arasındaki çizginin tipini [{-} -- : -. none] belirler. { } arasındaki değer varsayılan değerdir. Color Veri noktaları arasındaki çizginin rengini standart renklerde veya RGB formatında belirler. Marker Her bir data noktasındaki işaretleyicinin tipini [ + o *. x square diamond v ^ > < pentagram hexagram {none} ] belirler. { } arasındaki değer varsayılan değerdir. MarkerSize Her bir veri noktasındaki işaretleyicinin boyutunu belirler. MarkerEdgeColor İçi doldurulabilir işaretleyicilerin (circle, square, diamond, pentagram, hexagram ve diğer dört triangle) dış kenar rengini belirler. MarkerFaceColor İçi doldurulabilir işaretleyicilerin (circle, square, diamond, pentagram, hexagram, ve diğer dört triangle) yüzey rengini belirler. Bu komutlardan görüleceği gibi LineWidth, LineStyle, Color grafik çizgisinin özelliklerini; Marker, MarkerSize, MarkerEdgeColor, MarkerFaceColor ise işaretleyicinin özelliklerini belirler (Tablo-6.1. Çizgi ve İşaretleyiciler). Bu özellikler plot fonksiyonunda veri değişken adlarından (x, y veya x_nok,y_nok vb) sonra veya set ile beraber aşağıdaki şekilde belirtilir: veya plot(x,y, PropertyName, Value1, PropertyName2, Value2,...) set(handle, PropertyName1, Value1, PropertyName2, Value2,...); Örnek-6.52: Önce Matlab ın varsayılan ayarları ile bir grafik çizelim: figure(1) x = -pi:pi/10:pi; y = tan(sin(x)) - sin(tan(x)); plot(x,y, '--rs')
Şekil-6.83. Örnek-6.52 nin grafiği Şimdi bu grafik üzerinde plot ve set fonksiyonlarını kullanarak değişiklikler yapalım. plot fonksiyonu: veya figure(2) x = -pi:pi/10:pi; y = tan(sin(x)) - sin(tan(x)); plot(x,y,'--rs','linewidth',2,... 'MarkerEdgeColor','k',... 'MarkerFaceColor','g',... 'MarkerSize',10) plot(x,y, 'LineStyle','--', 'LineWidth',2, 'Color', 'r',... Marker','square',... 'MarkerEdgeColor','k',... 'MarkerFaceColor','g',... 'MarkerSize',10)
set fonksiyonu: figure(3) x = -pi:pi/10:pi; y = tan(sin(x)) - sin(tan(x)); h1=plot(x,y); set(h1, 'LineStyle','--', 'LineWidth', 2, 'Color', 'r',... 'Marker', 'square', 'MarkerEdgeColor', 'k', 'MarkerFaceColor','g', 'MarkerSize',10) Not: Yukarıda verilen örnekte kullanılan h1 handle i için» Set(h1) de kullanılırsa bu kez ilk kullandığımız set değişkenlerinden farklı bir değişken listesi çıkar; değişkenlerin değişeceğini unutmayınız. Bu yolla ayrıca komut satırında ayarlama yapacağınız özelliğin de nasıl kullanıldığını görebilirsiniz. Örneğin plot ile kare işaretleyici yapmak için s harfini kullanırken set fonksiyonunda square yazmak zorundayız. fonksiyonlarını kullanarak çiziniz. Bu grafikte çizgi rengi siyah ve daire şekilli, kalınlığı 1.5 piksel, işaretleyecinin boyutu 10, dış kenar rengi mavi, iç kenar rengi sarı olsun. x=0:pi/10:2*pi; y=exp(sin(x)); plot(x,y,'-ko','linewidth',1.2, 'MarkerSize',10,... 'MarkerEdgeColor','b', 'MarkerFaceColor','y')
Şekil-6.85. Örnek-6.53 grafiği Örnek-6.54: plot fonksiyonu: x = -pi:pi/10:pi; y = tan(sin(x)) - sin(tan(x)); plot(x,y,'linewidth',2); title('tan(sin(x))-sin(tan(x))','fontsize',16,'color', 'r') xlabel ('x', 'FontSize',12) ylabel ('y', 'FontSize',12) 6.4.2. Pasta Dilimi Grafikler Pasta dilimi grafikleri parçaların bir bütün içerisinde ne kadar yer kapladıklarını gösteren grafiklerdir. Matlab de hem iki boyutlu hem de üç boyutlu pasta dilimi grafikleri çizilebilir: - 2D pasta dilimi grafiği için pie(x,etiketler)
- 3D pasta dilimi grafiği için pie3(x,etiketler) şeklindedir. Burada, x: verileri içeren bir vektör, etiketler: herbir pasta dilimine verilecek kategori adlarını belirtmektedir; ve herikisi de aynı uzunlukta olmalıdır. Pasta dilimi grafiklerde herbir dilim x_degerleri/sum(x) ile normalize edilir. Örnek-6.58: 2000 Yılında Sektörlerin Toplam Ciroları (Milyar Dolar) Ticaret Sanayi Ulaşım Turizm Tarım 17 27 13 22 8 2000 Yılındaki sektörlerin dağılımını pasta dilimi şeklinde göstermek istersek, >> pie([17 27 13 22 8],{'Ticaret','Sanayi','Ulasim','Turizm', 'Tarim'}) ifadesini kullanırız (Şekil-6.90).
Şekil-6.90. Örnek-6.58 grafiği >> pie([17 27 13 22 8],[1 1 0 0 0], {'Ticaret','Sanayi','Ulasim','Turizm','Tarim'}) >> title('\bf Sektorler') Şekil-6.91. Pasta diliminin bütünden ayrılması grafiği Yukarıdaki örneğin üç-boyutlu pasta dilimi grafiğini çizmek için aşağıdaki ifade kullanılır: >> pie3([17 27 13 22 8],{'Ticaret','Sanayi','Ulasim','Turizm', 'Tarim'})
6.4.3. Çubuk Grafikler Çubuk grafikler verilerin birbirlerine göre karşılaştırılması için iyi bir seçenektir. Matlab, 2D ve 3D hem yatay hem de dikey çubuk grafikler çizilmesine imkan verir. 2D çubuk grafik için dikey: bar(x,y) yatay: barh(x,y) 3D çubuk grafik için dikey: bar3(x,y) yatay: bar3h(x,y) Burada, x vektörü monoton olarak artan/azalan bir vektördür. 2000 Yılında Sektörlerin Toplam Ciroları (Milyar Dolar) Ticare t Sanay i Ulaşı m Turiz m Tarım 17 27 13 22 8 Örnek-6.59: 2000 yılındaki sektörlerin dağılımını dikey şekilde göstermek istersek aşağıdaki ifadeyi kullanabiliriz. Çizimden sonra Legend üzerine tıkladığınızda fare dört yönlü ok halinde iken, tam sol-üst köşeye çekilmiş ve yine Legend deki rengi gösteren ufak mavi kare üzerinde iken, sağ fare kısayol menusünden Clear komutu ile kaldırılmıştır.
x=[17 27 13 22 8]; bar(1:5,x) xlabel('sektorler') ylabel('sektor Cirolari [Milyar $]') set(gca,'xticklabel',{'ticaret';'sanayi';'ulasi m';'turizm';'tarim'}) title('2000 Yili Sektorel Dagilim') Şekil-6.93. Örnek-6.59 grafiği 6.4.4. Histogram Grafikler Histogram, bir veri kümesi içerisindeki değerlerin dağılımını gösteren bir grafiktir. Bu fonksiyonun yazım biçimi, hist(y) hist(y, nbins) hist(y,x) hist(y) [n, xout]= hist(y,...) şeklindedir. Fonksiyonun ilk formu, 10 eşit aralıklı binlerden oluşan bir grafik, ikincisi yine eşit aralıklı ancak nbins sayıda bir grafik, 3. form kullanıcıya x dizisinde (array) kullanılmak üzere bin merkezlerin
belirlenmesini sağlar. Son fonksiyon ise gerçekte bir grafiği göstermez; yalnızca histogramını belirtir. n dizisindeki herbir bin i sayar ve xout dizisinde bin merkezlerine döndürür. >> y=rand(10000,1); >> hist(y,15); Yukarıda verilen ifadeler için çizilen grafik 10000 Gauss rasgele değer içeren bir veri grubunun 15 eşit aralıklı bins lerden oluşan bir histogram gösterir (Şekil-6.95). Şekil-6.95. Histogram grafiği Örnek-6.60: Bir dersten geçer not alan, yani 50 ve üzerindeki notların 5 er basamaklı haldeki histogramını çiziniz (Şekil-6.96). clear all,clc,clf x=50:5:100; y=[51,99,92,86,51,55,82,95,97,87,64,76,65,91,66,55,87,... 93,94,91,98,91,84,92,59,77,86,76,91]; m=size(y); mean=ones(size(y))*y'/m(1,2); hist(y,x) title('lineer Cebir Test 1') xlabel('test Sonucu') ylabel('frekans')
text(55,5,'ortalama=80.37') Şekil-6.96. Notların dağılım histogramı