You are on page 1of 8

T.C.

GAZ NVERSTES FEN BLMLER ENSTTS ELEKTRK ETM BLM

DERS
ELEKTRKTE MATEMATK YNTEMLER KONU MATLAB LE PROGRAMLAMA

HAZIRLAYAN
RESUL KKSAL
22210111

KONTROL
Dr.HASAN HSEYN SAYAN

ANKARA-2002

input KOMUTU; Matlab proramlarnda dardan veri girii iin bu komut kullanlr. Aada ki rnek proramda nce clear komutuyla deikenlerin iirii temizlenmi.disp komutu ile ekrana girilen sayy toplayan program yazs yazdrlm daha sonra kullancnn deer girmesi istenmi ve t=w*e*r ilemi tanmlanmdr. clear disp('********* GRLEN SAYIYI TOPLAYAN PRORAM ************') w=input('1. sayy giriniz...'); e=input('2. sayy giriniz...'); r=input('3. sayy giriniz...'); t=w*e*r

for KOMUTU; for komutu ,aadaki biimde kullanlr: >>for parametre=ilk deer:artm:son deer,end Buradaki programda t parametre deerimiz a deerinden balayarak her defasnda c kadar artarak b deerine ulaacak bu srada her art iin for ile end arasndaki komutlar ileme konacak.Yani t deerine karlk gelen alarda tepe deeri bilinen dalgann ani deeri bulunacak.

disp('**************for komutu uygulamas**************') disp('***BU PRORAM TEPE DEER BLNEN BR SNYALN STENEN ***') disp('***************AILARDA AN DEERN BULUR**********') disp('uyar: alar radyan olarak giriniz') a=input('sinyalin ani deerini ilk olarak hangi ada grmek istiyorsunuz...'); b=input('sinyalin ani deerini son olarak hangi ada grmek istiyorsunuz...'); c=input('ann art miktar ne olsun...'); vm=input('sinyalin tepe deerini giriniz...'); for t=a:c:b vm teta=t*180/pi; fprintf('ann derece karl..:%3.2f',teta); va=vm*sin(t) end

while KOMUTU; Kulanm ekli; while koul,deyim1,deyim2.,deyim(n),end eklindedir Koul doru olduu srece ,deyim1,deyim2.,deyim(n) eklinde belirtilen deyimler grubu icra edilir.Koul yanl ise endiizleyen satra yani evrim dna kar. Aadaki programda kullancdan bir deer girmesi istenmidir, bu deer koulu salad srece evrim devam edecekdir.ayet 100den byk bir deer girilirse evrimin dna klacaktr. disp('*************** WHLE KOMUTU UYGULAMASI ***************') d=2; while d<101 d=input('dngden kmak iin 100 den byk bir say girin...'); disp(' BU BR OYUN DEL ') end

Aadaki programda koul ;sabit bir deer olduu iin srekli saglanacak ve program sonsuz dngye girecekdir.Sonsuz dngden kmak iin Ctrl+C tu kombinasyonu kullanlr disp('*************** WHLE KOMUTU UYGULAMASI ***************') while 1 n=input('sonsuz dngye girdiniz...kn kabilirseniz...?'); end

if KOMUTU; Kulanm ekli; f koul(1) , deyim1,deyim2deyim(m) elseif koul(2), deyim(m+1), deyim(m+2).deyim(n) elseif koul(3), deyim(n+1), deyim(n+2), deyim(p)else deyim(p+1),deyim(p+2).deyim(z)end Biimindedir. Burada koul(1) salanrsa program if ile birinci elseif arasndaki ilemleri yapar ve end satrn takip eden komutlara geer.Koul(2) salanrsa program birinci elseif ile ikinci elseif arasndaki ilemleri yapar ve end satrn takip eden komutlara geer.Koul(3) salanrsa program ikinci elseif ile nc elseif arasndaki ilemleri yapar ve end satrn takip eden komutlara geer.Bu ekilde sonsuz elseif olabilir.ayet hibir koul salanmasa program else ile end arasndaki deyimleri gerekletirir ve endi izleyen satra devam eder.

Aadaki program ikinci dereceden bir denklemin kklerini bulmaktadr.Burada denklemin diskrimant ; sfrdan kk ise kk bulamamakta ,sfrsa ve sfrdan byk ise kk bulmaktadr. disp(' F KOMUTU ') disp('KNC DERECEDEN DENKLEMN KKLERNN BULUNMASI') a=input('2. dereceli terimin katsaysn giriniz...'); b=input('1. dereceli terimin katsaysn giriniz...'); c=input('sabit terimi giriniz...'); d=b^2-4*a*c; fprintf('Denklemin diskriminant=%d',d); if d<0 disp(' ') disp('Sonu:Gerek kk yok') elseif d==0 x1=-b/(2*a) disp('x1=x2') else x1=(-b+sqrt(d))/(2*a) x2=(-b-sqrt(d))/(2*a) end

Bu programda programa girmek iin ba ksma ifre konmutur ayet ifre doru ise program altrlarak bode erileri izdirilebilmekdedir. a=input('proram ifresini giriniz...'); if a==007 disp(' prorama ho geldiniz ') disp(' bode erisini izmek iin ') x=input('transfer fonksiyonun paynn katsaylarn giriniz...'); y=input('transfer fonksiyonun paydasnn katsaylarn giriniz...'); bode(x,y) grid end

Bu programda kullanc grmek istedii grafiin nce deer araln ardndan da fonksiyonunu giriyor.ayet grafii surf olarak grmek istiyor ise a=1 ,mesh

