Ana içeriğe atla

Kayıtlar

Nisan, 2017 tarihine ait yayınlar gösteriliyor

#21 FPRINTF KOMUTU

MATLAB programlarında ekrana yazdırmak için disp komutunun kullanımını öğrenmiştik.disp oldukça basit olup kompleks ekrana yazı işlemlerinde yetersiz kalmaktadır.fprintf komutu ekrana yazmak için kullanılan çok daha genel ve çok daha güçlü bir komuttur.fprintf kullanarak ekrana her çeşit yazı ve sayı yazmamız oldukça kolaydır. >> fprintf('Bu bir test mesajıdır') Bu bir test mesajıdır>> Yeni satır için \n karakterini kullanmamız gerekir. >> fprintf('Bu bir test mesajıdır\n') Bu bir test mesajıdır >> >> fprintf('Satır1\nSatır2\nSatır3\nSatır4\n') Satır1 Satır2 Satır3 Satır4 >> Ekrana herhangi bir değişkenin değerini yazmak için format karakterlerini kullanmamız gerekir. FORMAT KARAKTERİ                                         TANIMI %c                                                                             karakter %d                                                                             tamsayı (i

#20 SWITCH CASE

Bazı uygulamalarda birden fazla durum bulunmaktadır ve durumlara göre değişik işlemler yapmamız gerekmektedir.Bu tip programlar genellikle if-elseif-end komutları kullanılarak yapılabilir.switch komutu daha basit ve daha okunaklı olduğu için tercih edilmelidir. ÖRNEK 35 : switch kullanarak hesap makinesi yapınız. new scriptte programımızı yazarız; disp('HESAP MAKİNESİ PROGRAMI'); disp('-----------------------'); disp(''); sayibir=input('İlk sayiyi giriniz : '); sayiiki=input('İkinci sayiyi giriniz : '); disp(''); islem=input('Yapmak istediğiniz işlemi saçiniz (1-topla,2-cikar,3-carp,4-bol) : '); switch islem     case 1     sonuc=sayibir+sayiiki;     case 2     sonuc=sayibir-sayiiki;     case 3     sonuc=sayibir*sayiiki;     case 4     sonuc=sayibir/sayiiki;     otherwise     error ('HATALI İŞLEM SEÇTİNİZ!!!'); end disp(''); disp(['sonuc = ' num2str(sonuc)]); disp(''); ---

#19 WHILE DÖNGÜSÜ

Burada durum doğru olduğu müddetçe while ve end arasındaki komutlar işlem görür.Tabii ki döngüden çıkmak için while komutundan sonra belirtilen durumun döngü içerisinde saplanması gerekir.Aksi halde sonsuz döngü elde etmiş oluruz. ÖRNEK 34 : Hesap makinesi yap.Program kullanıcının istediği zaman dursun. new scriptte yazarız; tekrar='E'; while (tekrar=='E') disp('HESAP MAKİNESİ PROGRAMI'); disp('-----------------------'); disp(''); sayibir=input('İlk sayiyi giriniz : '); sayiiki=input('İkinci sayiyi giriniz : '); disp(''); islem=input('Yapmak istediğiniz işlemi saçiniz (1-topla,2-cikar,3-carp,4-bol) : '); if (islem==1)     sonuc=sayibir+sayiiki; elseif (islem==2)     sonuc=sayibir-sayiiki; elseif (islem==3)     sonuc=sayibir*sayiiki; elseif (islem==4)     sonuc=sayibir/sayiiki; else     error ('HATALI İŞLEM SEÇTİNİZ!!!'); end disp(''); disp(['sonuc = ' num2str(sonuc

#18 FOR DÖNGÜSÜ

ÖRNEK 32 : 1'den 10'a kadar olan sayıların karelerini gösteren ve for döngüsünü kullanan kare.m isimli bir MATLAB programı yazınız. For döngüsünde mutlaka bir dizi olmalıdır. ÖRNEK 33 : 0 dan 20 ye kadar olan ve 2 olarak artan sayıların karelerini bir tablo şeklinde gösteren bir program yazınız.

#17 IF-ELSE

ÖRNEK 31 : İki sayı üzerine toplama, çıkarma, çarpma ve bölme işlemleri yapmak için menü tabanlı ve hesap_makinesi.m isimli bir MATLAB programı yazınız.Program sayıları klavyeden okuyacak ve kullanıcı isteğine göre gereken işlemi yapacak. Öncelikle new scriptten yeni bir dosya açtık.O dosyanın içine kodlarımızı yazdık. if kısmına gelene kadar olan bölümü daha önce öğrenmiştik.if kullanıcı 1'e basarsa toplama işlemi yap dedik, elseif kullanıcı 2'ye basarsa çıkarma işlemi, elseif kullanıcı 3'e basarsa çarpma işlemi, elseif kullanıcı 4'e basarsa bölme işlemi yap dedik.else kullanıcı diğer tuşlara basarsa error (hata) verdirttik.Ve end ile if yapısını sonlandırdık.

#16 KÜÇÜK - BÜYÜK - KÜÇÜK EŞİT - BÜYÜK EŞİT - EŞİT - EŞİT DEĞİL

OPERATÖR                                          TANIMI <                                                             küçük >                                                             büyük <=                                                           küçük eşit >=                                                           büyük eşit ==                                                           eşit ~=                                                           eşit değil >> a=12; >> b=8; >> a>b ans =      1 >> a<b ans =      0 >> a==b ans =      0 >> a~=b ans =      1 >> a<=b ans =      0 >> a>=b ans =      1 Doğru ise 1, yanlış ise 0 yazar.

#15 Kompleks Sayılar

Karekök içinde 4+4i yi MATLAB'da bulmak için sqrt(4+4i) yazarız. -------------------------------------------------------------------------------------- >> a=[2+2i]; b=2*a b =    4.0000 + 4.0000i -------------------------------------------------------------------------------------- imaginary (sanal) kısımda i ve j kullanırız.2i ile 2j aynıdır. -------------------------------------------------------------------------------------- Bir kompleks sayının mutlak değerini bulmak; >> a=2+4j; >> abs(a) ans =     4.4721 -------------------------------------------------------------------------------------- real(z) fonksiyonu z kompleks sayısının real kısmıdır. imag(z) fonksiyonu z kompleks sayısınız imaginel kısmıdır. conj(z) fonksiyonu z kompleks sayısının konjugetini verir. angle(z) fonksiyonu z kompleks sayısının açısını radyan cinsinden verir. >> z=5+8i; >> real(z) ans =      5 >> imag(z) ans

#14 VEKTÖRLERE DEVAM

Vektör Karşılaştırması MATLAB'da isequal fonksiyonu verilen iki vektörü karşılaştırır.Eşit ise 1, değil ise 0 yazdırır. >> a=[1 4 7]; >> b=0:2:6; >> c=[12 6 0]; >> d=[1 -4 7]; >> isequal(a,d) ans =      0 >> isequal(b,c) ans =      0 >> e=[0 2 4 6]; >> isequal(b,e) ans =      1 Vektörlerin Bellekte Saklanması MATLAB'da bir vektörün her elemanı 8 bytes dır. >> x=1:10 x =      1     2     3     4     5     6     7     8     9    10 >> whos x   Name      Size            Bytes  Class     Attributes   x         1x10               80  double             max Fonksiyonu Bir vektörün en büyük elemanını verir. >> a=[3 -45 5 0 12]; >> max(a) ans =     12 >> [y,k]=max(a) y =     12 k =      5 Burada y maksimum eleman, k maksimum elemanın indeksidir. min Fonksiyonu >> x=[-10 -6 -8 -7 0 1] x =    -10    -6    -8    -7     0     1 >&g

#13 FIND VE LENGTH KOMUTU

find komutu Bu komut ile herhangi bir vektör içerisindeki belirli şartlara uyan elemanları bulabiliriz. >> x=1:3:13 x =      1     4     7    10    13 >> z=find(x>5) z =      3     4     5 >> %3. 4. ve 5. elemanların istenen şarta uyduğunu gösteriyor. length komutu Bu komut herhangi bir vektörün eleman sayısını verir. >> p=[2 45 -2]; >> length(p) ans =      3

#12 DİZİLER

Dizi nedir? Diziler ikiye ayrılır.Yerli diziler (behzat ç, leyla ile mecnun, ezel vs vs), yabancı diziler (game of thrones, shameless, spartacus vs vs.)afssfafsfaf şaka yaptım. Diziler ikiye ayrılır.Vektör dizileri ve matris dizileri.Vektör dizileri tek boyutlu dizilerdir.Matris dizileri ise 2 veya daha çok boyutlu olabilirler. Vektör Dizileri x=[1 3 5 7 9] veya x=[1,3,5,7,9] şeklinde gösterilirler. VEKTÖR               İŞLEM               SONUÇ x=[1 3 5]                 y=x+2                y=[3 5 7] c=[2 6 10]               y=x/2                  y=[1 3 5] ÖRNEK 22: Birden ona kadar olan çift sayıların karekökünü bulunuz. >>x=[2 4 6 8 10]; >>>> y=sqrt(x) y =     1.4142    2.0000    2.4495    2.8284    3.1623 ÖRNEK 23: 0 dan 90 dereceye kadar olan açıların 10 derece ara ile sinüslerini hesaplayınız. >> x=0:10:90; >> y=sin(pi/180*x) y =   Columns 1 through 8          0    0.1736    0.3420    0.5000    0.6428    0.7660    0.8

#11 SORULAR

ÖRNEK 12 : AŞAĞIDAKİ İŞLEMLERİ YAPINIZ >> 3+5*25 ans =    128 >> 12^8/(3-5*4) ans =   -2.5293e+07 >> 2/4+3 ans =     3.5000 >> 100*(10+2/8) ans =         1025 ÖRNEK 13 : Santigrat olarak verilen 80C sıcaklığı Fahrenheita çeviriniz.(F=9xC/5+32) >> c=80; >> f=9*c/5+32 f =    176 ÖRNEK 14 : Aşağıda verilenler MATLAB değişkeni olabilir mi?Olamazsa neden olamaz? a)3.45 (olamaz çünkü değişken sayı ile başlayamaz ayrıca . kullanılamaz) b)23a (olamaz çünkü değişken sayı ile başlayamaz) c)a100 (olabilir) d)4.34e3 (olamaz çünkü değişken sayı ile başlayamaz ayrıca . kullanılamaz) e)a.4 (olamaz çünkü . kullanılamaz) f)top sayi (olamaz çünkü boşluk kullanılamaz) g)a*2 (olamaz çünkü * karakteri kullanılamaz) h)aZalT (olabilir) i)üç (olamaz çünkü türkçe karakter kullanılamaz) j)bilgi_sayar (olabilir) ÖRNEK 15 : Hataları bulunuz. a)23=a (a=23 olmalıydı) b)benim sayi=23 (boşluk olamaz, benim_sayi=23 olmalıydı) c)a+1

