You are on page 1of 106

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

Emre zbay

GR

Matlab nedir?

(MATrix LABoratuvary); ilk defa 1985 de C.B. Moler tarafndan gelitirilmi ve


zellikle de matris esasl matematik ortamnda kullanlabilen etkileimli bir paket
programlama dilidir.
Matlab, ABD meneli The Mathworks Inc. Natick, MA irketinin tescilli addr. Web
adresi: http://www.mathworks.com
Trkiye Distribitr: F"GES rmas Web adresi: http://www.ges.com.tr

Matlab neler yapabilir?

Matematik ve hesaplama ilemleri, algoritma gelitirme.


Modelleme, benzetim ve prototipleme.
Grak ilemleri
zgn Mhendislik ilemleri
statiksel hesaplamalar
Lineer, Kompleks, Diferansiyel denklem takmlarnn zm
MATLAB, matematik-istatistik, optimizasyon, neural network, fuzzy, iaret ve
grnt ileme, kontrol tasarmlar, yneylem almalar, tbbi aratrmalar, nans ve
uzay aratrmalar gibi ok eitli alanlarda kullanlmaktadr. MATLAB, kullancya
hzl bir analiz ve tasarm ortamsalar.
Matlab programn C/C++ diline dntrebilir,
20. dereceden bir denklemin kklerini bulabilir,
100x100 boyutlu bir matrisin tersini alabilir,
Bir elektrik motorunu gerek zamanda kontrol edebilir,
Bir otobsn sspansiyon simlasyonunu yapabilirsiniz

.e
e

w
w

de
rs
no
tla
ri.
co
m

MATLAB DERS NOTLARI

Matlabda iler nasl yrr?


Programn dili ve yardm bilgileri tamamen ngilizce dir. Komut temelli yazlmdr. areti
komut promptudur. Komutlar Enter ile yrtlr.

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

Matlab Temel Kullanmlar

rnek:

>> a=4*sqrt(5)
a =
8.9443

ifadesinde a deiken , 4 say , * ile , sqrt, fonksiyondur. Bir ifade = iareti ile bir
deikene atanmam ise Matlab otomatik olarak sonucu, ans (answer) ad verilen zel bir
deikende saklar.

Komutlardan sonra ; iaretinin kullanlmasyla ilemler yaplr fakat ekrana yazdrlmaz.


Tek satrda birden fazla komut girmek iin komutlar , veya ; kullanlr.
>> clc, a=5, c=6;
a =

.e
e

w
w

de
rs
no
tla
ri.
co
m

iaretinden sonra komut girilebilir. Herhangi bir komut yapsn kopyalayp


yaptrabilirsiniz. Klavyede st ok ve alt ok komut gemii ierisinde gezinmeyi salar. clc
komutu ekranda yazl olan komutlar temizler. Deiken tipi otomatik tanmlanr. (Numbers,
Char, String, Boolean); Matlabda ifadeler genellikle deiken = ifade veya sadece ifade
formundadr.

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

de
rs
no
tla
ri.
co
m

Matlab arayz

Dikkat Edilmesi Gerekenler

w
w

.e
e

Deiken tanmlarken ve dosya yazdrrken Trke ve sembolik karakter