olarak grmek istiyor ise a=2 , meshz olarak grmek istiyor ise a=3, meshc olarak grmek istiyor ise a=4 yapyor, a deeri 1,2,3,4 den farkl olursa ekranda grafik grlmemekdedir. disp(' BU PRORAM 3 BOYUTLU GRAFK ZMEYE YARAR') x=input('x ekseni deer araln giriniz...'); y=input('y ekseni araln giriniz...y='); [x,y]=meshgrid(x,y); z=input('fonksiyonu gir...z='); a=input('grfik trn belirleyin surf(1),mesh(2),meshz(3),meshc(4)...'); if a==1 surf(x,y,z) disp('*************GRAF KONTROL EDN**********') elseif a==2 mesh(x,y,z) disp('*************GRAF KONTROL EDN**********') elseif a==3 meshz(x,y,z) disp('*************GRAF KONTROL EDN**********') elseif a==4 meshc(x,y,z) disp('*************GRAF KONTROL EDN**********') else clg disp('******TANIMSIZ BR DEER GRDNZ TEKRAR DENEYN******') end

swich-case KOMUTU switch-case artl deyimi bir anahtar gibi grev yapmaktadr. switch ifadesinden sonra belirtilecek bir anahtar deikenin, bu ifadeyi takip eden case kilit ifadeleri ile kyaslanmas sonucu oluacak sonucu gsterir. Aadaki progrmda 7 kilit ve 1 nasihat vardr.Switchden sonraki anahtar hangi kilit numarasna ait ise o kilit alr ve o kilidin altnda ki ilemler yaplr.Anahtar hibir kilit ile uyumuyorsa nasihat ksmna geer ve girdiiniz say 1<= say >=7 arasda olmal der m=input(' Haftann kanc gn...'); switch m case 1 disp('gunlerden:pazartesi') case 2 disp('gunlerden=sal') case 3

disp('gunlerden=aramba') case 4 disp('gunlerden=perembe') case 5 disp('gunlerden=cuma') case 6 disp('gunlerden=cumartesi') case 7 disp('gunlerden=pazar') otherwise disp('girdiiniz say 1<= say >=7 arasda olmal') end

Burada daha nce if ile yaplan program swich-case ile yaplmdr.if ile swichcase arasndaki fark if koul belirtirken swich-case art belirtir.Yani nokta at yapar. x=input('x araln gir...x='); y=input('y araln gir...y='); [x,y]=meshgrid(x,y); z=input('fonksiyonu gir...z='); a=input('grfik trn belirleyin surf(1),mesh(2),meshz(3),meshc(4)...'); switch a case 1 surf(x,y,z) disp('*************GRAF KONTROL EDN**********') case 2 mesh(x,y,z) disp('*************GRAF KONTROL EDN**********') case 3 meshz(x,y,z) disp('*************GRAF KONTROL EDN**********') case 4 meshc(x,y,z) disp('*************GRAF KONTROL EDN**********') otherwise clg disp('******TANIMSIZ BR DEER GRDNZ TEKRAR DENEYN******') end

try-catch KOMUTU Kullanm ekli try-.catch.end biimindedir.Bu ifade iki farkl durumun gerekleebilecei olaslklarda kullanlr.Eer programda try-.catch aras tm ifadeler ileme konabiliyorsa bu ksm uygulanr.Deilse catch.end aras ifadeler ileme konur. Aadaki programda rn bedeli 40 milyondan fazla ise n tanmlanmakta ve try.catch aras komutlar uygulanmaktadr. rn bedeli 40 milyondan az ise n tanmlanmamakta ve catch.end aras ifadeler ileme konmaktadr.

clear n f=input('Alnan rn tutar (millyon olarak)....'); if f>40 n=1 end try kontrol=n; ['kargo masraf almaynz'] fprintf('toplam tutar :%d milyon',f) catch ['Kargo masraf alnz'] fprintf('toplam tutar :%d milyon+ kargo masraf',f) end

RNEK PROGRAM Burada if ile while komutu beraber kullanld.Yalar 22,23,24,25 olan bir grup master rencisinin ka tanesinin ya 22, ka tanesinin ya 23, ka tanesinin ya 24, ka tanesinin ya 25 olduunu bulan bir programdr.while komutu ile renci says kadar dng oluturulmu ve kullancnn sra ile renci yalarn girmesi salanmtr.f komutu ile de kullancnn girdii ya hangi grupta ise o grup bir artrlmtr.Sonu fprintf komutu ile ekrana yazdrlmtr. s22=0; s23=0; s24=0; s25=0; x=input('renci saysn giriniz.....'); p=0; while p<x oy=input('renci yan giriniz...'); p=p+1; if oy==22

s22=(s22+1); end if oy==23 s23=(s23+1); end if oy==24 s24=(s24+1); end if oy==25 s25=(s25+1); end end fprintf('22 yandaki renci says : %d\n',s22); fprintf('23 yandaki renci says : %d\n',s23); fprintf('24 yandaki renci says : %d\n',s24); fprintf('25 yandaki renci says : %d\n',s25);

M-FONKSYONU M-dosyalar sadece MATLAB komutlarndan oluan komutlar grubudur.Yani komutlar tek tek komut satrna yazlsa ayn sonu elde edilir. M-dosyalarnn input kullanmadan girdi ifadesi alma imkan yoktur. M-Fonksiyonlar input kullanmadan giri ifadeleri alr. Aada ad pro14 ve girdisi a matrisi olan bir fonksiyondan kt olarak ada ki minimum ve maksimum deerler ann ortalamas,eleman says ve elemanlar aras standart sapma bulunur.Programn almas iin komut satrna >>pro14(a) yazlp enter tuuna baslr. Bu ilem yaplmadan nce a matrisi tanmlanmaldr. function [ort,enk,enb,stsap]=pro14(a) enk=min(a) enb=max(a) n=length(a) ort=sum(a)/n stsap=sqrt(sum((a-ort).^2)/n)

You might also like