#10 KOMUTLAR HAKKINDA YARDIM ALMAK

MATLAB'ı kullanırken bilmediğimiz herhangi bir komut hakkında yardım alabiliriz.Bunun için help yazıp yanına komutun adını yazarız. >>help format MATLAB'da komutlar hakkında yardım almanın diğer bir yolu ise lookfor komutunu kullanmaktır.lookfor, istenilen komutu içeren her MATLAB komutunun listesini verir.

#9 ÇALIŞMA ALANI

MATLAB çalışma alanı komutların yazıldığı ortamdır. total, maximum, x2 ve sayac isimli 4 değişken tanımlayalım. >>who Your variables are: total    maximum   x2    sayac >>whos   Name             Size            Bytes  Class     Attributes   maximum      1x1                 8  double                 sayac             1x1                 8  double                 total               1x1                 8  double                 x2                  1x1                 8  double              Değişkenleri görmenin bir başka yolu ise workspace menüsüdür. clear komutu workspacedeki bütün değişkenleri siler.clear x2 dersek sadece x2 değişkenini silmiş oluruz.clear sayac x2 dersek sayac ve x2 değişkenlerini silmiş oluruz. Workspaceimizde olan değişkenleri ve bu değişkenlerin değerlerini sabit diskimizde bir dosya içerisinde saklamak için save komutunu kulanabiliriz. >>save dosya dosya.mat isimli bir dosyada değişkenlerimiz saklanır.