kullanmamaya dikkat edilmelidir (" ve &(%*! .. vs.). Alt izgi (_)
kullanlabilir.
Matlabda byk harf ile kk harf tanm birbirinden fakldr:
sayiSayiSAY"SAYI
Tanml herhangi bir fonksiyon ismi deiken ve dosya ismi olamaz.
Parantez farkllklar ( ), [ ], { }
Ondalk say tanmlarken 3,5 eklinde deil 3.5
0.5 yerine .5 da yazlabilir.
Bilimsel notasyon gsterimi olan e (veya E) harfi 10nun kuvvetini temsil eder.
2e4=2.000e+4=2104=20000
1.65e-20=1.6510-20
Kompleks saylarda imajiner (sanal) ksmlar i veya j ekini alr. i veya j ile
gsterimlerinde bir fark yoktur.

>> a=3+3i
a=
3.0000 + 3.0000i
>> a=3+i*3

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

a=
>> a=3+4j

a=3.0000 + 4.0000i
>> a=3+i4

??? Undefined function or variable 'i4'.

Matlab Temel Kullanmlar

help komutu yardm Matlab ekranna indeksler.


helpwin komutu ise ayr bir pencerede yardm konularn indeksler.
help ... eklinde yazlan bir komut ...yerinde yazan komut hakknda yardm belgesini
Matlab ekranna indeksler.
helpwin ... eklinde yazldnda ise ayr bir pencerede bu ilemi yapar.
SHORT 5
LONG 15
BANK
RAT

rakaml (4 ondalk)
rakaml (14 ondalk)
iki ondalkl say
Ondalk saylar rasyonel say olarak gsterir.

.e
e

Matlabda ilemler varsaylan (default) olarak 4 ondalk say gsterilir.


format komutu ile deerlerin gsterim format ayarlanr. sadece format komutu
girildiinde varsaylan formata dner.
format... eklinde kullanlr. ... yerine formatlardan uygun olan gelir.
Dier formatlar iin: >> helpwin format

w
w

de
rs
no
tla
ri.
co
m

3.0000 + 3.0000i

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

w
w

.e
e

de
rs
no
tla
ri.
co
m

Sk kullanlan baz komutlar

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

w
w

.e
e

de
rs
no
tla
ri.
co
m

Kullanlan Belli Bal Noktalama aretleri

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

Matlabda lem Sras

2. sl ifadeler (soldan saadoru)

3. arpma ve blme (soldan saa doru)

4. Toplama ve karma (soldan saa doru)


>> 3+6^2-(24*6/3)^4
ans =

.e
e

-5308377

w
w

de
rs
no
tla
ri.
co
m

1. Parantez iindeki ifadeler

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

w
w

.e
e

de
rs
no
tla
ri.
co
m

Baz Saysal Fonksiyonlar

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

.e
e

Soru:

de
rs
no
tla
ri.
co
m

Baz Kullanlan Sabitler

Sadece xin sonucunu verecek bir matlab program yazn.

w
w

Cevap:

>> y=17^(1/3)/sqrt(5);

>> x=(1/sqrt(log(pi)))*exp((y^6)/4)
x =
1.6660

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

Bilgi Yazdrma ve Bilgi Alma

w
w

.e
e

de
rs
no
tla
ri.
co
m

Matlabda deerleri gsterme birok ekilde yaplr:

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

TRGONOMETRK FADELER ve MATRS LEMLER

de
rs
no
tla
ri.
co
m

Trigonometrik fadeler

>> alpha=30;

>> x=sin(alpha*pi/180)

.e
e

x=

0.5000

>> y=0.6;

>> beta=acos(y)*(180/pi)

w
w

beta=

53.1301

Soru:

a=?

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

>> b=5;c=8;A=120;
a=
11.3578

.e
e

Hiperbolik Fonksiyonlar

w
w

de
rs
no
tla
ri.
co
m

>> a=sqrt(b^2+c^2---2*b*c*cos(A*pi/180))

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

VEKTRLER ve DZM

>> V=3:2:12

V= 3 5 7 9 11

>> lnn=linspace(3,10,4)
lnn =

3.0000 3.6667 4.3333 5.0000


>> lgg=logspace(3,5,4)
lgg=
1.0e+05 *

0.0100 0.0464 0.2154 1.0000

MATRSLER

Matlab de bir matrisi bilgisayara yklemek iin eitli yntemler vardr:


1.

>> a=[2 7 9; 1 -3 6; 0 5 7]

% ve enter tuuna baslr.

%Aagda grld gibi, bir a matrisi oluacaktr:


a=

.e
e

2 7 9

1 -3 6
0 5 7

2. Matris elemanlar arasna boluk yerine virgl (,) ayrac da konulabilir:

w
w

de
rs
no
tla
ri.
co
m

Genellikle tek boyutlu matrislere vektr denir.


Matlabda n dereceli bir vektr ile 1xn veya nx1 lik bir matrisin fark yoktur.
Vektr yazdrmada kolaylk salama adna : iareti sklkla kullanlr.

>> a=[2,7,9;1,-3,6;0,5,7]
a =
2 7 9
1 -3 6
0 5 7

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

3. Dier bir yol ise matrisin satrlarn [ ] sembolleri arasna almaktr:

a=
2 7 9
1 -3 6
0 5 7

de
rs
no
tla
ri.
co
m

>> a=[[2 7 9]; [1 -3 6]; [0 5 7]]

Matris elemanlarn giriliinde drdnc yol ise her satr sonras ; sembolleri yerine enter tuu
kullanmaktr:
>> a=[2 7 9
1 -3 6
0 5 7]
a=
2 7 9
1 -3 6

w
w

.e
e

0 5 7

A.B ile B.A nn birbirlerinden farkl olduu unutulmamal.


Matris elemanlar alelade rakamlardan ibaret olabilecei gibi MATLAB deyimlerinden
ibaret de olabilir. rnein

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

x=[-1.3 sqrt(3) (1+2+3)*4/5]

x=

de
rs
no
tla
ri.
co
m

bildirimi

-1.3000 1.7321 4.8000

Kk matrisleri eleman olarak kullanp daha byk matrisler oluturmak mmkndr.


rnein,
C=[a; [10 11 12]]

: iareti kullanmak sureti ile byk bir matristen daha kk bir matris oluturulabilir.
rnein
C=C(1:3,:)

Verilerin deerlendirilmesinde stun ilemcisi : ok kullanldr. rnein


x=data(:,1)

y=data(:,2)

bildirimleri ile data ad altnda matris biiminde tanmlanan verilerin 1. stun x


deikenine ve 2. stunu da y deikenine atanm olur. Benzer ekilde;

x=data(1,:)

data matrisindeki verilerin 1. satrn x deikenine atar.

.e
e

X=data(:,2:3)

Data matrisindeki verilerin 2. ve 3. stunlarn x deikenine atar.

w
w

X=data(1:3,:)

Data matrisindeki verilerin 1,2 ve 3 nc satrlarn x deikenine atar. Bu ekilde mevcut


bir veri tablosundan ok deiik matrisler oluturmak mmkndr.
MATLABta kullanc, verileri kendi matrisleri ile tanmlayabilecei gibi MATLABn
kendi zel matrislerinden de faydalanabilir. Bunlarn belli ballar; ones, eye, zeros,
magic, rand, randn eklindedir.
Ones(n) :Tm elemanlar 1 olan nxn elemanl kare matris oluturur.
Ones(1,n):Tm elemanlar 1 olan n elemanl bir satr matrisi oluturur.
Ones(n,1):Tm elemanlar 1 olan n elemanl bir stun matris oluturur.

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

rnek

de
rs
no
tla
ri.
co
m

Benzer ekilde eye ile kegen elemanlar 1 olan birim matris, zeros ile tm
elemanlar sfr olan matris, rand, randn ile elemanlar rasgele saylardan oluan bir
matris oluturulabilir. help olanaklar ile daha ayrntl bilgiler elde edilebilinir.

Deerleri 30 ile 100 arasnda rasgele bir tamsay deeri alan 3x4 lk bir matris oluturun.
>> K=30+fix(rand(1)*70*ones(3,4))
K=

54 54 54 54

54 54 54 54
54 54 54 54

.e
e

>> K=30+fix(rand(1)*70*ones(3,4))
K =

88 88 88 88
88 88 88 88

w
w

88 88 88 88

Aadaki sorular cevaplandrn.


2
3
5
A= 7 11 13
17 19 23

A(2,1) ans=?
A(2:3,2:3) ans= ?
A(:,1) ans= ?

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

A(2,:) ans= ?

de
rs
no
tla
ri.
co
m

A([1 3],[2 3]) ans= ?


B= A(: ), B = ?

linspace(-1,1,9) ans= ?
A(2,:) = [], A = ?

Aadaki matrisin sa alt kesinden itibaren 2x2 lik bir kare matrisi B deikenine
ataynz.

Matlabda temel matris ilemlerinin tamam yaplabilir.


Bir matrisin transpozesinin alnmas:
A=[ 0 -1 2; 1 2 -4], B=A'
A=

.e
e

0 -1 2
1 2 -4
B=

w
w

0 1

-1 2
2 -4
Bir matrisin tersinin (inversinin) alnmas:

>> A(3,:)=[3 5 7] %ncekinden devam


A =
0 -1 2
1 2 -4

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

3 5 7
ans=

2.0000 1.0000 0

-1.1176 -0.3529 0.1176


-0.0588 -0.1765 0.0588
>> inv(A)
ans=

Not : sadece kare matrsilerin tersi


alnabilmektedir. Fakat kare matris olup
da tersi tanml olmayan matrislerde
olabilir. Tekil matrislerin tersleri yoktur.

2.0000 1.0000 0

-1.1176 -0.3529 0.1176


-0.0588 -0.1765 0.0588

Bir matrisin determinantnn alnmas:


A=
0 -1 2
1 2 -4
3 5 7

>> B=det(A)
B=

.e
e

17

w
w

de
rs
no
tla
ri.
co
m

>>A^-1

Not : Not: Sadece kare


matrislerin
determinantlarnn
tanml olduu unutulmamaldr.

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

w
w

.e
e

de
rs
no
tla
ri.
co
m

Matrisler iin Tanml Baz Fonksiyonlar

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

Matrisler iin Tanml Baz Fonksiyonlar

Max(A),

ans=?

B=[11 13 5 7; 8 9 10 12];
Max(B) , ans=?

Bu iki ilemden de anlalaca gibi matrislerdeki fonksiyonlar, veriler zerinde stun tabanl olarak
iletilir. Yani bu fonksiyonlar her bir stuna ayr ayr uygulanr.
2
Soru A= 1
0

3
1
3

4
5
6

2
B= 4
1

1
3
1

1
6
0

C=A*B D=[A;B]

A matrisinin 1. Sutunu x dizine atayn


B matrisinin 2. ve 3. sutnunu y matirisine atayn
D matrisinin determinantn hesaplaynz.
B matrisindeki en byk sayyla A matrisini arpn.
A ile B matrisini eleman elamana arpn

Soru Kullancdan bilgi alp faktryel hesab yapp kullancya aklayc bilgi veren bir program
yaznz.

N=input('Faktriyeli alnacak sayy girin=');


P=[1:1:N];

Sonuc=prod(P);

.e
e

fprintf('Girmi
dir.',Sonuc);

olduunuz

saynn

fatriyeli

Faktriyeli alnacak sayy girin=5


Girmi olduunuz saynn fatriyeli 120 dir.>>

w
w

de
rs
no
tla
ri.
co
m

A=[1 3 5 7 8 9 10]

%.0f

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

Matrislerde ilemler

de
rs
no
tla
ri.
co
m

Toplama leme

w
w

.e
e

karma ilemi

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

de
rs
no
tla
ri.
co
m

arpma ilemi

ok Boyutlu Matrisler

w
w

.e
e

ki boyutlu matrisler mxn eklinde iken ok bayutlu matrisler i1xi2xi3xi4x...i19 eklindedir.


Verilerin tasarmnda matris boyutunu arttrmak mantkl deildir. Veri tasarlama konusunda
veritaban kitaplarna mracaat edilebilir.

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

DENKLEM ve DENKLEM TAKIMLARI LEMLER

de
rs
no
tla
ri.
co
m

Denklem Tanmlama

Matlabda tanmlamak istediimiz denklemi ne iin kullanacamza bal olarak tanmlama ekilleri
deiebilir.
Denklem ifa ettii fonksiyona gre u ekilde tanmlanabilir: y=

!! ! !!"# ! !!
!"#$ !

denklemim.m adl dosya:

function y=denklemim(x)

y=(3*x^2+sin(x)---5)/(cos(x)^2);
end

Denklemin x=3 iken MATLAB ana programda kullanm:

>> fy=denklemim(3)
fy=
22.5910

Bir dier denklem tanmlama ekli de u ekildedir:


>>

Y=inline('x^2-y^2')
Y=

.e
e

Inline function:
Y(x,y)=x^2-y^2
>> Y(3,5)

w
w

ans=
-16

Polinom tanmlama
Polinomlar dnklem gibi tanmlayabildiimiz gibi polinomal ilemlerde kullanmak zere
polinomun sadece katsaylarn bir vektr eklinde tanmlayabiliriz.
Polinom katsaylarnn vektrel tanmlamasnda katsay tanmlama polinomun en st dereceli
deikeninin katsaysndan balayarak srayla gitmelidir.
n. dereceden bir polinom iin kuvveti n, n-1, n-1 ... 2,1,0 eklinde btn bamsz
deikenlerin katsaylar olmak zorundadr. Yok ise katsays 0 alnmaldr.

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar
y=3x4-5x2+7

n. dereceden bir polinomun katsaylar vektrnn boyutu n+1 olacana dikkat edilmelidir.

Polinom lemleri

MATLABda polinom tanmlarken bamsz deiken xin deerinin veya vetrel olarak
deerlerinin daha nceden tanmlanm olmas gerektir.
Bu ilem polyval(katsaylar, bamsz deiken) fonsiyonu ile yaplr.
x= 5 y=3x3+4x2+4

>>x=5;

>>K=[3 4 0 4];

>> polyval(K,x)
ans=
479

ki Polinomun Toplam

iki polinom toplanrken katsaylar toplanaca unutulmamaldr. ki vektr toplanrsa eleman eleman
toplanacandan polinomlarn katsaylar vektrleri normal olarak toplanr ve sonu polinomunun
katsaylar elde edilir.
P(x)= 7x4+5x-7

R(x)= x3+5

eklinde iki polinom toplanacak olursa:

.e
e

>>P=[7 0 0 5 -7];

>>R=[0 1 0 0 5];
>>toplam=P+R
toplam=

w
w

de
rs
no
tla
ri.
co
m

Y=[3 0 -5 0 7]

7 1 0 5 -2

Polinomun Bir Say ile arpm


Bir polinomun bir say ile arpm bu polinomun katsaylarnn bu say ile ayr ayr arplmas
eklindedir.
P(x)= 7x4+5x-7
5* P(x)= 35x4+25x-35

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

>>P=[7 0 0 5 -7];
ans=

35 0 0 25 -35

ki Polinomun Birbiriyle arpm

MATLABda katsaylar vektrleri x ve y olan iki polinomun birbiriyle arpm conv(x,y)


fonksiyonuyla salanr ve sonu arpm polinomunun katsaylar eklinde verilir.

>>x=[2 3 -4 7];

>>y=[1 0 -3 0 -5 0];
>> z=conv(x,y)
z=

2 3 -10 -2 2 -36 20 -35 0

.e
e

Polinom Hesaplamalar in Kullanlan Fonsiyonlar

w
w

de
rs
no
tla
ri.
co
m

>>5*P

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

Polinomun Kklerinin Bulunmas

Katsaylar A verktr olan bir polinomun kkleri roots(A) fonksiyonu ile hesaplanp ka kk var ise
vektrel olarak sonu verilir.

Kkleri Bilinen Bir Polinomun Bulunmas

Kkleri bilinen bir polinomun bulunmas poly fonksiyonu ile yaplr. Burada eit kkler de belirtilmek
zorundadr. poly fonksiyonu polinomun katsaylarnn cevabn verir.

>>kokler=[0 2 1-i 1+i];

.e
e

>>P=poly(kokler)
P=

1 -4 6 -4 0

w
w

de
rs
no
tla
ri.
co
m

Dorusal Denklem Takmlarnn zm


n. dereceden dorusal bir lineer denklem takm:

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar
biiminde verilir. Bu denklem takmnn matris biiminde gsterimi
[A]*[x]=[B]

Matri ilemleri yoluyla X bilinmeyenleri aadaki ilemlerle bulunabilir.


A X =B!

A-1 A X = A-1 B
X =A-1B

.e
e

Soru

w
w

de
rs
no
tla
ri.
co
m

eklinde tanmlanabilir. Burada; katsaylar, bamsz deiken ve sonu matrisleri aada olduu
gibidir.

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

de
rs
no
tla
ri.
co
m

Dorusal olmayan denklemlerin dorusal denklemlerde olduu gibi tek bir standart biimi
yoktur. Gerek MATLAB iinde gerekse Otimatization Toolbox iinde, gerek tek deikenli ve
gerekse ok deikenli denklemlerin zmnde kullanlan eitli zm fonksiyonlar vardr.
Dorusal olmayan denklemlerin zm, dorusal denklem zm kadar basit olmayp
bunlarn zm iin ayrca bir fonksiyon dosyas hazrlanmas gerekir.
Burada, MATLAB iinde yer alan fzero fonksiyon fonksiyonu ile Otimatization Toolbox
iinde yer alan fsolve fonksiyon fonksiyonu ayrntl bir biimde ele alnacaktr. Ayrca dier
dorusal olmayan fonksiyon fonksiyonlarnn ksaca tanmlar gzden geirilecektir.

Dorusal Olmayan Denklemlerin zm

fzero: Fonksiyonu; tek deikenli bir fonksiyonun sfrn hesaplar. Genel kullanm biimleri aada
olduu gibidir.
z=fzero(function,X0);
z=fzero(function,X0,tol);
z=fzero(function,X0,tol, trace);

fun(x) biimindeki bir fonksiyonun, X0 ile tanmlanan deere yakn olan tek bir sfrn
hesaplar. Burada, fonksiyonu sfr yapan, yani x eksenini kesen bir sfr deeri hesaplanr.
ikinci bildirimde yer alan tol isimli, seimli argman bal hata toleransn belirler. nc
bildirimde yer alan seimli trace argman her bir hesap yineleme ilemindeki bilgileri
grntler.
Fonksiyon fonksiyonu olan fzero fonksiyonunu kullanmak iin ayrca function ile balayan bir
fonksiyon dosyas hazrlanmas gerekir.
Soru y=sin(x)+cos(x) denkleminin belli noktalarda denklemi sfr yapan kklerini bulalm.

ncelikle denklemin tanmland harici bir fonksiyon dosyas oluturmamz gerekir.

% sincos.m adl dosya

.e
e

function y=sincos(x)
y=sin(x)+cos(x);

w
w

end

%Ana program dosyas


clc,clear;
fplot('sincos',[-5 5 -5 5]);
grid on, line([-5 5],[0 0]);
x0=fzero('sincos',---4)

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

-3.9270

de
rs
no
tla
ri.
co
m

x0=
>> %Matlab ekrannda gzken sonu

rneklerden de grld gibi fzero fonksiyonu herhangi bir fonksiyonun tahmini bir sfrnn
hesaplanmasnda ve/veya dorusal olmayan denklemlerin zmnde daha kullanldr. Dorusal
denklemlerin ayn anda tm kklerini zmek gerektiinde roots fonksiyonunu kullanmak daha pratik
olacaktr.
fzero ile denklem kklerini zmlemeden nce fplot ile denklemin grafiini izdirip istenilen kkn
zmlenmesi kolaylk salayacaktr.

w
w

.e
e

Bir dier denklem takmlarnn zm yolu ise fsolve fonksiyonudur. Bu fonksiyon ok deikenli
denklem takmlarnn kklerini bulmak iin kullanlr.

%coklufonk.m dosyas
function F= coklufonk(X)
F=[X(1)^2+X(2)^2---X(3);
X(1)^2+X(2)^2+X(3)^2---1;
X(1)+X(2)];

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

>>x0=[0.1;---1;2];
>>[x, fonksiyondegeri,
ozellikler]=fsolve('abcfonk',x0)

Denklem Takmlarnn Basit zm

Sembolik zmleme iin MATLAB programnda Sembolic ToolBoxa tanml


fonksiyonlarla gerekletirilir.
Sembolik zmleme basit olarak solve fonksiyonu ile yaplr.

>> [x y]=solve('x^2+y=0','x+8*y=0')
x=
0
1/8
y=
0
-1/64

Birinci dereceden bir diferansiyel denklemin genelletirilmi biimi


!"

y= =g(x,y)

!"

.e
e

eklinde ifade edilebilir. Burada; x bamsz deiken ve y de baml deikendir. Birinci dereceden
bir diferansiyel denklemin zm f (x) =g(x,y) fonksiyonundan elde edilen y=f(x) eklinde bir
fonksiyondur. Bir diferansiyel denklem zmnn saysal hesaplamas y trevinden y nin elde
edilmesi iin gerekli integrasyon ilemini

w
w

de
rs
no
tla
ri.
co
m

kontrol,...

kapsar. Bir diferansiyel denklemin zm genellikle fonksiyon biimindedir. Tek bir zel zmn
hesaplanabilmesi iin snr koullarnn (x=a, x=b) tanmlanmas gerekir.

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

SEMBOLK LEMLER

de
rs
no
tla
ri.
co
m

Sembolik Tanmlama

Sembolik ilemlerde karakterler matlab ortamna saysal deermi gibi tanmlanr.


String bir deiken deil saysal bir deikenmi gibi alglanr.
u ekilde tanmlamalar mmkndr:

>>A=sym('a')
A=
a

syms a b c;

A=
a

>>A=sym('a','real')

.e
e

>> B=sym('b','unreal')
B=
b

w
w

>> % veya syms a real, syms b unreal


>> z=A+B*i
z=

a+b*i


Sembolik Biime Dntrme
>> % teferruatl kesirli

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

>> a=3.2;
>> sym(a,'f')
3602879701896397/1125899906842624
>>% Kesirli

>> sym(a,'r')
ans=
16/5

>>% exponensiyel
>> sym(a,'e')
ans=

(4*eps)/5 +16/5

>> Sembolik anlaml gsterim


>> sym(a,'d')
ans=

3.200000000000000177635683940025

Sembolik Biimden Saysal Biime Dntrme

Sembolik olarak gsterimde olan saysal ifadeler u ekilde saysal deerlerine kavuurlar:

A=

.e
e

4/5

>>A=sym(4/5)

>> SayisalA=double(A)
SayisalA=
0.8000

w
w

de
rs
no
tla
ri.
co
m

ans=

Sembolik lemler

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

Sevimli Grnm

de
rs
no
tla
ri.
co
m

MATLAB komut tabanl bir yazlm olduundan saysal sonularda text formatnda ekrana
yazdrlr. Bazen alnan sonular gzmze ok karmak gelebilir.
zellikle sembolik gsterimlerde verilen ekram ktlar ok karmak gibi gzkr.
Btn bu karmakl gidermek iin pretty komutu ile ktlarn dahasevimli gzkmesini
salayabiliriz.

w
w

.e
e

Sembolik zmleme

arpanlarna Ayrma
Sembolik zmlemenin yapld sonularn arpanlarna ayrlmasnn istiyorsak factor fonksiyonu
kullanlr.

>> S=x^2---y^2;
>>factor(S)

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

ans=

arpanlar Datma

Sembolik grnmdeki denklem tek dze ifadeye indirgenir.

>>syms x;

>>y=x^2---5;
>> z=2*x+7;
>>V=z*y
V=

(2*x+7)*(x^2-5)
>>expand(V)
ans=

2*x^3+7*x^2-10*x-35

Denklemi Sadeletirmek

Bir denklemi sadeletirmek iin simplify komutu kullanlr.

>> S=(x^3---4*x)/(x^2+2*x);
ans=

.e
e

x-2

>> simplify(S)

Sembolik ntegral lemi


Sembolik integral alma fonksiyonu int olup genel format:

w
w

de
rs
no
tla
ri.
co
m

(x-y)*(x+y)

int(S), Sin belirsiz integralini alr.


int(S,v), Sin vye gre belirsiz integralini alr.
nt(S,a,b),Sin varsaylan sembolik deikene gre adan bye kadar belirli integralini alr.
int(S,a,b,v),Sin vye gre adan bye kadar belirli integralini alr. eklindedir.

(2x5 4x + 20)dx
clc,clear,syms x
integral=int('---2*x^2---4*x+20')
pretty(integral)

Sembolik Trev

Trev alma ileminde kullanlan fonksiyon ad diff olup sembolik ilem mant erevesinde genel
format:

diff(S), Sin trevini alr.


diff(S,v), Sin vye gre trevini alr.
diff(S,n), n pozitif bir tamsay olmak zere n. dereceden trevini alr.
diff(S,'v',n) veya diff(S,n,'v'), Sin vye gre n. dereceden trevini alr.

eklindedir.

Trevin x=pdeki deerini bulmak iin subs(turev,x,p) kullanlr.

Sembolik Trev

f(x)=5x3+ax2+bx -14 (a ve b sabit deerdir) fonksiyonunun trevini bulunuz.


>>syms a b x

.e
e

>> f=5*x^3+a*x^2+b*x-- 14;

>> diff(f)
ans=

w
w

de
rs
no
tla
ri.
co
m

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

15*x^2 + 2*a*x + b
>> pretty(ans)
15x2 + 2 ax + b

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

GRAFK LEMLER

Matlab, 2D ve 3D bata olmak zere ok gelimi grafik aralar sunar:

izgi (line) grafikler (plot, plot3, polar)


Yzey (surface) grafikler (surf, surfc)
A (mesh) grafikler (mesh, meshc, meshgrid)
Contour grafikler (contour, contourc, contourf)
ubuk (bar), pasta (pie) vb zel grafikler (bar, bar3, hist, rose, pie, pie3)
Animasyonlar (moviein, movie vb komutlar)

Figr Penceresi

.e
e

Grafiklerin gsterildii penceredir. Grafiklere dair bir ok ayar ve dzenleme buradan yaplabilir.

w
w

de
rs
no
tla
ri.
co
m

Temel Grafik Yaplar

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

>>x=1:0.01:2*pi;
>>y=tan(x);

de
rs
no
tla
ri.
co
m

>>z=sin(x);
>>k=cos(x);

>>figure(1),plot(x,y);
>>figure(2),plot(x,z);

w
w

.e
e

>>figure(3),plot(x,k);

>>x=1:0.01:2*pi;
>>y=tan(x);
>>z=sin(x);
>>k=cos(x);
>>figure(1),plot(x,y);
>>figure(2),plot(x,z);
>>figure(3),plot(x,k);

de
rs
no
tla
ri.
co
m

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

>> close(1); % figre 1 kapatr

>>close % aktif olan grafik penceresini kapatr

.e
e

>>close all; % btn grafik pencerelerini kapatr

w
w

>>x=1:0.01:2*pi;
>>y=tan(x);
>>plot(x,y);

>>clf

.e
e

>>clf reset

w
w

de
rs
no
tla
ri.
co
m

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

2 Boyutlu Grafikler
x-y dik koordinat dzleminde grafik izmek iin plot(x,y) fonksiyonu kullanlr ve x
vektrne kar y vektrnn grafiini verir. Yani x deerleri x-ekseninde, y deerleri yekseninde yer alr.
izimin grnmn deitirmek isterseniz plot(x,y,s) fonksiyonu kullanlr. s argman,
izimin rengini, iaretleyici semboln ve izgi tipini belirler. Bu argmann kullanm
istee (sras ve says) baldr. Bu ilemi grafik zerinde de yapabilirsiniz.

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

>>A=1:4.7:100;
>>B=(1/2)*A.^2;

w
w

.e
e

de
rs
no
tla
ri.
co
m

>>plot(A,B,'b---+');

oklu Grafikler
Birden fazla grafii (ayn x-ekseni baz olmak zere) st ste izmek iin

rnein: x,y1,y2,.yn iin;


1.yol: plot(x,y1,x,y2,..x,yn)
2.yol: plot(x,y1), Hold on, plot(x,y2,..x,yn)
oklu grafii etiketlemek iin:
1.yol: Grafik zerinde metin ekleme yaplr.

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar
2.yol: legend(1.grafikmetin,2.grafikmetin.) fonksiyonu kullanlr.

subplot(m,n,p)

fonksiyonu kullanlr. Bu fonksiyon matris dzeninde izim alan aar ve grafikler yine plot
fonksiyonu ile izilir.

Tek deikenli fonksiyon ( y=f(x) ) grafikleri

1.yol: izim aral belirlenir ve bu aralkta x deerleri girilir. Bu x deerlerine


karlkl y deerleri bulunur ve plot(x,y) veya plotyy(x,y1,x,y2)
kullanlr.
2.yol:

fplot(f(x),[xmin xmax])
veya
ezplot

(f(x)) (Grafii varsaylan -2*pi < x < 2*pi aralnda izer) fonksiyonlar kullanlr.

>>A=1:10;
>>B=A.^2;

>>C=B.*sqrt(A);
>>D=-C;

>>subplot(1,2,1), plot(A,C);

.e
e

>>subplot(2,2,2), plot(A,D);
>>subplot(2,2,4), plot(C,D);

w
w

de
rs
no
tla
ri.
co
m

Birden fazla grafii farkl pencerelerde (ayn veya farkl x-ekseni baz olmak zere) izmek iin

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

Eksenleri Dzenleme Komutlar

de
rs
no
tla
ri.
co
m

axis ([xmin xmax ymin ymax]): Satr vektr iinde verilen deerleri kullanarak eksenlerin
minimum ve maksimum deerlerini belirler.
V=axis: V, ([xmin xmax ymin ymax]) biiminde bir satr vektr olup hali hazr grafik iin
lek deerlerini ierir
axis, auto axis (`auto`): eksen lek deerlerini varsaylan otomatik deerlerine dndrr
axis manual: lek deerlerini hal ihazr snrlarda dondurur ve bylece eer tutma komutu
(hold on) etkin hale getirilmise, bir sonraki grafik iziminde ayn eksen deerlerini kullanma
imkan salar.
axis xy: Sistem orijinin en dk (en kk koordinat ifti) sol kede olduu, buna karlk
dey eksenin alttan ste doru artt yerdeki Kartezyen koordinat kullanlr.
axis square: halihazr grafik eksenlerini (varsaylan dikdrtgen biimi yerine) kare biimine
dntrr.
axis off: Eksenleri, eksen zerinde yer alan iaretleri ve yazlar siler, kaldrr. Balk ve
herhangi etiketleri text ve gtext komutlar ile yerletirilecek duruma geirir.
axis on: Silinen eksenleri tekrar geri arr.

>>x=0:0.01:2*pi;
>>y=sin(x);
>>z=cos(x);

w
w

.e
e

>>plot(x,y,x,z);

>>axis([-1 8 -2 2]);

de
rs
no
tla
ri.
co
m

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

.e
e

>>axis auto

w
w

>> axis square

de
rs
no
tla
ri.
co
m

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

.e
e

>>axis equal

w
w

>>axis normal

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

>>axis on

.e
e

>>grid on

>>colordef black

w
w

de
rs
no
tla
ri.
co
m

>> axis off

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

de
rs
no
tla
ri.
co
m

>>colordef white, box off;

Grafie Bilgi lave Etme

Grafik zerinde keyfi bir konuma bir metin yazma ve eksenin altna etiket metni yazdrmak
mmkndr. Bu komut fonksiyonlarn belli ballar:

title fonksiyonu, grafik zerine balk yazdrr.


xlabel, ylabel ve zlabel fonksiyonlar, srasyla x-ekseni, y- ekseni ve z-ekseni zerine etiket
yazdrr.
legend fonksiyonu, mevcut bir grafik zerine aklayc ifadeler ilave eder.
text fonksiyonu, grafik zerinde koordinatlar belirten bir konuma bir metin yazdrr.
gtext fonksiyonu, fareyi kullanarak grafik zerinde metin yerletirilir.

w
w

.e
e

Yukarda verilen fonksiyonlar komut penceresinde kullanarak grafik zerinde gerekli dzenlemeler
yapabilir. Bunlara ilaveten ekil penceresinde grafik editr (Plot Editr) ile de benzer ilemler
yapmak mmkndr.

de
rs
no
tla
ri.
co
m

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

.e
e

Soru Aadaki eitliklerini t = 3 - 9 aralnda MATLAB ortamnda 0.1 hassasiyetle denklem


renginde ve deer noktalarn farkl simgelerle belirten; bal ve her grafiin aitliini gsteren grafik
izdirecekdenklem.m isminde bir .m dosyashazrlaynz.

t=3:0.1:9;

a=-t.^2+5*t-1;

w
w

b=-5*t.^2+8;
c=2*t.^2-1;

plot(t,a,'r+-',t,b,'b*--',t,c,'go-.');
title('Denklemler');
legend('a denklemi','b denklemi','c denklemi');

de
rs
no
tla
ri.
co
m

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

Dier 2 Boyutlu Grafikler

plotyy(x1,y1,x2,y2) fonksiyonu

y ekseninde sa ve sol kenarlarn kullanlmasn salar. Bylelikle bir bamsz deikenle deerleri
birbirinden uzak iki baml deikenin grafikleri izdirilebilir.

>>A=0:0.1:2*pi;
>>B=A.^2;

>>C=sin(A);

w
w

.e
e

>>plotyy(A,B,A,C)

fplot szc function plotting (Fonksiyon izdirme) szcklerinden tretilmi ve Matlab ortamnda
iki boyutlu grafikler oluturmak iin eitli imkanlar sunmaktadr. fplot fonksiyonunun iki parametresi
vardr ve aadaki gibi kullanlr:
fplot(FonksiyonAd, Aralk)

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

de
rs
no
tla
ri.
co
m

Burada fonksiyonad parametresi string trnde verilmi tek bir fonksiyona ait ifade olabilecei gibi,
ayn anda birden fazla fonksiyon izdirilecekse bu durumda da string ifadesi biiminde ve []
embolleri iinde yer alan ve birbirlerinden virglle ayrlm fonksiyon ifadelerinden

>>fplot('sin(x)',[-10 10 -1 1]);
>>hold on

>>fplot('cos(x)',[-10 10 -1 1]);

ezplot

fonksiyonu bir bamsz bir baml deikenden oluan ve sfra eit olan bir eitliin grafiini izer.

w
w

.e
e

ezplot('sin(x)^2+cos(2*y)^3')

line fonksiyonu izgi izme amal kullanlr.

>>line([---10,10],[-10 10])
>>line([-10,10],[0 0])
>> line([0,0],[-10 10])

de
rs
no
tla
ri.
co
m

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

.e
e

Soru Y=e2cosx fonksiyonunu 0 ile 4% arasnda plot ve fplot fonksiyonlarn kullanarak iziniz.

w
w

Dier Grafik Trleri


MATLAB ok eitli grafik trlerini desteklemektedir. Verilerin yapsna bal olarak uygun bir grafik
tr seilebilir. Aada verilen grafik komutlar zel amalar eitli grafiklerin oluturulmas
kullanlabilir.
Bar ve area fonksiyonlar: ubuk ve alan grafiklerini oluturulur. Bu grafikler zaman
zerinden sonularnn incelenmesi iin kullanldr. Bu grafikler zerinde sonular
karlatrlr ve bir toplam miktar zerinde deerlerin pay grlr. bar fonksiyonun deer
biimleri; barh, bar3 ve bar3h dr
Polar fonksiyonu: Kutupsal koordinatlar kabul eder ve bir kartezyen dzleme kutupsal
koordinatlarn grafiini oluturur. Ayrca grafik dzlemine kutupsal grid oluturur.

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

MATLAB x-y dzlemindeki bir dikdrtgen grid zerinde noktalarn zkoordinatlar yolu ile bir a gz
dzeyi tanmlar. Birbirine bitiik noktalar dz izgilerle birletirmek suretiyle bir grafik oluturur. Bu
da veri noktalarnda dmleri olan bir balk ana benzer. A gz grafikleri byk matrisleri
grntlenmesi veya iki deikenli fonksiyonlarn izgi grafikleri iin ok kullanldr. Bu konuda
kullanlan belli bal fonksiyonlar:

mesh, surf: Yzey grafii


meshc, surfc: Yzey grafii ile ayn olup altnda kontur grafii vardr.
meshz: perde grafii (bavuru dzlemi) ile yzey grafii.
pcolor: Dz yzey grafii (deer yalnzca renk ile orantl)
surfl: Belli ynden aydnlatlm yzey grafii
surface: Yzey seviyeden yzey grafik fonksiyonlar bu fonksiyonlar esas alr.

Stun (Bar Chart) Grafii

.e
e

1997-1999 yllar arasndaki her ylda blmlerin renci mezun etme saysn gsteren aadaki
tablo verilmi olsun:

w
w

de
rs
no
tla
ri.
co
m

Hist ve rose fonksiyonlar: Histogram tr grafiklerin oluturulmasnda kullanlr.


Histogramlar veri deerlerinin dalmn gsterir. Burada hist fonksiyonu verileri kartezyen
koordinat sisteminde ve rosefonksiyonu da verileri kutupsal koordinatlar sistemi zerinde
deerlendirir.
Stair, stem (ve stem3) fonksiyonlar: Kesikli zaman verilerin grafiklerini oluturur. Bunlardan
stairfonksiyonu, verilerin merdiven basama biiminde srekli grafii oluturur. stem
fonksiyonu ise veri noktalarn dey izgileri oluturur.
Compass, feather, quiver (ve quiver3) fonksiyonlar: Grafik zerinde yn ve hz vektrlerini
grntler.
Contour (ve contour3) fonksiyonlar: 2 ve 3-boyutlu d hat izgilerini oluturur.

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

mezuniyet=[65 67 60
67 65 60
70 50 65];

de
rs
no
tla
ri.
co
m

60 56 68

bar(1997:1999,mezuniyet')
xlabel('YILLAR')

ylabel('MEZUN SAYISI')

title('1997-1999 YILLARINDA MEZUN RENCLER')


legend('ELT','BL','ELK', 'TIP')

w
w

.e
e

Pasta (Pie Chart) Grafii

a=[60 65 25];
pie(a)
gtext('RETMEN ORANI')
legend('ELK','BL','ELT',2)

de
rs
no
tla
ri.
co
m

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

3 Boyutlu Grafikler

3 boyulu uzayda noktalarn ve izgilerin grafiini oluturu. plot(x,y,z) komutu 3 boyutlu uzayda
koordinatlarx,z ve znin elemanlar olan noktalardan geen tek bir izgi grafii oluturur. Burada x,y
ve znin ayn boyutta vektrler olmas gerekir.

MATLAB ile boyutlu grafik izimini gerekletirmek iin meshgrid ve mesh


fonksiyonlarn kullanlr.
mesgrid fonksiyonu, x ve y koordinatlarn oluturduu ikililerle bir deerler kmesi hazrlar
ve meshfonksiyonu ise be deerler matrislerini kullanarak boyutlu grafii izer.
surf fonksiyonu, mesh fonksiyonu gibi boyutlu grafik izme iini
gerekletirir. mesh fonksiyonundan fark, izilen yzeyin grid boyunca farkl blgelerinin
farkl renklerde boyanmasdr.

t = 0:pi/50:10*pi;

.e
e

plot3(sin(t),cos(t),t)

w
w

grid

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar
z=x2+y2+xy yzeyinin 2<x<2 ve 2<y<2 deerler aralklar iin izdirelim:

[x,y]=meshgrid(-2:0.5:2 -2:0.5:2);

de
rs
no
tla
ri.
co
m

z=x.^2+y.^2+x.*y;

mesh(x,y,z);

w
w

.e
e

surface(x,y,z);

Soru x=-12:12, y=-12:12 aralnda z=-(x2+y2)(1/2) boyutlu yzeyini hem mesh hem de surface
komutlaryla izdirin.

Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar

[X Y]=meshgrid(-12:12,-12:12);
Z=-sqrt(X.^2+Y.^2);
mesh(X,Y,Z);

title('Mesh ile z denkliinin izimi');


subplot(2,1,2);
surface(X,Y,Z);

title('Surface ile z denkliinin izimi');

.e
e

grid on

w
w

de
rs
no
tla
ri.
co
m

subplot(2,1,1);

de
rs
no
tla
ri.
co
m

MATLAB

.e

em

DFERANSYEL DENKLEMLER

SELUKSEM 2013 Konya

3 Nisan 13 aramba

Emre zbay
soru@emreozbay.net

de
rs
no
tla
ri.
co
m

Diferansiyel Denklemler

Bir ya da daha fazla fonksiyonun trevlerini ieren denklemlere


diferansiyel denklem denir.

Bir yada daha fazla baml deiken ve bir bamsz dekenden oluan
diferansiyen denklemlere adi diferansiyel denklem denir.

Bir veya daha fazla baml ve birden fazla bamsz deikenin olduu
diferansiyel denklemlere de ksmi diferansiyel denklem denir.

.e

em

3 Nisan 13 aramba

Seluk niversitesi | Emre zbay | soru@emreozbay.net

de
rs
no
tla
ri.
co
m

Diferansiyel Denklemler

MATLAB ortamnda diferansiyel denklemler hem


saysal hemde sembolik (analitik) zlebilir.

Sembolik ortamda diferansiyel bir denklemi zmek


iin dsolve komutu kullanlr.

Diferansiyel denklemlerin saysal zmleri iin bu


denklemleri ikiye ayrmak mmkn

em

Dorusal (Linear) Diferansiyel Denklemler

Dorusal olmayan (Nonlinear) Diferansiyel


Denklemeler

.e

3 Nisan 13 aramba

Seluk niversitesi | Emre zbay | soru@emreozbay.net

de
rs
no
tla
ri.
co
m

Diferansiyel Denklemler

Dorusal diferansiyel denklemlerin zm


analitik olarak kolay yaplabilirken, dorusal
olmayanlar yapmak zordur.

Bunun iin eitli Euler ve Runge-Kutta


yaklamlar gibi eitli saysal yntemler
gelitirilmitir.

Bu yntemleri kullanmak iin ya yntemler


programlama mantna uygun programlanr ya
da MATLABda tanml olan hazr fonksiyonlar
kullanlr.

.e

em

3 Nisan 13 aramba

Seluk niversitesi | Emre zbay | soru@emreozbay.net

de
rs
no
tla
ri.
co
m

Diferansiyel Denklemler

Diferansiyel denklemlerin MATLAB dasaysal


zmlerinde ode23, ode45, ode113,
ode15s, ode23s, ode23t, ode23tb, ode15i
olarak adlandrlan komutlar kullanlr.

ode23 ve ode45 komutlar Ruge-Kutta


yaklamn kullanr.

ode23, 2. ve 3. mertebeden R-K yaklamn


kullanrken, ode45 ise 4. ve 5. mertebeden R-K
yaklamn kullanr.

.e

em

3 Nisan 13 aramba

Seluk niversitesi | Emre zbay | soru@emreozbay.net

de
rs
no
tla
ri.
co
m

Diferansiyel Denklemler

ode113, 1. mertebeden 13. mertebeye kadar deiken


deerli ak ifadeli Adams kestirimci-dzeltici
yntemlerin yeni yorumu olan bir algoritmay iletir.

ode23s, 2. ve 3. mertebeden dorusal olarak kapal


ifadeli R-K yaklamnn stiff halidir.

ode15s, 1. mertebeden 5. mertebeye kadar deiken


deerli kapal ifadeli ok basamakl yntemlerin yeni
bir trdr.

ode15i, implisit trden diferansiyel denklemleri zer.

.e

em

3 Nisan 13 aramba

Seluk niversitesi | Emre zbay | soru@emreozbay.net

de
rs
no
tla
ri.
co
m

Diferansiyel Denklemler

ode23, gecikmeli diferansiyel denklemleri


sabit gecikmelerle zmek iin kullanlr.

bvp4c komutu ise snr deer problemlerini


Collocation metodunu kullanarak zer.

pdepe komutu ile 1 boyutlu snr ilk deer


problemlerni temsil eden parabolik ve
eliptik ksmi diferansyel denklemleri zer.

.e

em

3 Nisan 13 aramba

Seluk niversitesi | Emre zbay | soru@emreozbay.net

de
rs
no
tla
ri.
co
m

Diferansiyel Denklemler

ode23tb, 2. ve 3. mertebeden R-K yaklam ile sk


denklemleri zmek iin kullanlr.

ode23t, lml (orta dzey) sk diferansiyel


denklemleri trapez kuralna gre zer.

Btn bu komutlar hem dorusal hem de dorusal


olmayan diferansiyel denklemlerin zm iin
kullanlsa da dorusal denklemlerin zm iin
kullanlan lsim, initial, step komutlar The
control system toolbox ierisinde
gelitirilmitir.

.e

em

3 Nisan 13 aramba

Seluk niversitesi | Emre zbay | soru@emreozbay.net

de
rs
no
tla
ri.
co
m

Diferansiyel Denklem Tanmlama


Diferansiyel denklemlerin sembolik zmnde denklem fonksiyonun
ierisine doruden denklemi yazarak zme gidilmesi en uygundur.
Zira bu komutta denklem hangitim denklem olduu nemsenmeden tek
satrda girilebilir.

Saysal zmlemede ise harici bir fonksiyon dosyasnda denklemi


tanmlamak nemlidir. nk bu komutlar iterasyon yaptndan harici
fonksiyon ierisine verilerin gnderilmesi programlama asndan daha
mantkldr.

Baz saysal zmlemelerde harici fonksiyon tanmlamaktan baka


areyoktur.

.e

em

3 Nisan 13 aramba

Seluk niversitesi | Emre zbay | soru@emreozbay.net

de
rs
no
tla
ri.
co
m

ode23 ile Diferansiyel Denklem zm

ode23 fonksiyonu aadaki gibi kullanlr:

[t,y]=ode23('fonksiyon_adi',[t0 tson],y0,secenekler,p1,p2);
fonksiyon_adi: diferansiyel denklemin tanml olduu harici fonksiyon
dosyasdr. Ad trnak ierisinde yazlmaldr. bu dosya fonksiyon
tanmlama kurallarna uygun olarak hazrlanm olmaldr. Trnak ierine
fonksiyonun ve dolaysyla dosyann ad yazlr. (.m) dosya uzantsnn
yazlmamas gerektii unutumamaldr.

Burada t deikenine t0 dan balayaran tson a kadan iterasyonda


kullanlan t deerleri atanr.

y deikeninde ise birinci stuna t ye (bamsz deikene) kar y


deerleri (bamsz deiken deerleri) srasyla dier stunlara ise
1.,2., ... n. dereceden trevlerinin ald deerler atanr.

.e

em

3 Nisan 13 aramba

Seluk niversitesi | Emre zbay | soru@emreozbay.net

de
rs
no
tla
ri.
co
m

ode23 ile Diferansiyel Denklem zm

ode23 fonksiyonu aadaki gibi kullanlr:

[t,y]=ode23('fonksiyon_adi',[t0 tson],y0,secenekler);
t0: Saysal zmlemenin yaplaca balang iterasyonunun deeri.

tson: #terasyonun son bulaca deer.

y0: Denklemin t0 noktasnda ald deer.

Burada y denklemi iin y(t0)=y0 eklinde snr art sz kousudur.

secenekler: Yaplan iterasyona dair bilgileri ieren odeset komutu ile


kullnlan deiken takmdr.

.e

em

3 Nisan 13 aramba

Seluk niversitesi | Emre zbay | soru@emreozbay.net

de
rs
no
tla
ri.
co
m

ode23 ile Diferansiyel Denklem zm - Soru


!"
! =
= ! !, ! = ! ! !
!!
!

Yukarda verilen diferansiyel denklemi y(0)=1 balang koulu altnda 0 ve


3 deerleri arasnda ode komutu ile znz.

em

%difdenk1.m dosyas
function dy_dt = difdenk1(t,y)
dy_dt=t.^2-y;
end

.e

%Program Dosyas (difdenkprog1.m)


t0=0;
tson=3;
y0=1;
[t,y]=ode23('difdenk1',[t0 tson],y0);
plot(t,y,'k-');
title('ode23 komutu ile diferansiyel denklem zm');
xlabel('t'),ylabel('y(t)');
grid on;

3 Nisan 13 aramba

Seluk niversitesi | Emre zbay | soru@emreozbay.net

de
rs
no
tla
ri.
co
m

ode45 ile Diferansiyel Denklem zm - Soru


!"(!)
= 15! ! + 2 cos 2! + !
!"

Yukarda verilen sabit katsayl lineer diferansiyel denklemin zm, t=[0:3] saniye
zaman aralnda ve i(0)=0 ilk koulu altnda, ode45 komutu ile zn ve izdirin.
%ode 45 ile diferansiyel denklem zm
clear;
clc;
t0=0;
tson=3;
y0=0;
[t,a]=ode45('difdenk2',[t0 tson],y0);
plot(t,a);
title('ode45 ile dif. denk. zm');
xlabel('t'),ylabel('i=i(t)');
grid;

.e

em

%difdenk.m dosyas
function di_dt = difdenk2(t,a)
di_dt=-15*a+2*cos(2*t)+t;
end

3 Nisan 13 aramba

Seluk niversitesi | Emre zbay | soru@emreozbay.net

de
rs
no
tla
ri.
co
m

dsolve ile Diferansiyel Denklemlerin zm


dsolve komutu adi diferansiyel denklemlerin zm gerekletirilir.

Bu komut symbolic toolbox ierisinde bulunur.

d/dt eklindeki diferansiyel ifadeyi D harfi temsil eder.

Eer snr artlar belirtilmemi ise retilecek olan sembolik denklemde c


gibi sabitler olacaktr.

em

.e

! !!! 4! ! 5 = !

!! !
!! !
4 ! 5=!
!
!!
!!

3 Nisan 13 aramba

Seluk niversitesi | Emre zbay | soru@emreozbay.net

de
rs
no
tla
ri.
co
m

dsolve ile Diferansiyel Denklemlerin zm


! !!! 4! ! 5 = !

!! !
!! !
4 ! 5=!
!
!!
!!

em

>> x_t=dsolve('D3x-4*Dx-5=t')

x_t =

C2 - (5*t)/4 - t^2/8 + C3/exp(2*t) + C4*exp(2*t) - 51/16

>> pretty(x_t)

.e

2
5 t t C3 51
C2 - --- - -- + -------- + C4 exp(2 t) - --
4 8 exp(2 t) 16

3 Nisan 13 aramba

Seluk niversitesi | Emre zbay | soru@emreozbay.net

de
rs
no
tla
ri.
co
m

dsolve ile Diferansiyel Denklemlerin zm - Soru


! !! + ! ! = 2!

eklindeki diferansiyel denklemi aadaki snr artlar ile dsolve komutu


ile zdrp grafiini izin.

! 0 =0

! 0 = 1

em

! 0 = 3

.e

>> S=dsolve('D3x+x=2*t','x(0)=0','Dx(0)=1','D2x(0)=3')

S =

2*t + 4/(3*exp(t)) - (4*exp(t/2)*cos((3^(1/2)*t)/2))/3 +
(2*3^(1/2)*exp(t/2)*sin((3^(1/2)*t)/2))/3

>> ezplot(S)
3 Nisan 13 aramba

Seluk niversitesi | Emre zbay | soru@emreozbay.net

de
rs
no
tla
ri.
co
m

dsolve ile Diferansiyel Denklemlerin zm - Soru

.e

em

! !! + ! ! = 2!

3 Nisan 13 aramba

Seluk niversitesi | Emre zbay | soru@emreozbay.net

de
rs
no
tla
ri.
co
m

MATLAB

.e

em

SEMBOLK LEMLER

SELUKSEM 2013 Konya

3 Nisan 13 aramba

Emre zbay
soru@emreozbay.net

de
rs
no
tla
ri.
co
m

Sembolik Tanmlama

Sembolik ilemlerde karakterler matlab ortamna saysal deermi gibi


tanmlanr.

String bir deiken deil saysal bir deikenmi gibi alglanr.

u ekilde tanmlamalar mmkndr:

em

>> A=sym('a')
A =
a

.e

syms a b c;

3 Nisan 13 aramba

>> A=sym('a','real')
A =
a
>> B=sym('b','unreal')
B =
b
>> % veya syms a real,syms b unreal
>> z=A+B*i
z =
a + b*i
Seluk niversitesi | Emre zbay | soru@emreozbay.net

de
rs
no
tla
ri.
co
m

Sembolik Biime Dntrme

.e

em

>> % teferruatl kesirli


>> a=3.2;
>> sym(a,'f')
ans =
3602879701896397/1125899906842624
>> % Kesirli
>> sym(a,'r')
ans =
16/5
>> % exponensiyel
>> sym(a,'e')
ans =
(4*eps)/5 + 16/5
>> Sembolik anlaml gsterim
>> sym(a,'d')
ans =
3.200000000000000177635683940025

3 Nisan 13 aramba

Seluk niversitesi | Emre zbay | soru@emreozbay.net

de
rs
no
tla
ri.
co
m

Sembolik Biimden Saysal Biime Dntrme

Sembolik olarak gsterimde olan saysal ifadeler u ekilde saysal


deerlerine kavuurlar:

.e

em

>> A=sym(4/5)
A =
4/5
>> SayisalA=double(A)
SayisalA =
0.8000

3 Nisan 13 aramba

Seluk niversitesi | Emre zbay | soru@emreozbay.net

de
rs
no
tla
ri.
co
m

Sembolik lemler
3

x
x dx =
3

x
x dx =
3
2

Sembolik zm

1
=
3

Analitik zm

.e

em

3 Nisan 13 aramba

Seluk niversitesi | Emre zbay | soru@emreozbay.net

de
rs
no
tla
ri.
co
m

Sevimli Grnm

>> pretty(X)

+- -+
| 2 1/2 |
| b + (b - 4 a c) |
| - ------------------- |
zellikle sembolik gsterimlerde
| 2 a |
verilen ekram ktlar ok karmak | |
| 2 1/2 |
gibi gzkr.
| b - (b - 4 a c) |
Btn bu karmakl gidermek iin | - ------------------- |
| 2 a |
pretty komutu ile ktlan daha
+- -+
sevimli gzkmesini salayabilriz.

.e

MATLAB komut tabanl bir yazlm


olduundan saysal sonularda text
formatnda ekrana yazdrlr. Bazen
alnan sonular gzmze ok
karmak gelebilir.

em

3 Nisan 13 aramba

Seluk niversitesi | Emre zbay | soru@emreozbay.net

de
rs
no
tla
ri.
co
m

Sembolik zmleme

X =
-(b + (b^2 - 4*a*c)^(1/2))/(2*a)
-(b - (b^2 - 4*a*c)^(1/2))/(2*a)
A =
-(c + b*x)/x^2
B =
-(a*x^2 + c)/x
C =
- a*x^2 - b*x
ans =
-(b + (b^2 - 4*a*c)^(1/2))/(2*a)
-(b - (b^2 - 4*a*c)^(1/2))/(2*a)

.e

em

%sembolicanaprog1.m dosyas
clc,clear;
syms a b c;
X=solve('a*x^2+b*x+c','x')
A=solve('a*x^2+b*x+c','a')
B=solve('a*x^2+b*x+c','b')
C=solve('a*x^2+b*x+c','c')
solve('a*x^2+b*x+c')

3 Nisan 13 aramba

Seluk niversitesi | Emre zbay | soru@emreozbay.net

de
rs
no
tla
ri.
co
m

arpanlarna Ayrma

Sembolik zmlemenin yapld


sonularn arpanlarna ayrlmasn
istiyorsak factor fonksiyonu kullanlr.
>> S=x^2-y^2;
>> factor(S)

ans =

(x - y)*(x + y)

.e

em

3 Nisan 13 aramba

Seluk niversitesi | Emre zbay | soru@emreozbay.net

de
rs
no
tla
ri.
co
m

arpanlar Datma

Sembolik grnmdeki denklem tek dze


ifadeye indirgenir.
>> syms x;
>> y=x^2-5;
>> z=2*x+7;
>> V=z*y
V =
(2*x + 7)*(x^2 - 5)
>> expand(V)
ans =
2*x^3 + 7*x^2 - 10*x - 35

.e

em

3 Nisan 13 aramba

Seluk niversitesi | Emre zbay | soru@emreozbay.net

de
rs
no
tla
ri.
co
m

Denklemi Sadeletirmek

Bir denklemi sadeletirmek iin simplify


komutu kullanlr.

.e

em

>> S=(x^3-4*x)/(x^2+2*x);
>> simplify(S)

ans =

x - 2

3 Nisan 13 aramba

Seluk niversitesi | Emre zbay | soru@emreozbay.net

de
rs
no
tla
ri.
co
m

Sembolik ntegral lemi


int(S), Sin belirsiz integralini alr.

int(S,v), Sin vye gre belirsiz integralini alr.

int(S,a,b),Sin varsaylan sembolik deikene gre adan bye


kadar belirli integralini alr.

int(S,a,b,v),Sin vye gre adan bye kadar belirli integralini alr.

em

eklindedir.

Sembolik integral alma fonksiyonu int olup genel format:

.e

3 Nisan 13 aramba

Seluk niversitesi | Emre zbay | soru@emreozbay.net

de
rs
no
tla
ri.
co
m

Sembolik ntegral lemi


5

(2 x 4 x + 20)dx

clc,clear,syms x
integral=int('-2*x^2-4*x+20')
pretty(integral)

2
2 x (x + 3 x - 30)
- -------------------
3

.e

em

integral =
-(2*x*(x^2 + 3*x - 30))/3

3 Nisan 13 aramba

Seluk niversitesi | Emre zbay | soru@emreozbay.net

de
rs
no
tla
ri.
co
m

Sembolik Trev

Trev alma ileminde kullanlan fonksiyon ad diff olup sembolik ilem


mant erevesinde genel format:
diff(S), Sin trevini alr.

diff(S,v), Sin vye gre trevini alr.

diff(S,n), n pozitif bir tamsay olmak zere n. dereceden trevini alr.

diff(S,'v',n) veya diff(S,n,'v'), Sin vye gre n. dereceden trevini


alr.

em

.e

eklindedir.

Trevin x=pdeki deerini bulmak iin subs(turev,x,p) kullanlr.

3 Nisan 13 aramba

Seluk niversitesi | Emre zbay | soru@emreozbay.net

de
rs
no
tla
ri.
co
m

Sembolik Trev

f(x)=5x3+ax2+bx -14 (a ve b sabit deerdir)


fonksiyonunun trevini bulunuz.

.e

em

>> syms a b x
>> f=5*x^3+a*x^2+b*x-14;
>> diff(f)

ans =

15*x^2 + 2*a*x + b

>> pretty(ans)

3 Nisan 13 aramba

2
15 x + 2 a x + b
Seluk niversitesi | Emre zbay | soru@emreozbay.net

de
rs
no
tla
ri.
co
m

Diferansiyel Denklemlerin Sembolik zm

Diferansiyel denklemlerin sembolik zmleri dsolve fonksiyonu ile


gerekletirilir.
A= dsolve(dif1,dif2,...,snrart1,snrart2);
dif: Diferansiyel denklem

snrart: zm iin gerekli olan zm art(lar).

Burada denklem ierisinde birinci trev D, ikinci trev D2, nc trev


ise D3 olarak gsterilmelidir.

.e

em

3 Nisan 13 aramba

Seluk niversitesi | Emre zbay | soru@emreozbay.net

de
rs
no
tla
ri.
co
m

Diferansiyel Denklemlerin Sembolik zm


!"
+ ! = cos ! + !
!!

eklinde bir diferansiyel denklemin zm aadaki gibidir.

.e

em

>> Fx=dsolve('Dx+x=cos(t)+t') %snr art yok


Fx =
t + cos(t)/2 + sin(t)/2 + C14/exp(t) - 1
>> Fx=dsolve('Dx+x=cos(t)+t','x(0)=1') %snr art var
Fx =
t + 3/(2*exp(t)) + cos(t)/2 + sin(t)/2 - 1
>> Y=inline(Fx)
Y =
Inline function:
Y(t) = t+exp(-t).*(3.0./2.0)+cos(t).*(1.0./2.0)+sin(t).*(1.0./2.0)-1.0
>> Y(0)
ans =
1

3 Nisan 13 aramba

Seluk niversitesi | Emre zbay | soru@emreozbay.net

de
rs
no
tla
ri.
co
m

Diferansiyel Denklemlerin Sembolik zm


!! !
= sin!(2!)
!
!!

eklinde bir diferansiyel denklemin zm aadaki gibidir.

.e

em

>> F2x=dsolve('D3x=sin(2*t)','D2x(0)=1','Dx(0)=0','x(0)=-1')

F2x =

cos(2*t)/8 + (3*t^2)/4 - 9/8

3 Nisan 13 aramba

Seluk niversitesi | Emre zbay | soru@emreozbay.net

de
rs
no
tla
ri.
co
m

MATLAB

.e

em

PROGRAMLAMA

SELUKSEM 2013 Konya

3 Nisan 13 aramba

Emre zbay
soru@emreozbay.net

de
rs
no
tla
ri.
co
m

Matlab Programlama
V=input(hz deeri
gir);

Giri

Deiken
Tanmlama

em

Bilgi Alma

#lemler

Sonu Verme

.e

fprintf(#vme %.
1f dir.);

3 Nisan 13 aramba

V=4; t=300;

Son

a=V/t;

de
rs
no
tla
ri.
co
m

Fonksiyon Tanmlama

Harici fonksyonlarn tamam .m dosyalarnda hazrlanr.

Aadaki gibi yaplara sahiptir:

function Dndrlecek deerler = fonksiyon_adi(parametreler)


ilemler;

em

#lemler blmnde btn ilemler yaplr. Ddrlecek ka deer varsa


dndrlr. Eer ok deer varsa (vertr ise) fonksiyon kullanlaca zaman
deerler vektre atanmaldr.
>>[Xdegeri, YDegeri] = ...
hesapla(5,7);

.e

function [x,y] = hesapla(a,b)


x=a*b; y=-x;

Yada aadaki gibi deer atanmadan fonksiyon tanmlanr. Eer bu ekilde


olursa ilemler blmnde hangi ilemler varsa yaplr.

function fonksiyon_adi(parametreler)
ilemler;
3 Nisan 13 aramba

de
rs
no
tla
ri.
co
m

Fonksiyon Tanmlama

Fonksiyon tanmlarken unlara dikkat edilmedlidir:

Matlabda tanml (hedef klasrlerin herhangi birinde var olan) bir


fonksiyonla ayn isimle olmamal

Hedef klasrlerden birinde olan dosyalar ile ayn isimde olmamal

function ifadesi ile balamal

Fonksiyon ad ile dosya ad ayn olmal

.e

em

3 Nisan 13 aramba

de
rs
no
tla
ri.
co
m

Fonksiyon Tanmlama

#deal gaz denkleminde hacmi bulan bir fonksiyon yazalm.


Gidiler: Basn (P), Mol says (n), Scaklk (T)
ktlar: Hacim (V)

em

% idealhacim.m dosyasnn ierii


function V = idealhacim(P,n,T)
R=0.082;
V=(n*R*T)/(P);

.e

>> % Matlab ortam


>> hacim=idealhacim(2,3,300)
hacim =
36.9000

3 Nisan 13 aramba

de
rs
no
tla
ri.
co
m

Mantksal Operatrler
aret
<

Kk

Byk eit
Eit mi

Eit deil mi

==

Kk eit

.e

>=

Byk

em

>
<=

Anlam

3 Nisan 13 aramba

de
rs
no
tla
ri.
co
m

Mantksal Operatrler

em

.e

Mantksal operatrlerden gelen cevap Evet


ise 1 Hayr ise 0 cevab verilir.

3 Nisan 13 aramba

de
rs
no
tla
ri.
co
m

Mantksal Operatrler

.e

em

>> x=2:2:18
x =
2 4 6 8 10 12 14 16 18
>> y=[0 4 3 5 10 13 17 16 20];
>> mantik1=x>=8
mantik1 =
0 0 0 1 1 1 1 1 1
>> mantik2=x>y
mantik2 =
1 0 1 1 0 0 0 0 0
>> mantik3=(x==y)
mantik3 =
0 1 0 0 1 0 0 1 0
>> z=y>10
z =
0 0 0 0 0 1 1 1 1
>> W=z.*y
W =
0 0 0 0 0 13 17 16 20
3 Nisan 13 aramba

de
rs
no
tla
ri.
co
m

Mantksal aretiler
aret

em

&

ve

veya

.e

Anlam

3 Nisan 13 aramba

deil

de
rs
no
tla
ri.
co
m

Mantksal aretiler

.e

em

>> x=-1:3:17
x =
-1 2 5 8 11 14 17
>> mantik1=x<8
mantik1 =
1 1 1 0 0 0 0
>> mantik2=~(x>5)
mantik2 =
1 1 1 0 0 0 0
>> mantik3=(x>0)&(x<14)
mantik3 =
0 1 1 1 1 0 0
>> mantik4=xor((x<3),(x>11))
mantik4 =
1 1 0 0 0 1 1

3 Nisan 13 aramba

de
rs
no
tla
ri.
co
m

Mantksal Fonksiyonlar

x veya y den her hangi ikisi doru veya yanl ise 1


dierlerinde 0 deerini dndrr.

xor(x,y)

all(a)

a vektr iinde tm elemanlar 0dan farkl ise 1


deilse 0 deerini dndrr.

.e

em

any(a)

a vektr iinde herhangi bir eleman 0dan farkl ise 1


deilse 0 deerinin dndrr

find(a)

3 Nisan 13 aramba

a bir vektr ise ann sfr olmayan elemanlarnn


konumunu gsterir.

de
rs
no
tla
ri.
co
m

Mantksal Fonksiyonlar

a eleman NaN deerinde ise 1 deilse 0 deerinin dndrr

isnan(a)

a vektrnn elelanlar sonlu say ise 1 deilse 0 deerinin


dndrr

isfinite(a)

a vektrnn elelanlar inf veya -inf ise 1 deilse 0 deerinin


dndrr

isinf(a)

eer a matrisi bo ise 1 deilse 0 deerinin dndrr.


a ve b matrislerinin birbirlerine eit olup olmadn kontrol eder.

.e

isequal(a,b)

em

isempty(a)

isreal(a)

islogical(a)

3 Nisan 13 aramba

a matrisi ierisindeki tm saylar real (gerek) say ise 1 deilse 0


deerinin dndrr
a matrisi ierisindeki tm saylar rlojik saylar ise 1 deilse 0
deerinin dndrr

de
rs
no
tla
ri.
co
m

Matksal lemler - Soru

Kullanc klavye yardm ile elemanlar reel saylar olan bir matris
girecektir. Yazlan MATLAB program ile bu matristeki pozitif saylar bir
matrise, negatif saylar bir dier matrise, 1den kk veya 5den byk
saylar ise baka bir matrise atanacaktr. Bu ilemi yapan bir MATLAB
program yaznz.

A=input('[....

; .... ; ....] eklinde bir matris

.e

em

girin ');
disp('Girdiiniz matristeki negatif saylar');
A1=(A<0).*A
disp('Girdiiniz matristeki pozitif saylar');
A2=(A>0).*A
disp('Girdiiniz matristeki 1 den kk 5 den btk
saylar');
A3=(A<1 | A>5).*A
3 Nisan 13 aramba

de
rs
no
tla
ri.
co
m

Koul ilemleri

.e

em

if (eer)
(1 art)
if mantksal ifade
deyim
end

else (deilse)
(2 art)
if mantksal ifade
deyim 1
else
deyim 2
end

3 Nisan 13 aramba

elseif (deilse eer)


(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

UYGULAMALAR

de
rs
no
tla
ri.
co
m

1. Aadaki ifadeleri Matlab formatnda yaznz


a. axn-5
b. (m/3)2n(k-3r)

.e
e

c. !!! + 1
d. (abg)/c-1/h
2. Aadaki ifadeleri Matlab formatnda yaznz ve sonularn bulunuz.
a. 10/log100
b. elog10
c. ln(e10)
d. 3cos(pi)
e. sin(7pi/4)
f. 1+(1/2)2+(1/3)3+(1/4)4+(1/5)5
g. ln(1000+(2pi)-2)
h. e (i*pi)
i. 5sin(2.53-pi)+1/(75- 9)
3. a=2, b=5 ise aadaki ifadelerin sonularn bulunuz.
a. c=a+b
b. d=a+bc
c. e=bc+a2
d. f=a/0
e. g=2e20/e
4. x=2, y=3, z=4, t=5 ise aadaki ifadelerin sonularn bulunuz.
a. s1=xyzt
b. s2=(1-xy)(1-zt)
c. s3=1/x/1/y/1/z/1/t
d. s4=(x(y+z))t
e. s5=(z-y)2/(t-x)2-
!"

!!

6. a=sqrt(-1), b=sqrt(a) ise aadaki ifadeleri yaznz.


a. a/b
b. a\b
c. b/a
d. b\a

w
w

!"

5. x=5 ve y= ise z= + !.!" ileminin sonucunu bulnuz

7. B=

!
!!!!

a.
b.
c.
d.
!

olduuna gre aadaki ifadelerin sonularn bulunuz.

Gerel ksm
Sanal ksm
Elenii
Mutlak deeri
!"

!!

8. x= ! ve y=arccos( ) ise ! ! deeri nedir


!

-1

9. sin (sin30) deerini bulunuz.

10. x=xo+vot+ gt2 formlnde xo=120 m, vo=7m/s ve g=9.81 m/s2 ise t=5 s iin x deerini
!

bulunuz.
!!!!

de
rs
no
tla
ri.
co
m

11. x=25 ve y=9 ise A=(!!!)! (!!!)! ifadesinin deerini bulunuz.

! !
!

12. T=290, r=0.0076, a=0.765, b=0,0675, A=20,ve B=20 iin K=(!!!)!

deerini

bulunuz.

13. Gauss olaslk younluk fonksiyonu, f(x)=

!!"!

(!!!)!
!!

eklindedir, bu ifadeye gre

.e
e

a=10, x=2 ve c=0.5 iin f(x) deerini bulunuz.


14. P(x)= x4+3x3-15x2-2x+9 polinomunun kklerini bulunuz.
15. P(x)= x4+3x3-15x2-2x+9 polinomunun x=2 iin deerini bulunuz.
16. P(x)= x4+3x3-15x2-2x+9 polinomunun trevini bulunuz.
17. P(x)= x4+3x3-15x2-2x+9 polinomunun integralini bulunuz.
18. x=45o iin sin(4x)-2cos(x)2 ifadesinin deerini bulunuz?
19. k=30o iin sin(k)2+cos(k)2=1 zdeliini gerekleyiniz.
20. x=35o iin y= (sinx-1)2/(1-cos2x) ve sonra da z=y-tan-1x ifadesini hesaplaynz?
21. Aadaki vektrleri retiniz.
a. -20 ile 20 arasnda tek saylardan oluan a vektr.
b. 70 ile 180 arasndaki ift saylardan oluan b vektr.
c. Tm elemanlar -2 olan 13 elemanl bir c vektr.
d. 0 ile 500 arasnda 15 artml bir d vektr
22. a=1:5, b=1:2:9 olmak zere aadaki ilemleri yapnz
a. c=a+b
b. d=a-b
c. e=3a
d. f=ab
e. h=a/b
f. k=[b a]
g. l=[a(1:2:5) 11 12 13]
h. m=[1 2 a 3 4]
i. n=a
23. x=(0:0.1:2)*pi vektrne gre
a. ilk be eleman gsteriniz;
b. 11. Elemana kadar saylar gsteriniz;
c. Srasyla 10.9.8.7. elemanlar gsteriniz
1 2 3
24. A= 4 5 6 ise
7 8 9
a. A matrisinin transpozesi olan B matrisini;
b. A matrisinin tersi olan C matrisini;
c. AC arpmn;
d. AA ve A.*A matrislerini;
e. A-1A ve AA-1 ilemini;

w
w

!!!

.e
e

29. 2 x 2 aralnda olacak ekilde xin e-x ve x2 kar grafiklerini iziniz.

w
w

A matrisini giriniz.
A matrisini mevcut alma klasrnze katsayilar ismiyle kaydediniz.
Dosyann kaydedilip kaydedilmediini kontrol ediniz. (OpenFilespenceresinden)
MATLAB oturumundaki tm deikenleri siliniz (clear)
Command windowda yazlm tm ifadeleri temizleyiniz. (clc)
A*2 ilemini yapnz.
A matrisini geri arnz.
A matrisinin st ve alt gen matrislerini oluturunuz.
C=[A zeros(3,2)] ilemini yapnz.

ABCDEFGHI-

de
rs
no
tla
ri.
co
m

f. A matrisin determinant bulunuz;


1 2 0
25. T= 4 2 5 verildiine gre
3
2 1
a. T(3,2)
b. T(3,:)
c. T(:,2)
d. T(:,3)=[ ] adreslemelerini bulunuz
26. 2x-y-3z=2
y-4z=6
2x+y-4z=7 ise x, y ve z deerini bulunuz.
27. r+s+t+u=4
2r-s+u=2
3r+s-t-u=2
r-2s-3t+u=-4 ise r, s, t, u deerini bulunuz.
9 6
5
28. A= 78 14 6
10 21 13

You might also like