You are on page 1of 60

1

Algoritma ve Programlama


2010
2
erik
Giri
Algoritma nedir?
ak emalarnda kullanlan semboller nelerdir?
ak emalarndaki mantksal yaplar
rnek algoritma ve ak emalar
Bilgisayar program nedir?
rnek bir C program
Programlar nasl altrlyor?
En ok bilinen programlama dillerinin tarihesi
Baz programlama dilleri
MATLAB ile programlama
3
Giri
ster bilgisayarla, ister bilgisayarsz olsun soru zmek
iin belirli bir yol vardr. Ancak bu yol ile salkl bir
zme ulalabilir.

Doru bir yol izleyebilmek iin, klan ve ulalan yer
tanmlanmaldr. Ayn soru iin deiik zm yollar
gelitirilebilir.

Eer bilgisayara verilen zm yanlsa, kan sonu
yanl zm doru ise kan sonu da dorudur.
4
Giri
Bilgisayar ortamnda bir problem zlrken aadaki admlara dikkat
edilmelidir.

a-) Soru Tanmlama: Her eyden nce zlecek soru tam olarak
anlalmaldr. Yanl anlalm bir sorunun zm yanl olacak ve
istenileni vermeyecektir. Bu admda yaplacak en ufak bir hata daha sonraki
admlarn yeni batan yaplmasn gerektirebilir. Sorunun tanm yaplrken
var olan bilgiler, anlamlar ve birbirleri ile ilikileri tanmlanmaldr. Daha
sonra istenenler belirlenmeli ve bunlarn var olan bilgiler ile ilikileri
renilmelidir. Son olarak yaplacak ilemler belirlenir. Mmkn ise rnek
veriler ile elde edilen sonular deerlendirilmelidir.

b-) Algoritma Gelitirme: Algoritma bir sorunun zm iin izlenecek yolun
tanmdr. Ksaca algoritma mevcut bilgilerden istenilenlere erime
yntemidir. Soru tanmn tam olarak yaptktan sonra, zm iin yol aramak
gerekir. Genellikle bir sorunun birden fazla zm yolu olabilir. Bunlardan
en uygunu seilmeye allr. Soru ne kadar kark olursa olsun, alt
birimlere blnr. Her birimin zm ayr, ayr yaplr. Bu yaplrken
birimler aras iliki srekli olarak korunur.
5
c-) Girdi ve kt Biimi Belirleme: Sonularn d ortama, dolaysyla insana
aktarm dzgn bir biimde yaplmaldr. Programc program kts olarak
almak istedii dkmn biimini tasarlar. Bir dkm biimi tasarlanrken
anlalr ve kullanlabilir olmasna zen gsterilmelidir. Genellikle programa,
zd soruna ilikin baz verilerin dardan verilmesi gerekir. rnein bir
denklem takmnn kkleri bulunacaksa, ilgili katsaylarn programa verilmesi
gibi.

d-) Ak emasn izme: Ak emas belirli bir iin yaplabilmesi iin, basit
ilemlerle ema halinde gsterilmesidir. Ksaca algoritmann emalarla
gsterilmesidir. Algoritma gelitirildikten sonra, daha iyi anlalabilir olmas
ve programlama dillerine aktarm daha kolay olmas nedeniyle, ak emas
haline getirilir. Bylece sorunun zm basamaklar, birbirleri ile ilikileri ve
bilgi ak daha kolay grlebilir ve yanllklar dzeltilebilir.

e-) Kodlama: Ak emalar izildikten sonra, sorunu yapsna uygun bir
programlama dili seilir. Bu dil ile ak emalar dilin kurallarna uygun
olarak bilgisayarn anlayabilecei duruma getirilir.

f-) Program Snama: Program yazldktan sonra, sonular daha nceden
bilinen veriler girilerek, eldeki sonularla kan sonular karlatrlr.
Programn doru alp almad snanr.
Giri
6
Algoritma
Algoritma belirli bir grevi yerine getiren sonlu saydaki ilemler
dizisidir.

