Professional Documents
Culture Documents
Emre zbay
GR
Matlab nedir?
.e
e
w
w
de
rs
no
tla
ri.
co
m
Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar
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.
.e
e
w
w
de
rs
no
tla
ri.
co
m
Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar
de
rs
no
tla
ri.
co
m
Matlab arayz
w
w
.e
e
>> 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
rakaml (4 ondalk)
rakaml (14 ondalk)
iki ondalkl say
Ondalk saylar rasyonel say olarak gsterir.
.e
e
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
Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar
w
w
.e
e
de
rs
no
tla
ri.
co
m
Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar
.e
e
-5308377
w
w
de
rs
no
tla
ri.
co
m
Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar
w
w
.e
e
de
rs
no
tla
ri.
co
m
Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar
.e
e
Soru:
de
rs
no
tla
ri.
co
m
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
w
w
.e
e
de
rs
no
tla
ri.
co
m
Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar
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 =
MATRSLER
>> a=[2 7 9; 1 -3 6; 0 5 7]
.e
e
2 7 9
1 -3 6
0 5 7
w
w
de
rs
no
tla
ri.
co
m
>> 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
a=
2 7 9
1 -3 6
0 5 7
de
rs
no
tla
ri.
co
m
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
Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar
x=
de
rs
no
tla
ri.
co
m
bildirimi
: iareti kullanmak sureti ile byk bir matristen daha kk bir matris oluturulabilir.
rnein
C=C(1:3,:)
y=data(:,2)
x=data(1,:)
.e
e
X=data(:,2:3)
w
w
X=data(1:3,:)
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
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
linspace(-1,1,9) ans= ?
A(2,:) = [], A = ?
Aadaki matrisin sa alt kesinden itibaren 2x2 lik bir kare matrisi B deikenine
ataynz.
.e
e
0 -1 2
1 2 -4
B=
w
w
0 1
-1 2
2 -4
Bir matrisin tersinin (inversinin) alnmas:
Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar
3 5 7
ans=
2.0000 1.0000 0
2.0000 1.0000 0
>> B=det(A)
B=
.e
e
17
w
w
de
rs
no
tla
ri.
co
m
>>A^-1
Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar
w
w
.e
e
de
rs
no
tla
ri.
co
m
Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar
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]
Soru Kullancdan bilgi alp faktryel hesab yapp kullancya aklayc bilgi veren bir program
yaznz.
Sonuc=prod(P);
.e
e
fprintf('Girmi
dir.',Sonuc);
olduunuz
saynn
fatriyeli
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
Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar
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=
!! ! !!"# ! !!
!"#$ !
function y=denklemim(x)
y=(3*x^2+sin(x)---5)/(cos(x)^2);
end
>> fy=denklemim(3)
fy=
22.5910
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
.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
Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar
>>P=[7 0 0 5 -7];
ans=
35 0 0 25 -35
>>x=[2 3 -4 7];
>>y=[1 0 -3 0 -5 0];
>> z=conv(x,y)
z=
.e
e
w
w
de
rs
no
tla
ri.
co
m
>>5*P
Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar
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 poly fonksiyonu ile yaplr. Burada eit kkler de belirtilmek
zorundadr. poly fonksiyonu polinomun katsaylarnn cevabn verir.
.e
e
>>P=poly(kokler)
P=
1 -4 6 -4 0
w
w
de
rs
no
tla
ri.
co
m
Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar
biiminde verilir. Bu denklem takmnn matris biiminde gsterimi
[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.
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.
.e
e
function y=sincos(x)
y=sin(x)+cos(x);
w
w
end
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)
>> [x y]=solve('x^2+y=0','x+8*y=0')
x=
0
1/8
y=
0
-1/64
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
>>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
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
3.200000000000000177635683940025
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
>>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
>> S=(x^3---4*x)/(x^2+2*x);
ans=
.e
e
x-2
>> simplify(S)
w
w
de
rs
no
tla
ri.
co
m
(x-y)*(x+y)
(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:
eklindedir.
Sembolik Trev
.e
e
>> 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
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
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
.e
e
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
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.
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
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
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
Seluk niversitesi | Kimya Mhendislii | Matlab Notlar 2013 | Emre zbay, Orhan Baytar
de
rs
no
tla
ri.
co
m
Grafik zerinde keyfi bir konuma bir metin yazma ve eksenin altna etiket metni yazdrmak
mmkndr. Bu komut fonksiyonlarn belli ballar:
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
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
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([---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
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:
.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
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')
w
w
.e
e
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.
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);
.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
3 Nisan 13 aramba
Emre zbay
soru@emreozbay.net
de
rs
no
tla
ri.
co
m
Diferansiyel Denklemler
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
de
rs
no
tla
ri.
co
m
Diferansiyel Denklemler
em
.e
3 Nisan 13 aramba
de
rs
no
tla
ri.
co
m
Diferansiyel Denklemler
.e
em
3 Nisan 13 aramba
de
rs
no
tla
ri.
co
m
Diferansiyel Denklemler
.e
em
3 Nisan 13 aramba
de
rs
no
tla
ri.
co
m
Diferansiyel Denklemler
.e
em
3 Nisan 13 aramba
de
rs
no
tla
ri.
co
m
Diferansiyel Denklemler
.e
em
3 Nisan 13 aramba
de
rs
no
tla
ri.
co
m
Diferansiyel Denklemler
.e
em
3 Nisan 13 aramba
de
rs
no
tla
ri.
co
m
.e
em
3 Nisan 13 aramba
de
rs
no
tla
ri.
co
m
[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.
.e
em
3 Nisan 13 aramba
de
rs
no
tla
ri.
co
m
[t,y]=ode23('fonksiyon_adi',[t0
tson],y0,secenekler);
t0:
Saysal zmlemenin yaplaca balang iterasyonunun deeri.
.e
em
3 Nisan 13 aramba
de
rs
no
tla
ri.
co
m
em
%difdenk1.m
dosyas
function
dy_dt
=
difdenk1(t,y)
dy_dt=t.^2-y;
end
.e
3 Nisan 13 aramba
de
rs
no
tla
ri.
co
m
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
de
rs
no
tla
ri.
co
m
em
.e
! !!! 4! ! 5 = !
!! !
!! !
4 ! 5=!
!
!!
!!
3 Nisan 13 aramba
de
rs
no
tla
ri.
co
m
!! !
!! !
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
de
rs
no
tla
ri.
co
m
! 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
de
rs
no
tla
ri.
co
m
.e
em
! !! + ! ! = 2!
3 Nisan 13 aramba
de
rs
no
tla
ri.
co
m
MATLAB
.e
em
SEMBOLK LEMLER
3 Nisan 13 aramba
Emre zbay
soru@emreozbay.net
de
rs
no
tla
ri.
co
m
Sembolik Tanmlama
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
.e
em
3 Nisan 13 aramba
de
rs
no
tla
ri.
co
m
.e
em
>>
A=sym(4/5)
A
=
4/5
>>
SayisalA=double(A)
SayisalA
=
0.8000
3 Nisan 13 aramba
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
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
em
3 Nisan 13 aramba
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
de
rs
no
tla
ri.
co
m
arpanlarna Ayrma
.e
em
3 Nisan 13 aramba
de
rs
no
tla
ri.
co
m
arpanlar Datma
.e
em
3 Nisan 13 aramba
de
rs
no
tla
ri.
co
m
Denklemi Sadeletirmek
.e
em
>>
S=(x^3-4*x)/(x^2+2*x);
>>
simplify(S)
ans
=
x
-
2
3 Nisan 13 aramba
de
rs
no
tla
ri.
co
m
em
eklindedir.
.e
3 Nisan 13 aramba
de
rs
no
tla
ri.
co
m
(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
de
rs
no
tla
ri.
co
m
Sembolik Trev
em
.e
eklindedir.
3 Nisan 13 aramba
de
rs
no
tla
ri.
co
m
Sembolik Trev
.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
.e
em
3 Nisan 13 aramba
de
rs
no
tla
ri.
co
m
.e
em
3 Nisan 13 aramba
de
rs
no
tla
ri.
co
m
.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
de
rs
no
tla
ri.
co
m
MATLAB
.e
em
PROGRAMLAMA
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
em
.e
function
fonksiyon_adi(parametreler)
ilemler;
3 Nisan 13 aramba
de
rs
no
tla
ri.
co
m
Fonksiyon Tanmlama
.e
em
3 Nisan 13 aramba
de
rs
no
tla
ri.
co
m
Fonksiyon Tanmlama
em
.e
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
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
xor(x,y)
all(a)
.e
em
any(a)
find(a)
3 Nisan 13 aramba
de
rs
no
tla
ri.
co
m
Mantksal Fonksiyonlar
isnan(a)
isfinite(a)
isinf(a)
.e
isequal(a,b)
em
isempty(a)
isreal(a)
islogical(a)
3 Nisan 13 aramba
de
rs
no
tla
ri.
co
m
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('[....
.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
UYGULAMALAR
de
rs
no
tla
ri.
co
m
.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-
!"
!!
w
w
!"
7. B=
!
!!!!
a.
b.
c.
d.
!
Gerel ksm
Sanal ksm
Elenii
Mutlak deeri
!"
!!
-1
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
! !
!
deerini
bulunuz.
!!"!
(!!!)!
!!
.e
e
w
w
!!!
.e
e
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