Professional Documents
Culture Documents
5.hafta-Çizim İşlemleri
5.hafta-Çizim İşlemleri
MATLAB diğer programlama dillerine nazaran oldukça güçlü bir grafik araç kutusuna
(toolbox)’a sahip olmasıdır.
Matlab’de en temel çizim fonksiyonu plot’dur.
Dizi indeksine göre çizim işlemi için komutun yazımı;
plot(y)
plot(x,y)
Örneğin;
x = 0:pi/100:2*pi;
y = sin(x);
plot(x,y)
Birden fazla grafiği aynı ekranda çizdirmek için komut aşağıdaki gibi kullanılabilir;
plot(x1,y1,x2,y2,....)
Örnek
Bir tam periyot sinüs dalgası ile yarım periyot değişen cosinüs dalgasını çizdirin.
x1 = 0:pi/100:2*pi;
x2= 0:pi/100:pi;
y1 = sin(x1);
y2 = cos(x2);
plot(x1,y1,x2,y2)
Çizim özellikleri:
Grafiğin rengini veya çizim şeklini değiştirmek için plot komutu aşağıda belirtildiği şekilde
kullanılabilir;
Çizim Rengi
Renk Sembol
siyah k
mavi (blue) b
yeşil (green) g
kırmızı( red) r
Çizim Şekli
artı +
daire o
yıldız *
kesikli --
Örnek:
x=0:0.05:1;
y=exp(x);
plot( x,y,’g*’)
x1 = 0:pi/20:2*pi;
x2= 0:pi/20:pi;
y1 = sin(x1);
y2 = cos(x2);
plot(x1,y1,’b+’,x2,y2,’r--’)
Aynı eksen takımına farklı grafikleri çizdirmek için hold on ve hold off komutları kullanılır.
hold on : daha önceki çizim ekranda kalır, yeni çizim eklenir komutun geçerliği hold off ile
ortadan kalkar
Örneğin,
ya=[1 1.2 2.4 4.5]
yb=[0.5 0.8 1.8 0]
x=[1 2 3 4]
vektörüne göre aynı eksen takımında çizdirmek için aşağıdaki komutları yazmak
yeterlidir:
hold on
plot(ya)
plot(yb,'r')
hold off
Eksen Etiketleri ve Çizim Başlığı
Çizilen grafige başlık yazmak ve eksenleri isimlendirmek için aşağıdaki komutlar kullanılır;
title(‘istenen başlık’)
grid on
işlemi sonlandırma
grid off
Devrenin denklemi;
Vc=5(1-e-t/) =RC
R=30;C=50e-6;Vk=5;
T=R*C;
t=0:10e-6:10e-3;
Vc=5*(1-exp(-t./T));
plot(t,Vc,’r’)
xlabel(‘zaman’)
ylabel(‘gerilim’)
grid on
Eksen Aralığı Tayini
axis auto
Matlab’ta aynı anda birden fazla grafik penceresi açmak ve bunlarda farklı fonksiyonların
grafiklerinin görüntülenmesini sağlamak mümkün olduğu gibi, aynı grafik penceresini
parçalara bölerek tek pencerede birden fazla grafiğe yer verebilmek mümkündür. Bu işlemi
gerçekleştirebilmek için subplot komutu kullanılır.
subplot(m,n,k)
m: satır sayısı
n: sütun sayısı
subplot(211) subplot(212)
subplot(2,3,1) subplot(2,3,6)
1 2 3
4 5 6
Örnek: Ekranı 2 parçaya bölüp -pi/2,pi/2 aralığında sin ve cos fonksiyonlarının değişimini
çizdiriniz.
x=-pi/2:pi/50:pi/2;
y1=sin(x);
y2=cos(x);
subplot(211);plot(x,y1)
subplot(212);plot(x,y2)
figure(n): çizim için yeni bir şekil penceresi açar. n pencerenin numarasıdır
t=0:pi/100:2*pi;
y1=sin(t);
y2=cos(t);
figure(1)
plot(t,y1,’r’)
figure(2)
plot(t,y2,’b’)
Bu komut ile belirtilen n sayısı kadar noktanın koordinatları kursör yardımıyla işaretlenerek,
belirlenebilir. Bu komutun işletilebilmesi için grafik penceresi açık olmalıdır.
[x,y]=ginput(n)
x=0:.01:2;
y1=sin(x); y2=x.^2-1;
plot(x,y1,x,y2)
[k1,k2]= ginput(1)
Kutupsal Çizim
Kutupsal grafik çizdirebilmek için polar fonksiyonu kullanılır. Kullanım şekli plot komutu ile
aynıdır. Özellikle kompleks ve trigonometrik fonksiyonları grafikleri için kullanışlı olan bu
komut ile, açı ve modül arasındaki ilişkiyi inceleyen grafikler çizdirebilmek mümkündür.
Kullanım şekli;
polar(r,teta)
Örnek:
Z1=3-i;Z2=1+i;
[r1,a1]=cart2pol(3,-1);
[r2,a2]=cart2pol(1,1);
polar(r1,a1,’r+’)
hold on
polar(r2,a2,’b*’)
Not: Aşağıdaki komutlar ile kartezyen form ile polar form arasında dönüşümler
yapılabilmektedir.
[r,teta]=cart2pol(x,y)
[x,y]=pol2cart(teta,r)
Grafik Çizim Çeşitleri
bar(x,y)
x=linspace(-2.5,2.5,20);
y=exp(-x.*x);
bar(x,y)
title(‘exp grafigi’)
x=linspace(-2.5,2.5,20);
y=exp(-x.*x);
stairs(x,y)
title(‘exp grafigi’)
Logaritmik Çizim
Lineer düzlemlere olduğu gibi logaritmik ve yarı logaritmik düzlemler üzerine de grafik
çizdirebilmek mümkündür.
loglog: x ve y logaritmik
semilogx: x logaritmik
semilogy: y logaritmik
Üç Boyutlu Çizim
Kullanım şekli;
plot3(x,y,z)
Örnek:
t=0:pi/50:10*pi;
plot3(sin(t),cos(t),t)
title(‘helix’)
xlabel(‘sint’)
ylabel(‘cost’)
zlabel(‘t’)
text(0,0,0,’orjin’)
Compass Komutu
Compass(Z)=compass(real(Z),imag(Z))
Örnek: R=10, C=500mikroF, L=0.1H seri RLC devresinde Vk=10sin(150*t) ise devredeki
R=10; C=500e-6;
L=0.1;w=150;Vk=10;
Z=R+i*(w*L-(1/(w*C)));
I=Vk/Z;
Vr=R*I;
Vc=(1/(w*C*i))*I;
VL=(w*L)*i*I;
clf
compass(Vc)
hold on
compass(Vr,'r')
hold on
compass(VL,'g')
hold off