Matlab’da Diziler; Vektörler ve Matrisler Matlab’da Grafik Çizme
Vektör Oluşturma Matlab’da grafik çizmeden önce farklı vektör oluşturma yöntemlerini öğrenelim: 1. Metod 2. Metod clc clear all for i=1:5 A(i)=i; end A >> A=1:5 A = 1 2 3 4 5 A = 1 2 3 4 5
Vektör Oluşturma 1. Metod 2. Metod clc clear all s=0; for i=1:2:7 s=s+1; A(s)=i; end A >> A=1:2:7 A = 1 3 5 7 A = 1 3 5 7
Eleman eleman işlemler Diziler üzerinde herhangi bir aritmetik işlemi eleman-eleman olacak şekilde gerçekleştirmek istiyorsanız, 1. Metod 2. Metod clc clear all A=[9 5 6 12 8]; B=[-2 3 5 7 6]; s=0; for i=1:length(A) s=s+1; C(s)=A(s)*B(s); end C >> A=[9 5 6 12 8]; >> B=[-2 3 5 7 6]; >> C=A.*B C = -18 15 30 84 48 C = -18 15 30 84 48
Eleman eleman işlemler İşlemler eleman-eleman olacak şekilde gerçekleştirildiği için dizi işlemleri olarak da adlandırılır. Örneğin, a.*b ifadesi aşağıdaki şekilde çalışır: [a(1)*b(1) a(2)*b(2) a(3)*b(3)] a./b ifadesi ise eleman eleman bölmek için kullanılır. Diğer tanımlamalar .* Çarpma ./ Sağ bölme .\ Sol Bölme . ˆ Üs alma
Matlab’de Grafik Çizme Bir resim binlerce kelimeye bedeldir. Matlab’de veri sunumu amacıyla geliştirilen gelişmiş grafik seçenekleri vardır. Grafikler (2 boyutlu) plot ifadesi ile çizdirilir. Örnek 1: x’in 1’den 20’ye kadar olan değerleri için (1 artımlı) aşağıdaki denklemin değerlerini hesaplayan ve x-y grafiğini çizdiren bir Matlab programı yazınız. x=1:20; y=x.^2-9*x-20; plot(x,y)
Plot Düzenleme Komutları Plot başlığı Plot eksenleri title(’text’) Tırnaklar arasındaki yazıyı plotun üztüne yazar xlabel(’text’) Tırnaklar arasındaki yazıyı yatay x eksenine yazar ylabel(’text’) Tırnaklar arasındaki yazıyı düşey y eksenine yazar Örnek 2 x=1:1:20; y=x.^2-9*x-20; plot(x,y) title(‘variation of x.^2-9*x-20 equation wit x '); xlabel('x-axis'); ylabel('y-axis');
Çoklu plotlar Aynı eksen takımı üzerinde birden fazla plot oluşturmak mümkündür. İlk yöntem çoklu eksenleri plot içerisinde tanımlamaktır plot(x1, y1, x2, y2, x3, y3, ... ) Örnek 3: Aynı eksen takımı üzerinde aşağıdaki iki adet denklemin farklı t değerlerine karşılık gelen değişimlerini çizdiriniz. t=0:1:20; y_1=t.^3-5*t+8; y_2=6*t-5; plot(t,y_1,t,y_2)
Örnek 4 X’in 0 ile 2*pi aralığındaki değerleri için sin(x) ve cos(x) değerlerini aynı eksen takımında grafiğini çizen bir Matlab programı yazınız.
Plot Düzenleme Komutları Color, Markers ve Line styles plot(x,y,’ro:’) Bu komut x ve y parametrelerinin değişimini; kırmızı renkli, veri kesişme noktalarında daire olacak şekilde ve kesik çizgi ile verilere ait noktaları birleştirecek şekilde çizer. Color, markers ve Line styles özellikleri aşağıda verilen isimler ile değiştirilebilir.
Color, Marker, Style Color Marker Line Styles y: yellow . : nokta - : continuous line m:magenta o : yuvarlak : : dotted line b:blue x : x işareti -. : dash-dot line r:red + :artı işareti -- : dash-dash line g:green * :yıldız işareti w:white S : kare k: black D: elmas V : aşağı üçgen ^ : yukarı üçgen <: sola üçgen
legend(’string1’,’string2’,’string3’,...) Farklı veri çizgilerini ayırdetmek için legend komutu kullanılır: legend(’string1’,’string2’,’string3’,...) 0 = Automatic “best” placement (least conflict with data) 1 = Upper right-hand corner (default) 2 = Upper left-hand corner 3 = Lower left-hand corner 4 = Lower right-hand corner -1 = To the right of the plot
Örnek 5 x=[0:pi/10:4*pi]; y1=sin(x); y2=cos(x); plot(x,y1,'b.:',x,y2,'b<-') xlabel('x degisimi'); ylabel('Fonksiyonun degisimi'); title('sinx ve türevinin değişimi') legend('sin(x)','cos(x)',-1)
Çoklu Figürler x=0:pi/30:2*pi; y1=sin(x); y2=cos(x); Ardarda gelen plot komutları, yeni grafikleri aynı pencere üzerinde çizmektedir. figure komutu çoklu plot pencereleri oluşturmak için kullanılır: figure(n) Burada n pozitif tamsayıdır ve figür sayısını göstermektedir. Bu komutun ardından gelen plot komutu yeni pencere üzerine verileri yerleştirecektir. x=0:pi/30:2*pi; y1=sin(x); y2=cos(x); figure(1),plot(x,y1,'bo:') figure(2),plot(x,y2,'r*-')
subplot subplot komutu, grafikleri alt pencerelere ayırmak için kullanılır. Çoğunlukla bir üst bir alt veya iki üst iki alt olmak üzere dört adet alt pencere kurulur. subplot(m,n,p): m x n kadar pencere oluşturulur.
Örnek 6 subplot(2,2,1) x=0:pi/30:2*pi; y1=sin(x); plot(x,y1) title('f(x)=sin(x)') subplot(2,2,2) y2=cos(x); plot(x,y2) title('f(x)=cos(x)') subplot(2,2,3) y3=tan(x); plot(x,y3) title('f(x)=tan(x)') subplot(2,2,4) y4=cot(x); plot(x,y4) title('f(x)=cot(x)')
Çoklu plotlar (hold) x=0:pi/30:2*pi; y1=sin(x); plot(x,y1,'k*:') hold İkinci yöntem ise eksenleri hold komutu ile tutma yöntemidir. Takip eden tüm plotlar üst üste çizilir. Bir başka hold komutuna kadar veya hold off komutuna rastlayıncaya kadar bu işlem devam eder. x=0:pi/30:2*pi; y1=sin(x); plot(x,y1,'k*:') hold y2=exp(2*sin(x)); plot(x,y2,'ro--') legend('sin(x)','\bf{e}^{2*sin(x)}')
Örnek 7 -2pi’den 2pi’ye kadar olan x değerleri için 500 adet nokta oluşturan ve bu değerler için aşağıdaki denklemlerden hesaplanan verilerin grafiklerini oluşturan bir Matlab programı yazınız (-2 π ≤ x ≤ 2 π)
Figure 1 Figure 2 Figure 3