Ana səhifə

Işareti Matlab’in komut prompt’unu gösterir ve bu işaret bulunduğu satır komut satırı olarak adlandırılır. Bu işaretin hemen yanında yanıp sönen I


Yüklə 485 Kb.
səhifə4/5
tarix26.06.2016
ölçüsü485 Kb.
1   2   3   4   5

Çok Boyutlu Dizge Gösterimleri


Birden fazla karakter dizgesini birarada göstermek için dizgeleri, vektörler gibi bir arada kullanılabiliriz.

» k = strcat('Programa hosgeldiniz' ,'program kodu: ' , '120885')

k =

Programa hosgeldiniz program kodu: 120885


» k=strvcat('Programa hosgeldiniz' ,'program kodu: ' , '120885')

k =


Programa hosgeldiniz

program kodu:

120885
Sayı-Dizge Dönüşümü

num2str komutu, kayan nokta sayısını dizgeye dönüştürür; int2str komutu ise sadece bir tamsayıyı, dizgeye dönüştürür.

Örnek olarak

» x = 236

x =

236


ifadesi bir tamsayı tanımlar. Oysa

» xs=int2str(x)

xs =

236


komutu, 236 tamsayısını 236 dizgesine dönüştürür.

Dizge-Sayı Dönüşümleri


Matlab’de dizgeleri sayıya dönüştürmek için iki temel komut vardır. str2num fonksiyonu, normalde ASCII karakterdeki dizgeyi sayıya dönüştürür; eval fonksiyonu ise nümerik formdan sayı içeren dizgeye dönüştürür. Her iki fonksiyon da temelde aynı işlevi görür.

» c=str2num('236')

c =

236


komutuyla 236 dizgesi 236 sayısına dönüşmüştür.

PROGRAM ÇIKIŞI ve SONUÇ GÖSTERME İŞLEMLERİ


Bir programın sonucunu yani çıkış verileri yazdırmak veya ekranda belirli bir formatta görüntülemek için üç temel komutumuz vardır: format, disp ve fprintf komutları.
disp KOMUTU

Genel yazım formatı:

disp(x)

şeklindedir. disp komutu bir dizi veya metni görüntüler. Dizi görüntülemede dizinin adı yazılmaz ve boş bir dizi görüntülenmez. x bir karakter dizgesi ise metin olarak görüntülenir. Örnek olarak bir a dizisi alaalım.



» a=[1 2 3 4 5]

a =


1 2 3 4 5

» disp(a)

1 2 3 4 5
disp(' ') komutu kendisinden önce ve sonra gelecek satır arasında bir satır boşluk sağlar. ' ' tırnakları arasındaki boşluk sayısının önemi yoktur. Ancak aynı komutu bir kere daha alt alta kulanır
sprintf KOMUTU

sprintf komutu, formatlı veriyi bir dizgeye yazmak için kulanılır. Genel yazım formatı

[s,errmsg] = sprintf(format,A,...)

şeklindedir. Belirlenmiş format dizgesinin kontrolu altında onu s dizge değişkenine döndürür. errmsg isteğe bağlı bir çıkış argümanıdır ve bir hata oluştuğunda veya boş bir matris girildiğinde bir hata mesajına döndürür. sprintf , çıkışı bir dosyaya yazma işlevi dışındaki fprintf komutunun kullanımı ile aynıdır. fprintf ya bir dosyaya ya da ekrana çıkış verir oysa sprintf, veriyi ve sonucu bir dizge değişkenine döndürür. format dizgesinin kullanımı fprintf komutunda anlatıldığı gibidir. Aşağıda bir kaç örnek verilmiştir.




Komut

Sonuç

sprintf('%0.5g', (1+sqrt(5))/2)

1.618

sprintf('%d', round(pi))

3

sprintf('%s', 'merhaba')

merhaba


fprintf KOMUTU

fprintf komutu, formatlı program çıkışı ekranda göstermek veya elde etmek ve bunu bir dosyaya yazdırmak için kulanılır. Genel yazım formatı

fprintf('format' ,A, ...)

şeklindedir. 'format' stringinde belirtilen formatta A dizisi veya ek dizi argümanlarının elemanlarını gösterir. Daha basit bir gösterim ile fprintf('format' ,liste, ...) burada liste virgülle ayrılan değişken adlarını listeler. Komuttaki format stringinin genel formatı:

%[-/+/0][sayı1.sayı2] Kod

şeklindedir. Burada % işareti sabittir ve mutlaka bulunmalıdır. Köşeli parantez içindeki kısımlar isteğe bağlıdır. Bayrak (flag) olarak adlandırılan [-/+/0] gösteriminde - çıkışın sola hizalı olacağını, + önünde sürekli + işaretinin olacağını ve 0 da sayı alanının boşluktan ziyade 0’la doldurulacağını gösterir. Sayı alanı ve kesinliği yani ondalığı olarak adlandırılan ikinci kısımdaki sayı2, ondalık göstergesi olan noktanın sağındaki rakam sayısını, sayı1 yazdırılacak rakamların minimum alan genişliğini gösterir. Kod, kontrol ve biçim kodlarını daha doğrusu dönüşüm karakterlerini içerir. %işaretinden sonra yazılacak ifadelerin arasında boşluk bırakılmamalıdır.