Her algoritma aadaki kriterleri salamaldr.

Girdi: Sfr veya daha fazla deer dardan verilmeli.
kt: En azndan bir deer retilmeli.
Aklk: Her ilem (komut) ak olmal ve farkl anlamlar iermemeli.
Sonluluk: Her trl olaslk iin algoritma sonlu admda bitmeli.
Etkinlik: Her komut kiinin kalem ve kat ile yrtebilecei kadar
basit olmaldr.

7
Bilgisayar Bilimcisi D.Harel Algoritmics: The Sprit of
Computing isimli kitabnda:

lem sresi boyunca yerine getirilecekler pasta tarifi
algoritmas

Algoritma
Algoritma
8
ak emalarnda kullanlan semboller ve
anlamlar
Simge Simgenin Ad ve Anlam
Elips Ak emasnn balang ve biti yerlerini gsterir.
Balang simgesinden k oku vardr. Biti simgesinde giri
oku vardr.
Paralel Kenar: Programa veri girii ve programdan elde
edilen sonularn k ilemlerini gsterir.(Oku, Yaz)

Dikdrtgen Aritmetik ilemler ve deiik atama ilemlerinin
temsil edilmesi iin kullanlr.(A=A+1, Final=100 vb..)

Ekenar Drtgen Bir karar verme ilemini temsil eder. (Eer
sayi<0 ise Yaz Say negatif vb)


Altgen Program iinde belirli bloklarn ard arda tekrar
edileceini gsterir.(Dng kurmak iin kullanlr)


Oklar Diyagramn ak ynn ,yani her hangi bir admdaki
ilem tamamlandktan sonra hangi adma gidileceini
gsterir.
9
Ak emalarnda kullanlan mantksal yaplar
Bir bilgisayar programnn gelitirilmesinde kullanlan programlama dili
ne olursa olsun bu programlarn ak diyagramlarnda genel olarak
yalnz basit mantksal yap kullanlr:

1.Sral yap; hazrlanacak programdaki her ilemin mantk srasna gre
nerede yer almas gerektiini vurgular. Bu yap sona erinceye kadar
ikinci bir ilem balayamaz.


2.Karar Verme Yaps; programlama srasnda If...Then... Else (Eer.
<art> .se.) yaps ile tanyacamz bu mantksal yaplar, birden
fazla sral yap seeneini kapsayan modllerde, hangi artlarda hangi
sral yapnn seileceini belirler.
10
3.Tekrarl Yaplar; dng oluturmak iin kullanlan yapdr. Dngler
ayn ilemin bir ok kez yaplmasn salar.
Ak emalarnda kullanlan mantksal yaplar
Sz konusu deiik yap, deiik kombinasyonlarda kullanlarak istenilen
ilevleri yerine getirecek programlar hazrlanabilir.

Programlarn bu basit yap ile snrlandrlmas program modllerinin daha
kolay tasarlanmasn salar.
11
rnek Algoritma ve Ak emalar
rnek 1: Klavyeden girilen 2 saynn toplamn bulan programn
algoritma ve ak emasn yapnz.

Bu problemi zerken yapmamz gereken ilk i problemi iyice
anlamaktr. Problemi zmlersek yaplacak olan ilemler
unlardr:

1. Klavyeden 2 adet say girilecek. O zaman bellekte 2 odack
amalyz. Yani veri girii iin 2 tane deiken kullanmak
zorundayz.

2. Klavyeden girilen ve ram bellee aktarlan bu iki deiken
toplanacak. Toplam sonucunu yine ram bellee aktarlmaldr. Bu
yzden ram bellekte bir odack daha amalyz. BaslaOku Sayi1,
Sayi2Toplam=Sayi1+Sayi2Yaz ToplamBitir