Kaçış (Kontrol) Kodları

Dönüşüm (Biçim) Kodları

Karakter

Tanımı

Belirteç

Tanımı

\n

Yeni bir satıra başlar (return or Enter)

%e

Küçük harfle bilimsel notasyon

\r

Yeni satırın başı (linefeed) Carriage return

%E

Büyük harfle bilimsel notasyon

\b

Geriboşluk karakteri (backspace)

%f

Sabit nokta (ondalık) notasyon

\t

Yatay sekme karakteri (Tab)

%g

En kısa olmasına göre %e veya %f

\f

Formfeed karakteri

%G

%g ile aynı ancak E kullanır

''

Apostrof karakteri (iki tek tırnak)

%s

karakter dizgesi tanımlar

\\

Ters bölü karakteri (backslash)

%c

Tekil karakter

%%

Yüzde işareti karakteri

%d

İşaretli ondalık notasyon

» fprintf('Islem sonucu %6.2f bulunmustur. \n', 813);

Islem sonucu 813 bulunmustur.

» fprintf('Islem sonucu %6.4f bulunmustur. \n', 813);

Islem sonucu 0813 bulunmustur.
Ör: 1’den 5’e kadar sayıların karesini sayılar sol tarafta kareleri sağ tarafta olacak şekilde gösteriniz. m-dosya adı kareselgos.m olsun

disp(' ')

disp('sayi karesi ')

disp('==== ======== ')

for i = 1:5

karesi = i^2;

sayi=i;

fprintf('%2.0f \t %2.0f\n',sayi,karesi)



end
» kareselgos

sayi karesi

==== ========

1 1


2 4

3 9


4 16

5 25
Ör: Bir küpün bir kenarını girerek alanını ve hacmini veren kup.m adlı bir program yazınız. Rastgele değerlerle test ediniz.

disp('KUP Bilgileri')

a = input('Kupun bir kenarini giriniz: ');

b=6*a^2;

c=a^3;


disp(['Alani: ' num2str(b) 'm^2' ])

disp(['Hacmi: ' num2str(c) 'm^3' ])


» kup

KUP Bilgileri

Kupun bir kenarini giriniz: 4

Alani: 96m^2

Hacmi: 64m^3
tic, toc fonksiyonu

Bu fonksiyon bir işlemin ne kadar süre zaman aldığını ölçmek için kronometre gibi çalışır işlemin başında sanki kronometreye basılır

ve işlem basında tekrar basılır ve aradaki zaman ölçülür. Genel yazım formatı
tic

çeşitli ifadeler

toc
şeklindedir. tic kronometreyi başlatır. toc ise tic in kullanıldığı andan itibaren geçen süreyi yazdırır. sure adlı değişken ise geçen süreyi saniye olarak toc’a döndürür.


tic;

x=0:0.001:10;

y=(sin(x).*cos(x))./(sin(x)-cos(x));

toc;
kodunu bir sureolc.m dosyasına yazalım ve çalıştıralım.

elapsed_time =

0.0500


Görüleceği gibi işlem toplam olarak 0.05 saniye sürdü. elapsed_time =geçen süre
PROGRAMI .EXE HALİNE GETIRMEK

Örnek olarak ikinci dereceden denklemin kokleirni bulan bir programı .exe yapalım. En önemli nokta program kodunun fonksiyon m-dosyası şeklinde olması ve Turkce karaketer kullanılmamasıdır.


f unction [x1,x2]=iddkokleri

disp('ax^2+bx+c=0 seklindeki 2. dereceden denklem cozumu')

disp(' ')
%Katsayilari girme

a=input ('a katsayisini giriniz: ');

b=input ('b katsayisini giriniz: ');

c=input ('c katsayisini giriniz: ');

disp(' ')
if a==0

disp('Denklem 2. dereceden degildir sifirdan farkli bir a katsayisi giriniz')

end

clc


Katsayilar=[a b c]
% Dikstriminant bulma

D=b^2-4*a*c;


% Kokleri bulma

x1=( -b + sqrt(D) )/(2*a);

x2=( -b - sqrt(D) )/(2*a);
% Kokleri sinama

if D < 0


disp('Denklemin iki kompleks koku vardir.')

x1

x2



else if D == 0

disp('Denklemin iki esit koku vardir.')

x1,x2

else


disp('Denklemin iki reel ayrik koku vardir.')

x1

x2



end

end
Programı yazıp fonksiyon adıyla aynı adlı olarak kaydettikten sonra komut satırından


>> mcc -m iddkokleri
yazılır ve Lcc compiler seçeneği secilerek m dosyanız iddkokleri.exe haline getirilir.


1   2   3   4   5


Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©atelim.com 2016
rəhbərliyinə müraciət