3. Bulduumuz toplam sonucunu ekrana yazdrmalyz. Aksi taktirde
toplam sonucu sadece ram bellekte bulunur ve sonucu kullanc
gremez. imdi bu aklamalar nda algoritma ve ak
emasn yazalm:
12
Algoritma:
Oku Sayi1, Sayi2
Toplam=Sayi1+Sayi2
Yaz Toplam
Dur
Basla
Oku
Sayi1,Sayi2
Toplam = Sayi1+Sayi2
Yaz Toplam
Bitir
Ak Diyagram
Sayi1 Sayi2 Toplam
9 6 15
9 ve 6 deerleri iin bellekteki durum:
rnek Algoritma ve Ak emalar
1.rnek iin;
13
rnek-2: Klavyeden girilen 3 saynn aritmetik ortalamasn bulan
programn algoritma ve ak emasn yazn.
rnek Algoritma ve Ak emalar
Algoritma;
1. Oku S1,S2 ve S3
2. Toplam=S1+S2+S3
3. Ort =Toplam/3
4. Yaz Ortalama=;Ort
5. Dur
Yerine
Ort = (S1+S2+S3)/3
yazlabilir.
Bala
Oku
S1,S2,S3
Toplam=S1+S2+S3
Ort=Toplam/3
Yaz Ort
Bitir
10,15,8 deerleri iin bellekteki durum ve
ekran kts:
S1 S2 S3 Toplam Ort
10 15 8 33 11
Ekran kts
Ortalama=11
14
rnek 3: Ekrana 5 defa Pamukkale yazdran programn algoritma ve
ak emasn yazn?
rnek Algoritma ve Ak emalar
Algoritma;

1. Basla
2. sayac=0
3. YAZ Pamukkale, sayac
4. sayac=sayac+1
5. Eer sayac<5 GT 3
6. DUR
Bitir
Sayac=0
Yaz
Pamukkale
sayac=sayac+1
sayac<5
mi?
E
H
Bala
15
rnek 4: Klavyeden girilen 2 sayy karlatrp sonucu ekrana
yazdran algoritma ve ak emasn yazn?
Algoritma;

1. BALA
2. OKU sayi1,sayi2
3. EER sayi1>sayi2 SE YAZ Sayi1 sayi2den byktr
4. Deilse EER sayi2>sayi1 SE YAZ Sayi2 sayi1den byktr
5. DEL SE YAZ Sayi1 sayi2ye eittir
6. BTR
rnek Algoritma ve Ak emalar
16
Bala
Oku
sayi1, sayi2
Sayi1>
sayi2
mi?
Yaz
S1 > S2
E
H
Sayi2>
sayi1
mi?
E
Yaz
S2 > S1
Yaz
S1 = S2
Bitir
rnek Algoritma ve Ak emalar
17
Bilgisayar Program
Bilgisayara bir yada bir ok ilemi yaptrmak iin,
ilemlere karlk gelen komutlar topluluuna bilgisayar
program denir.

Bilgisayar program yazmaya yarayan 150den fazla
programlama dili vardr.

Bunlardan en ok bilinenleri;

Basic, Visual Basic, Fortran, Cobol, Pascal, Delphi, C,
C++, Visual C, C#, Matlab, Java ....


18
18
rnek bir program
#include <stdio.h>

int main()
{
int a, b, c;

printf(iki sayi giriniz: ");
scanf("%d%d", &a, &b);
c=a+b;
printf(Sonuc %d ", c);
return 0;
}
ki sayi giriniz:
Sonuc 13
C Program
_
_
_
\n
5 8 _
a ve b
degiskenlerine
sayilari okur
Sonuc kelimesini
yazip toplam degeri
goruntuler
19
19
Programlar nasl altrlyor?
Programmz
herhangi bir dil ile
yazyoruz. rnein
C programlama dili
ile yazdmz
varsayalm
#include <stdio.h>
int main()
{
printf("Hello world!");
return 0;
}
Compiler ile program
C dilinden makine
diline dntrlr

(Kaynak koddan
makine koduna
dnm)
Compile & Link
Artk kodlar
bilgisayarlar tarafndan
altrlabilir bir hale
gelmitir
Bilgisayarlar sadece
makine dilindeki
komutlar anlayp
altrabilir
1110101011001001010
0010101001010000100
1010010101010100010
1001000100101001
(source code) (object code)
(machine code
or
executable code)
20
P
r
o
g
.

D
i
l
l
e
r
i
n
i
n

T
a
r
i
h

e
s
i


(
E
n

o
k

b
i
l
i
n
e
n

d
i
l
l
e
r
l
e
)

21
Baz Programlama Dilleri
FORTRAN

FORMULA TRANSLATION kelimelerinin ilk hecelerinden
tretilen FORTRAN, bilimsel hesaplamalar yapmak iin
gelitirilmitir.

1954'de IBM tarafndan retilmi ve IBM 704 iin ilk srm
gelitirilmitir

Birka srm vardr (FORTRAN IV, FORTRAN 77,
FORTRAN 90)

Sembolik programlama dillerinin ilki olan FORTRAN
programlama dili 1950li yllarn sonlarnda ortaya kmtr

nsanlarla bilgisayar arasndaki iletiimde getirmi olduu
yenilik ve kolaylklar nedeniyle yaygn bir kullanm alan
bulmutur
22
PASCAL

Baz srmleri bugn hala yaygn olarak kullanlmaya devam
eden en nemli programlama dillerinden biridir

lk Macintosh iletim sisteminin ou TexPascal ile yazlmtr

1970te yaplsal programlamann derleyiciler iin daha kolay
ilenir hale getirilmesi iin gelitirilmitir

Adn matematiki ve dnr Blaise Pascaldan alan Pascal,
Algol programlama dilinden tretilmitir

Pascal dilinde harflerin bykl-kkl nemli deildir.
fadeler noktal virgl ile ayrlr, ve programlar bir nokta ile
bitirilir

Baz Programlama Dilleri
23
PYTHON

Python, ABC adl bir dilin devam olarak gelitirilmeye
balanm olan, nesne ynelimli, etkileimli yksek seviyeli bir
dildir

Gelitirilmeye 1990 ylnda Amsterdam'da balanmtr. Adn
sanlann aksine bir ylandan deil Monty Python's Flying
Circus adl programdan almtr.

Python 1.0 srmne Ocak 1994'te ulamtr. u an ki en
son kararl srm Python 2.5'tir, Python 3.0 alpha srm
datlmaya balanmtr

Unix, Linux, Mac, Windows gibi hemen hemen her trl
platformda alr

Baz Programlama Dilleri
24
COBOL (Common Business Oriented Language)

Ticari uygulamaya ynelik yksek seviyeli bir dildir

1959 ylnda gelitirilen COBOL, 1960 senesinde CODASYL tarafndan
gelitirilerek COBOL 60 ad altnda piyasaya kmtr

Gnmze kadar COBOL 68, COBOL 74 gibi eitli trleri
oluturulmutur. (Bugn mikro bilgisayarlar iin yaplm birok COBOL
tr mevcuttur.)

Bu dil ile eitli muhasebe, personel, stok, emlak gibi akla gelebilecek
ticari programlar yazmak mmkndr

Genelde Windows tabanl programlar tercih edilse de COBOL hala
salamln korumaktadr
Baz Programlama Dilleri
25
DELPHI

Borland tarafndan gelitirilen grsel bir programlama dilidir

* (Grsel programlama dili; hazr (aralar) komponentleri olan
(windows formlar, metin kutular, kontrol dmeleri..gibi), yazm ve
derlemesi kolay olan, yine bu aralara kod yordamlar ile hakimiyet
kurulan dillerdir

Turbo Pascaln Windows uyarlamas gibi bakabileceimiz Delphi
birok komutu ve yaps bakmndan Turbo Pascal dilinin bir trevi
niteliindedir

Nesne, snf, kaltm, fonksiyon arykleme (overloading) gibi temel
nesneye ynelik programlama tekniklerini ve daha fazlasn ieren,
gl ve esnek bir programlama dilidir


Baz Programlama Dilleri
26
Visual Basic

VB, hem Basic dilinin getirdii kolayl hem de Windows
ortamnn getirdii grsellii en st seviyede programcya
sunabilmektedir

Visual Basic, .NET srmyle getirdii yzlerce yeni zellii
kolay ve sorunsuzca kullanmanz, ayn zamanda program
gelitirirken kodlar arasnda boulmamanz salayacak
zellikleri iermektedir

VBde, her ey nesne olarak tanmlanmtr. Nesneler,
kendilerine ilitirilmi olan olaylar (farenin tklanmas, farenin
ift tklanmas gibi) tanyabilir ve yazlm olan komutlara gre
tepki verebilir
Baz Programlama Dilleri
27
JAVA

Java, Sun Microsystem mhendisleri tarafndan gelitirilmeye
balanm ak kodlu, nesneye ynelik, platformdan bamsz,
yksek performansl, ok ilevli, internet destei olan, yksek
seviyeli bir dildir

Java ilk ktnda daha ok kk cihazlarda kullanlmak iin
tasarlanm ortak bir platform dili olarak dnlmt

Gnmzde, platform bamszl zellii, standart
ktphane destei ve gvenli bir yazlm gelitirme ve iletme
ortam sunduundan, hemen her yerde kullanlmaya
balanmtr

u anda zellikle kurumsal alanda ve mobil cihazlarda son
derece popler olan Java zellikle J2SE 1.4 ve 5 srm ile
masast uygulamalarda da yaygnlamaya balamtr

Baz Programlama Dilleri
28
C

C, 1970'lerin banda UNIX iletim sistemi iin gelitirilmi bir
programlama dilidir

C, gnmzde neredeyse tm iletim sistemlerinde kullanlan,
dnyann en ok kullanlan sistem programlama dilidir

Uygulama programlar yazmak iin de ok sk kullanlmaktadr

ok kullanlan programlama dillerinden olan C++ da C den
tremi bir dildir
Baz Programlama Dilleri
29
Platform Yazlm Tr
DOS Windows Linux Web Sistem
Mh.lik
ve Mat
Oyun Yapay
Zeka
Mesleki
ve
Ticari
C .NET C HTML C Fortran VB Prolog COBOL
C++ C++ C++ ASP C++ PL-I Delphi C++ C++
Assembly Delphi Java PHP Matlab Java C
Pascal Java ADA Java
Script
C++ Visual
C++
.NET
Basic Pascal Basic VB
Script
.NET Pascal Delphi
Lisp Perl VB Pascal
Scheme .NET VB
Python C#
XML
Baz programlama dillerini kullanld platformlar ve yazlm trleri asndan
aadaki gibi zetlemek mmkndr
Baz Programlama Dilleri
30
Matlabte programlama en genel olarak iki yolla yaplr:
- Komut satrnda (in-line) programlama
- m-dosyalaryla (m-files) programlama

m dosyalar oluturabilmek iin bir metin editrne ihtiya vardr. Bu
editr Matlabde Editor/Debugger ortamdr.
MATLAB ile PROGRAMLAMA
History
Workspace
Command Window
31
M-file oluturma
Matlabte belirli bir ilemi gerekletirmek zere gerekli olan komut
ya da fonksiyonlar komut satrndan, tek tek girerek icra etmek
mmkndr.

MATLAB komut ya da fonksiyonlarndan gerekletirmek istediimiz
bir ile ilgili zel bir grubu, bir dosyaya kaydederek, bu dosya isminin
arlmasyla da icra ettirebiliriz. Bunun iin m-dosyalar kullanlr.

Yazlan program work alma dosyasnn iine istenilen isimle
kaydedilir. Kaydedilen dosyalarn uzants .m olarak kaydedilir.
(rnek: sonuc.m)

stenen dosyay altrmak iin ise komut satrnda dosya ismini
yazp Enter tuuna basmak yeterlidir. Ayrca work mensne
girilip oradan da altrlabilir.

32
M-file oluturma
Alt Taslaklarn Bamsz Kontrol: Her taslak bamsz bir
program olarak yazlabildiinden, bu taslaklarn istenilen amaca
ynelik olup olmad, verilen girdilere gre istenilen ktlarn elde
edilip edilememesi kolaylkla kontrol edilebilir. (Tek bir program
ierisinde hatann ayklanmas ok gtr.)

Tekrar Kullanlabilmesi: Ayn program ierisinde tekrar tekrar ayn
taslan kullanlmas durumunda m-dosyalar programdaki
karklklar ve programn younluunu azaltr.

Deiken Kontrol: Alt taslaklar kullanlarak, ana program
iersinde dzenli girdi ve kt deikenler listesi elde edilir. Bu
ekilde deikenler rahatlkla kontrol edilebilir.

M-file yapsnn kullanlmasnn katklarn balkta toplayabiliriz:
33
M-file oluturma
RNEK:
34
Kullanlan Baz Fonksiyonlar
global( ) komutu: Farkl M-dosyalar iin ayn deiken tanmlanacaksa o
deiken global(x) olarak tanmlanabilir.

Clear all komutu: Global fonksiyonu ile tanmlanan zel olarak saklanan
bilgilerin silinmesinde kullanlr.

disp( ) komutu: stenen aklamay grntler.
>> disp('Programlamaya Giris')
Programlamaya Giris

input() komutu: Kullancdan klavye araclyla veri girii salanp ilgili
deikene atanr.
>> Yas=input('Yasinizi giriniz :')
Yasinizi giriniz :23
Yas =
23

fprintf komutu: Bir aklama ifadesiyle birlikte bir veya birden fazla
deerin grntlenebilmesini salar.
>> a=231565465;
>> fprintf('Hesap = %d ',a)
Hesap = 231565465.000000
35
NOT: fprintf fonksiyonu, kompleks saylarn sadece reel ksmn
gsterir. Bu nedenle kompleks say uygulamalarnda saynn tamamn
gstermek iin disp fonksiyonu kullanlmaldr.


fprintf fonksiyonunda kullanlan eitli biim tipleri aada
gsterilmitir:

%d : Virgll saylar 10un kuvvetleri eklinde gsterir.
%f : Kayan noktal ekilde gsterir, aksi belirtilmedike virglden sonra 6
basamak gsterir.
%e : Sayy stel ekilde gsterir.

Kullanlan Baz Fonksiyonlar
36
Fonksiyon Tanmlama
function : Fonksiyon tanmlamak iin kullanlan anahtar kelimedir.

rnek: Kullanc tarafndan girilen n adet rakamn (Bu rakamlarn
MATLABde vektr formunda girilmesi gerekmektedir) ortalamasn,
en kk elemann, en byk elemann ve standart sapmasn
bulacak bir fonksiyonu islem(a) adyla oluturalm.

37
Fonksiyonlarn genel yazm format
function [out1,out2,... ,outN] = fonksiyon_ad (input1,input2,...,inputM)


Fonksiyon oluturmak iin iki nemli kural vardr:
function ile balamaldr.
fonksiyon ad ile dosya ad ayn olmaldr !


NOT: M-fonksiyonlar altrldklarnda kendilerine ait bir alma alan
kullanacaklarndan, M-fonksiyon dosyas iinde hazrlanan deikenlere
ait deerler, alma alannda grlmez ve komut penceresinden
grntlenemez.

Fonksiyon Tanmlama
38
M-dosyalarn listeleme ve grntleme
m-dosyalarn listeleme
what komutu: Geerli dizindeki yani varsaylan alma
klasrndeki tm dosyalar listeler.
dir komutu: Geerli dizindeki sizin tanmladnz dosyalar
listeler.
lookfor komutu: Bulmak istediiniz bir anahtar kelimenin getii
m-dosyalarn listeler.

m-dosyalarn grntleme ve dzenleme
type m-dosya_ad komutu: m-dosyas komut penceresi
ortamnda grntlenir. zerinde herhangi bir dzenleme
yaplamaz.
edit m-dosya_ad komutu: m-dosyas editr penceresi
ekrannda grntlenir. zerinde her trl dzenleme ilemi
yapabilir ve yeni hali ile kaydedilir.
39
leler (Operatrler)
leler e ayrlr: Aritmetiksel, ilikisel ve mantksal

likisel leler:
< Kktr
<= Kk eittir
> Byktr
>= Byk eittir
== Eittir
~= Eit deildir

Mantksal leler:
~ NOT (deil)
& AND (ve)
| OR (veya)

>>a=3;b=4;
>>c1=a/b;
>>c2=a\b;
c1=0.75
c2=1.3333.
dikkat!
40
Matematik Gsterim
Matlab yorumu
x
z y =
x
y e =
y ln(x) =
y log(x) =
y sin(x)
y cos(x)
y tan(x)
=
=
=
1
1
1
y sin (x)
y cos (x)
y tan (x)

=
=
=
>>z=y^x;
>>y=exp(x);
>>y=log(x);
>>y=log10(x)
>>y=sin(x);
>>y=cos(x);
>>y=tan(x);
>>y=asin(x);
>>y=acos(x);
>>y=atan(x);
leler (Operatrler)
41
Sadece ayn boyutlu matrislerde toplama-karma yaplabilir
arpma ilemi iin i boyutlar ayn olmak zorunda
1 2 3
4 5 6
(
=
(

A
2 3 4
5 6 7
(
=
(

B
4 5
6 7
8 9
(
(
=
(
(

C
Doru ifadeler
Hatal ifadeler
>>D=A+B;
>>D=A-B;
>>D=A*C;
>>D=C*A;
>>D=A+C;
>>D=A*B;
>>D=B*A; Ayn deil!
Matrisler
42
Sol(\) and Sa(/) Matris blm
Matematik gsterim Matlab yorumu
1
= C A B
1
= C BA
>>C=A\B;
>>C=B/A;
A full rank olan kare matris olmak zorunda
(linearly bamsz satrlar/stunlar)
Matrisler
43
Matematik gsterim
Matlab yorumu
T
= C A
>>C=A;
Karmak sayl matrisler iin kompleks-konjuge transpoze
1 2 3
4 5 6
(
=
(

A
1 4
2 5
3 6
(
(
=
(
(

B
>>B=A;
| |
1 j2 3 j4 = + + a
1 j2
3 j4

(
=
(


b
>>b=a;
Bir matrisin transpoze gsterimi
Matrisler
44
>>a=[1,2,3;4,5,6];
>>a(2,:)=0
a=
1 2 3
0 0 0

>>a(:,1)=10
a=
10 2 3
10 0 0
oklu deer atama
>>a=1:10;
a=
1 2 3 4 5 6 7 8 9 10

>>b=[1:2:6;2:3:10;3:5:13]
b=
1 3 5
2 5 8
3 8 13

>>c=a(3:end-4)
c=
3 4 5 6
matris oluturma
Matrisler
>>a(a<3)=0
a =
0 0 3
4 5 6
45
ART DEYMLER (CONDITIONAL STATEMENTS)
if (eer)
(1 art)

if mantksal ifade
deyim
end
else (baka)
(2 art)

if mantksal ifade
deyim 1
else
deyim 2
end
elseif (eerbaka)
(n art)

if mantksal ifade 1
deyim 1
elseif mantksal ifade 2
deyim 2

elseif mantksal ifade n-1
deyim n-1
else
deyim n
end
46
ART DEYMLER (CONDITIONAL STATEMENTS)
RNEK:
47
switch - case Yaps
switch - case : kiden fazla durumu kontrol
etmek iin, if elseif else end yapsna
alternatif olarak kullanlan bir kontrol yapsdr.

fadenin deeri kontrol edilir ve buna gre
farkl bir deyim veya deyimler grubu icra edilir.

rnein, ifadenin deeri deger1 ise, deyim1
icra edilir ve kontrol endi izleyen deyime
geer. fadenin deeri , deger2, deger3 ya da
deger4 e eitse bu durumda deyim2 icra edilir
ve kontol endi izleyen deyime geer.

fadenin deeri, caselerle kontrol edilen
deerlerden hi birine eit deilse bu
durumda da otherwise szcn izleyen
deyim_n+1 icra edilecektir.
48
switch - case Yaps
RNEK:
49
DNGLER (LOOPS)
for - end
Bir for dngsnn genel format;


for index = start : [increment :] end
statements
end
index, start, increment, ve end tamsay olmak zorunda deil
increment istee bal, een increment verilmemise varsaylan
deer 1 dir.
index artan ynde (increment > 0) veya azalan ynde (increment < 0)
gidebilir.
index > end (veya index < end) olduunda dng sonlanr
50
DNGLER (LOOPS)
RNEK:
51
Temel 2D izim komutlar
>>plot(x1,y1[,x2,y2,x3,y3.....])
>>xlabel(x ekseni ad)
>>ylabel(y ekseni ad)
>>title(grafik bal)
yardmc komutlar
>>grid on
>>grid off
>>axis([xmin,xmax,ymin,ymax])
52
>> x=0:pi/4:2*pi;
>> y=sin(x);
>> plot(x,y)
Temel 2D izim komutlar
rnek 1:
53
>> x=0:pi/20:2*pi;
>> y=sin(x);
>> plot(x,y)
Temel 2D izim komutlar
rnek 2:
54
>> x=0:pi/20:2*pi;
>> y=sin(x);
>> plot(x,y)
>> grid
>> xlabel('x ekseni (rad)')
>> ylabel('y ekseni (\mu)')
>> title('Sins grafigi')
Temel 2D izim komutlar
rnek 3:
55
>> x=0:pi/20:2*pi;
>> y=sin(x);
>> plot(x,y)
>> grid
>> xlabel('x ekseni (rad)')
>> ylabel('y ekseni (\mu)')
>> title('Sins grafigi')
>> y2=cos(x);
>> hold
Current plot held
>> plot(x,y2,'--r')
>> plot(x,y,x,y2,'--r')
Temel 2D izim komutlar
rnek 4:
56
>> x=0:pi/20:2*pi;
>> y=sin(x); y2=cos(x);
>> plot(x,y,x,y2,'--r')
>> grid
>> xlabel('x ekseni (rad)')
>> ylabel('y ekseni (\mu)')
>> title('Sins grafigi')
>>legend('sinus','cosinus')
Temel 2D izim komutlar
rnek 5:
57
>> x=0:pi/20:2*pi;
>> y=sin(x); y2=cos(x);
>> plot(x,y,x,y2,'--r')
>> grid
>> xlabel('x ekseni (rad)')
>> ylabel('y ekseni (\mu)')
>> title('Sins grafigi')
>> v=[0 6.3 -1.5 1.5];
>> axis(v)
Temel 2D izim komutlar
rnek 6:
58
>> x=0:pi/20:2*pi;
>> y=sin(x); y2=cos(x);
>> figure
>> subplot(2,1,1)
>> plot(x,y)
>> title('sins&kosins grafikleri')
>> subplot(2,1,1),xlabel('x ekseni')
>> subplot(2,1,1),ylabel('y')
>> subplot(2,1,2)
>> plot(x,y2)
>> xlabel('x ekseni')
>> subplot(2,1,2),ylabel('y2')
Temel 2D izim komutlar
rnek 7:
59
Nmerik metodlar
polinom:
Matlab yorumu:
polinom arpm (convolving)
polinom blm (deconvolving)
x=s iin polinomun deeri
polinomun kkleri
kkleri r olan polinom
60
Nmerik metodlar
rnek :
>> % p1=x^2-1 ve p2=x-2 olsun
>> p1=[1 0 -1]; p2=[1 -2];
>> p=conv(p1,p2)
p=
1 -2 -1 2
>>r=roots(p)
r=
2.0000
1.0000
-1.0000
>> polyval(p,1)
ans=
0
>> p3=poly(r)
p3=
1.0000 -2.0000 -1.0000 2.0000
x teriminin katsays sfr !
(kkleri r olan polinom)
(verilen p polinomunun kkleri)
(1 iin p polinomunun deeri)

You might also like