You are on page 1of 82

MATLAB VE UYGULAMALARI

Yrd.Do.Dr. Hikmet ALAR stanbul Kltr niversitesi Matematik-Bilgisayar Blm. Ksa MATLAB Tarihi
1984 ylnda Cleve Moler ve Jack Little tarafnda kurulan MathWorks, Inc. tarfndan gelitirilen bir programdr.MATLAB(MATrix LABoratory) matrix tabanl saysal hesaplamalar yapabilmek iin tasarlanmtr.C++ benzeri programlama, data girii, grafik olanaklar ve birok toolboxa sahiptir.

MATLAB Endstri Uygulamalar


Signal generation RADAR/SONAR simulasyonu Modelleme ve digital signal processing modellerin analizi Complex matematik hesaplamalar Control Sistemlerinin Modellenmesi

Yardm alnabilecek MathWorks website adresi: http://www.mathworks.com

Command Window
MATLAB icon tklanarak program altrlr. Command Window ekran grlr. Bu ekran kullanlarak basit komutlar ve program yazlabilir.

rnein, S=1+2 S= 3 f=sin(pi/4) f= 0.7071 Burada kullanlan sin,pi tanml fonksiyon ve sabittir. Deiken isimleri harfle balar, saylar ve underscores ierebilir.Bir deiken iinde en fazla 31 karekter kullanlabilir. Format long komutuyla hesaplamada kullanlan anlaml digit says deitirilebilir. hesaplanan f deeri, f= 0.70710678118655 Tekrar default formata donmek iin format short f= 0.7071 Exit komutu ile MATLAB tan klr. Bu arada Workspace kaybolur. MATLAB 3 tip say sistemine sahiptir. integers real complex rnein daha once

lemsel Semboller
Toplama + karma arpma * blme / veya \ s alma ^ MATLAB ta iki blme ilemi farkldr, r = 47/3 r= 15.6667 3/47 ilemi aadaki gibi yaplabilir.

d = 47\3 (3/47) d= 0.0638 workspace alanndaki deikenler save komutu ile saklanr.Load komutu ile bu alan yklenebilir.Clear komutu workspace alann siler, save d clear load d d= 0.0638 Whos komutu ile workspace alanndaki tm deikenler grlebilir. whos Name s Size 1x1 Bytes Class 8 double array

Grand total is 1 elements using 8 bytes Name Size Bytes Class ans 1x1 16 double array (complex) fun 1x1 8 double array ld 1x1 8 double array rd 1x1 8 double array s 1x1 8 double array xi 1x1 8 double array xr 1x1 8 double array Grand total is 7 elements using 64 bytes who komutu ile sadece deiken isimleri listelenir. Your variables are: ans ld s xr fun rd xi Herhangibir komut hakknda yardm almak iin help kullanlr, Help plot Eer yaplan bir ilemin sonucunu command window ekrannda gormek istemiyorsanz deyimin sonuna ; iareti koyunuz. S=12+3; clc : command window ekrann siler. quit : MATLAB tan k salar.

MATLAB Workspace
Bu ekran kullanlarak deikenler eriilerek dzeltmeler yaplabilir.Herhangibir deiken silinmek istenirse clear komutu kullanlr.Clear tm deikenleri workspace den siler. Clear a , sadece a deikenini siler.

MATLAB da kullanlan Trigonometric fonksiyonlar,


sin sinh asin asinh cos cosh acos acosh tan tanh atan atan2 atanh sec sech asec asech csc csch acsc acsch cot coth acot acoth - Sine. - Hyperbolic sine. - Inverse sine. - Inverse hyperbolic sine. - Cosine. - Hyperbolic cosine. - Inverse cosine. - Inverse hyperbolic cosine. - Tangent. - Hyperbolic tangent. - Inverse tangent. - Four quadrant inverse tangent. - Inverse hyperbolic tangent. - Secant. - Hyperbolic secant. - Inverse secant. - Inverse hyperbolic secant. - Cosecant. - Hyperbolic cosecant. - Inverse cosecant. - Inverse hyperbolic cosecant. - Cotangent. - Hyperbolic cotangent. - Inverse cotangent. - Inverse hyperbolic cotangent.

Saysal fonksiyonlar
fix floor ceil round rem sign (1/0) (0/0 ) sqrt conv fft ifft length size gcd lcm exp log log10 mod reel saynn tam ksmn verir negatif sayya yuvarlama. pozitif sayya yuvarlama. En yakn integer sayya yuvarlama. Blmeden sonar kalan. Signum function. Inf , sonsuz nan kare kk convolution fast Fourier transform inverse fast Fourier transform length of a vector bir matrisin booyutlarn verir en byk ortak blen en kk ortak blen stel fonksiyon doal logoritma 10 tabanl logoritma moduler aritmetik

Deikenler
alma srasnda tm deikenler belirli bir formatta kullanlabilir. stenirse tek olarakta format tanm yaplabilir.

v = 12.345678901234567 deerini tanmlarsak, format short long short e long e rat 12.3457 12.34567890123457 1.2346e+001 1.234567890123457e+001 1000/81

Sanal saylar a+bi eklinde tanmlanr, 3+2i ans = 3.0000 + 2.0000i


sqrt(-1) ans = 0 + 1.0000i Sanal saylarla ilgili fonksiyonlar. abs angle cos sin exp real imag conj : Komplex saynn magnitude (real saylar iin mutlak deer) : Komplex saynn pirimitiv arguman : Komplex saynn cos fonksiyonu : Komplex saynn sin fonksiyonu : Komplex saynn stel fonksiyonu : Komplex saynn real ksm : Komplex saynn sanal ksm : Komplex saynn elenii

String
String bilgiler aadaki gibi tanmlanr. str = ' MATLAB ' str = MATLAB

Herhangibir stringin ASCII deerleri double fonksiyonu ile bulunur, str1 = double(str) str1 = 77 65 84 76 65 66

ASCII kodlardan karekter formuna dnmek iin char fonksiyonu kullanlabilir. str2 = char(str1) str2 = MATLAB ki stringi strcmp fonksiyonu ile karlatrlabiliriz. iseq = strcmp(str, str2) iseq = 1 ki string stscat fonksiyonu ile birletirilebilir, strcat(str,str2) ans = MATLABMATLAB Elemanlar string olan vektr tanmlayalm,. a = {'ad = '; 'soyad = '; 'telefon = '} a= 'ad = ' 'soyad = ' 'telefon = ' MATLAB ta karekter kontrolu iin 2 fonksiyon mevcuttur, isletter ve isspace. isletter(str) ans = 1 1 1 1 1 1

Eer karekter harf ise 1 aksi taktirde 0 dner. isspace(str) ans =

Eer karekter boluk ise 1 aksi taktirde 0 dner. Random say reten randn fonksiyonu ile 3x3 matris retelim, A = randn(3) A= -0.4326 0.2877 1.1892 -1.6656 -1.1465 -0.0376 0.1253 1.1909 0.3273 int2str fonksiyonu saylar tamsay olarak stringe evirir B = int2str(A) B= 001 -2 -1 0 010 num2str fonksiyonu ise reel say olarak evirir, C = num2str(A) C= -0.43256 0.28768 1.1892 -1.6656 -1.1465 -0.037633 0.12533 1.1909 0.32729 D = num2str(A, 18) D= -0.43256481152822068 0.28767642035854885 1.1891642016521031 -1.665584378238097 -1.1464713506814637 -0.037633276593317645 0.12533230647483068 1.1909154656429988 0.32729236140865414

Input Output
Sisteme bilgi girii iin input fonksiyonu kullanlr, A=input(bir say giriniz) Girilen deer deikene atanr. Herhangibir deeri grntlemek iin disp kullanlr, disp( 'MATLAB' ); disp(a) disp( [ 'Kltr ' 'Universitesi' ] ); ad = 'ali'; disp( [ 'merhaba ' ad ] ); d = [ num2str(16) '-subat-' num2str(2004) ];

disp(d); 16-subat-2004 x = 44.2; disp( [ 'sonuc = ' num2str(x) ] ); cevap=44.2 formatl k iin, fprintf fonksiyonu kullanlr, fprintf( format, data ) format iin aadaki karekterler kullanlr, %d integer %f floating point format %e exponential format \n new line character \t tab character fprintf( 'yarap %d olan dairenin alan %f', 3, pi*3^2 ); yarap 3 olan dairenin alan 28.274334 x = pi; fprintf( 'x = %10.2f', x ); x= 3.14

Save , Load
Bir dosya veya deiken save komutu ile saklanr, load ile alma alanna getirilir. save dosya-ad deiken1 deiken2 load dosya-ad deiken1 deiken2

Vektr ve matris
Satr vektr a = [1 2 3] a= 123 Stn vector b = [1;2;3] b= 1 2 3 ' operatr transpose iin kullanlr . complex formda , a + i*b'

(a+i*b')' ans = 1.0000 - 1.0000i 2.0000 - 2.0000i 3.0000 - 3.0000i (a+i*b').' ans = 1.0000 + 1.0000i 2.0000 + 2.0000i 3.0000 + 3.0000i length fonksiyonu vektrdeki elaman saysn verir length(a) ans = 3 . operatr MATLAB da ok nemlidir.

rnek: a*a ilemi boyut hatas verir, A vektrnn elemanlarnn karlkl arpmn elde etmek iin, a.*a ans = 149 ayni ilem aadaki gibi yaplabilir a.^2 ans = 149 Benzer biimde blme ilemi a.\b' ans = 111 a vectr stn olarak deitirilebilir, a = a' a= 1 2 3 arpma ilemi c = a'*b c= 5 c = a*b' c= 123 246

369 ki vectrn vektrel arpm, b = [-2 1 2]; cp = cross(a,b) cp = 1 -8 5

Matris
MATLAB da matrisler aadaki gibi tanmlanr, Bo matris M=[ ] A=[1 1 3;4 0 6;2,5,-1] A= 1 4 2 1 0 5 3 6 -1

B=[1 0 -1 ; 0 -1 1 ;-1 1 0]

B= 1 0 -1 0 -1 1 -1 1 0

ki matrisin arpm, C=A*B

C= -2 -2 3 2 6 -6 0 -4 3

10

transpose si A'

ans = 1 1 3 4 0 6 2 5 -1

matrisin karesi D=B^2

D= 2 -1 -1 -1 2 -1 -1 -1 2

DD=B.^2 DD = 1 0 0 1 1 1

matrisin determinant

det(A) ans= 46 matrisin inversi inv(A)

11

ans = -0.6522 0.3478 0.1304 0.1304

0.3478 -0.1522

0.4348 -0.0652 -0.0870 matrisin rank rank(D) ans = 2 Bir matrisin zdeer ve zvektr, [P,LAMDA]=eig(D) P= 0.80341805013121 -0.27565515744340 -0.52776289268782 LAMDA = 3 0 0 0 3 0 0 0 0 0.14555446880815 -0.76855767567667 0.62300320686851 0.57735026918963 0.57735026918963 0.57735026918963

Matrislerle ilgili baz zellikler: A = [1 2 3;4 5 6;7 8 10] A= 1 2 3 4 5 6 7 8 10 A matrisinden alt matrix elde edilebilir,rnein 1 ve 3 satrlar ile 1 ile 2 stnlar B = A([1 3], [1 2]) B= 12 78 A matrixinden 1 ve 3 nc satrlar yer deitirebiliriz. C = A([3 2 1],:)

12

C= 7 8 10 45 6 12 3 : operatr sutnn veya satrn tm elemanlar anlamnda kullanlr. A(:) ans = 1 4 7 2 5 8 3 6 10 Herhangibir satr(stn) silmek iin, A(:, 2) = [] A= 13 46 7 10 2. inci stn silindi. Vektrleri kullanarak matrix yaratlabilir, A = [A(:,1) [2 5 8]' A(:,2)] A= 123 456 7 8 10 yeni bir matrix yaratalm, A = [-1 2 3;0 5 1] A= -1 2 3 051 A>1 ans = 011 010 A(A > 1) ans = 2 5 3 A = [1 2 3; 3 2 1] ;

13

A.*A ans = 149 941

A*A ??? Error using ==> * Inner matrix dimensions must agree. Diag fonksiyonu bir matrixin diyagonal yaratr, d = [1 2 3]; D = diag(d) D= 100 020 003 Tersine bir matrixte kullanlrsa matrixin diagonaln verir, d = diag(D) d= 1 2 3 Ayni boyuttaki matrisler bir deikende saklanabilir, a={[1 2; 3 4],[6 7; 8 9]} a= [2x2 double] a{1} ans = 1 3 2 4 [2x2 double]

m tane matrisin lineer kombinasyonunu bulan fonksiyonu yazalm, function M = linkomb(v,A) % m tane ayni boyutta matrisin Linear kombinasyonu % katsaylar v = {v1,v2,,vm} % A = {A1,A2,...,Am} m = length(v); [k, l] = size(A{1}); M = zeros(k, l); for i = 1:m M = M + v{i}*A{i};

14

end v={2,3} v= [2] [3]

linkomb(v,a) ans = 20 30 25 35

Baz zel Matrisler


ones(4,3) ans = 111 111 111 111 zeros(2,4) ans = 0000 0000 eye(4) ans = 1000 0100 0010 0001 eye(5,3) ans = 100 010 001

15

000 000 eye(4,5) ans = 10000 01000 00100 00010 Hilbert matrisi H=hilb(4) ans = 816

357
492 H= 1.0000 0.5000 0.3333 0.2500 0.5000 0.3333 0.2500 0.2000 0.3333 0.2500 0.2500 0.2000 0.2000 0.1667 0.1667 0.1429

rational formda istenirse, rats(H) ans = 1 1/2 1/3 1/4 1/2 1/3 1/4 1/5 1/3 1/4 1/5 1/6 1/4 1/5 1/6 1/7 Diagonal matris elde etmek iin d=1:5; m=diag(d)

16

m= 10000 02000 00300 00040 00005 s1=diag(d,1)

s1 =
010000 002000 000300 000040 000005 000000 s2=diag(d,-1) s2 = 000000 100000 020000 003000 000400 000050

rand(n,m) uniform dalmdan nxm matris randn(n,m) normal dalmdan nxm matris triu(a) st gen matris

tril(a) alt gen matris

M-Files
Program codlarn ieren file m-file ad verilir. Pull-down menu ile File-new seenei ile yaratlr. Script files veya function files olmak zere 2 biimde yazlabilir.Script file input arguman ve output arguman iermez.

17

rnek script file, % Script file x = pi/100:pi/100:10*pi; y = sin(x)./x; plot(x,y) grid ornek1 olarak save ediniz. Yukardaki ornek programda % ile balayan satr aklama satr. Ikinci satrda x deikeni [pi/100,10*pi] kapal aralnda pi/100 artmla yaratlyor. nc satrda x deerleri iin hesaplanan sin(x)/x deerleri y deikeninde saklanyor. Plot(x,y) ile grafik iziliyor. Grid grafik ekrann grid oluturlmas iin kullanlmtr. Command Window da ornek1 yazlarak enter yaplrsa script file run edilmi olur. Function file iin bir vectoru bykten ke sralayan program yazalm yazalm. function [b, j] = sirala(a) % Function a vectorunu bykten ke sralar % b arguman sralanm vector % j sralama sonras elemanlarn index deerlerini verir. [b ,j] = sort(-a); b = -b; Command window da, a = [pi 10 35 0.15]; [b, j] =sirala(a) b= 35.0000 3.1416 0.1500 -10.0000 j= 3142 Baz zamanlarda alma annda kullanlmak zere function tanmlamak gerekebilir.Bu durumda inline fonction kullanlr.

f = inline('sqrt(x.^2+y.^2)','x','y') f= Inline function: f(x,y) = sqrt(x.^2+y.^2) herhangibir deeri hesaplamak iin f(3,4) ans = 5 yukarda yazlan inline function matrix iinde kullanlabilir. rnein: A = [1 2;3 4] A= 12 34 and

18

B = ones(2) B= 11 11 C = f(A, B) C= 1.4142 2.2361 3.1623 4.1231 Karekterlerden oluan string bilgiler aadaki gibi tanmlanabilir s = ' MATLAB' s= MATLAB

Dngler,Kontrol
MATLAB programlamada aadaki dng ve kontrollar kullanlabilir. for loops while loops if-else-end switch-case

for loops for k = dizi deyimler end

for ve end arasndaki deyimler dizide belirtilen her eleman iin icra edilir.rnein n = 0, 1, , 10 iin n/10 noktalarnda sin deerlerini hesap edelim. for n=0:10 x(n+1) = sin(pi*n/10); end x x= Columns 1 through 7 0 0.3090 0.5878 0.8090 0.9511 1.0000 0.9511 Columns 8 through 11 0.8090 0.5878 0.3090 0.0000 for dngs i ie kullanlabilir, H = zeros(5); for k=1:5 for l=1:5 H(k,l) = 1/(k+l-1); end end

19

H H= 1.0000 0.5000 0.3333 0.2500 0.2000 0.5000 0.3333 0.2500 0.2000 0.1667 0.3333 0.2500 0.2000 0.1667 0.1429 0.2500 0.2000 0.1667 0.1429 0.1250 0.2000 0.1667 0.1429 0.1250 0.1111 Bulunan matrix Hilbert matrix olarak adlandrlr. 10x10 boyutunda A = [akl], matrixini, akl = sin(k)cos(l) olacak ekilde elde etmek isteyelim, A = zeros(10); for k=1:10 for l=1:10 A(k,l) = sin(k)*cos(l); end end yukardaki program daha ksa yazlabilir k = 1:10; A = sin(k)'*cos(k); Bu ilem MATLAB vectorization olarak adlandrlr.

While loops
Bu dngnn yaps, While koul Deyimler End Dngnn tekrar saysn bilmiyorsa kullanlr.Bunun iin aadaki rnee bakalm, q = pi; while q > 0.01 q = q/2; end q q= 0.0061

if deyimi
Bir koula bal programn akn deitirmek iin kullanlr, If koul

20

deyimler end Bir baka kullanm biimi , If koul Deyimler (Eer koul doruysa) Else Deyimler (Eer koul yanlsa) End ie if lerde kullanlabilir, if kou l 1 Deyimler (Eer koul 1 doruysa) elseif kou l 2 Deyimler (Eer koul 2 doruysa) elseif . . . else Deyimler (Eer tm koullar yanlsa) End

f deyiminde aadaki operatrler kullanlabilir, Operator < <= > >= == Eit ~= Eit deil

Mantksal operatrler, | And & Or ~ Not rnek : Saysal analizde nemli yeri olan Chebyshev polinomlarn hesap edelim, Tn(x), n = 0, 1,

21

Tn(x) = 2xTn 1(x) Tn 2(x), n = 2, 3, , T0(x) = 1, T1(x) = x. function T = ChebT(n) % Coefficients T of the nth Chebyshev polynomial of the first kind. % They are stored in the descending order of powers. t0 = 1; t1 = [1 0]; if n == 0 T = t0; elseif n == 1; T = t1; else for k=2:n T = [2*t1 0] - [0 0 t0]; t0 = t1; t1 = T; end end Kbik Chebyshev polinomlarnn katsaylar, coeff = ChebT(3) coeff = 4 0 -3 0 T3(x) = 4x3 3x.

Switch-case
Genel yaps, switch deyim (saysal veya string) case deer1 (Eer deyimin deeri deer1 ise) komutlar case deer2 (Eer deyimin deeri deer2 ise) komutlar . . . otherwise komutlar end

rnek: Rastgele retilen integer saylar {1, 2, , 10} kmesi iinde , eer x=1 veya x=2 ise %20 olaslk,x=3 veya x=4,x=5 ise %30 olaslk, dier durumlarda %50 olaslk mesaj veren program yaznz.

22

% Script M file (olaslk) x = ceil(10*rand); switch x case {1,2} disp('Olaslk = 20%'); case {3,4,5} disp('Olaslk = 30%'); otherwise disp('Olaslk = 50%'); end

Programda kullanlam MATLAB fonksiyonlar rand uniform dalmdan rastgele say retir (0, 1) ceil round towards plus infinity infinity (see Section 2.5 for more details) disp string/saysal bilgileri ekranda grntler

Yukardaki program Command windowda alstralm for k = 1:10 olaslk end olaslk = 50% Probability = 30% Probability = 50% Probability = 50% Probability = 50% Probability = 30% Probability = 20% Probability = 50% Probability = 30% Probability = 50% rnek: a = [1 1 3 4 1] a= 11341 i = (a == 1) i= 11001 Deeri 1 olan elemanlar baka bir diziye atanabilir b = a(i) b= 111

23

Baka bir biimdede kullanlabilir ind = find(a == 1) ind = 125 b = a(ind) b= 111 rnek: x = randn(1,7) x= -0.4326 -1.6656 0.1253 0.2877 -1.1465 1.1909 1.1892 ind = (x >= 1) | (x < -0.2) ind = 1100111 y = x(ind) y= -0.4326 -1.6656 -1.1465 1.1909 1.1892 Dizide elemanlarn varln sorgulayan isempty fonksiyonu iin rnek verelim,

isempty(y) ans = 0 y dizisi bo olmad ii 0 dner. isempty([ ]) ans = 1 Bo dizi iinse 1 dner.

rnek:Bir polinomun trev katsaylarn veren fonksiyonu yazalm,

function dp = derp(p) % dp trev polinomu % p verilen polinom n = length(p) - 1; p = p(:)'; % p yi satr haline getirir dp = p(1:n).*(n:-1:1); % katsaylar hesapla k = find(dp ~= 0); if ~isempty(k)

24

dp = dp(k(1):end); % sfrlar sil else dp = 0; end p(x) = x3 + 2x2 + 4 polinomu iin yukardaki fonksiyon kullanlrsa dp = derp([1 2 0 4]) dp = 340

MATLAB Grafik
Matlab birok grafik fonksiyona sahiptir. ki ve boyutlu grafikler kolaylkla izilebilir. F(x)= x/(1+x^2) fonksiyonunu izelim.

% Script file % Fonksiyon y = x/(1+x^2). for n=1:2:5 n10 = 10*n; x = linspace(-2,2,n10); y = x./(1+x.^2); plot(x,y,'r') title(sprintf('Graph %g. Plot based upon n = %g points.' , (n+1)/2, n10)) axis([-2,2,-.8,.8]) xlabel('x') ylabel('y') grid pause(3) end Yukardaki program incelersek, linspace(a, b, n) : [a,b] araln n noktaya blerek yaratr 'r' : renk kodu (red) title sprintf : grafik zerine aklayc bilgilerin yazlmasn salar. : string ve saysal bilgilerin birlikte oluturulmasn salar.

25

%g

: integer saylar iin format

xlabel,ylabel : Exsenlerin etiketlerini yazmak iin axis pause : Eksenleri dzenler : grafik ekran bekletmek iin kullanlr

Ayni grafii tek bir grafik ekranda izebiliriz.Bu amala subplot kullanalm.

% Script file % y = x/(1+x^2) k = 0; for n=1:3:10 n10 = 10*n; x = linspace(-2,2,n10); y = x./(1+x.^2); k = k+1; subplot(2,2,k) % 2x2 4 grafik izilecek, k=grafiin indexi plot(x,y,'r') title(sprintf('Grafik %g. n = %g ' , k, n10)) xlabel('x') ylabel('y') axis([-2,2,-.8,.8]) grid pause(3); end

26

Aadaki iki elipsi izelim,

% Script file % x(t) = 3 + 6cos(t), y(t) = -2 + 9sin(t) % x(t) = 7 + 2cos(t), y(t) = 8 + 6sin(t). t = 0:pi/100:2*pi; x1 = 3 + 6*cos(t); y1 = -2 + 9*sin(t); x2 = 7 + 2*cos(t); y2 = 8 + 6*sin(t); h1 = plot(x1,y1,'r',x2,y2,'b'); set(h1,'LineWidth',1.25) axis('square') xlabel('x')

h = get(gca,'xlabel'); set(h,'FontSize',12) set(gca,'XTick',-4:10) ylabel('y') h = get(gca,'ylabel'); set(h,'FontSize',12) set(gca,'YTick',-12:2:14) title(' (x-3)^2/36+(y+2)^2/81 = 1 ve (x-7)^2/4+(y-8)^2/36 =1.')

27

h = get(gca,'Title'); set(h,'FontSize',12) grid

Grafik iziminde kullanlacak renk kodlar aadadr, y yellow m magenta c cyan r red g green b blue w white k black izilen grafiklerin ileri doldurulabilir Bir rnekle grelim, n = -6:6; x = sin(n*pi/6); y = cos(n*pi/6); fill(x, y, 'r') axis('square') title(' x = sin(n*pi/6) , y = cos(n*pi/6) ') text(-0.45,0,' MATLAB')

28

Polar koordinatlarda izim iin bir rnek verelim,

theta=0:pi/60:2*pi;r=2*(1-cos(theta));polar(theta,r);axis square

29

Contour larn izimi


Contour larn izimi sk karlalan bir problemdir. rnek olarak, f(x,y) = 2 - [(x-1)2 + 4(y-1)2 + 2xy] fonksiyonunu alalm, function m=pr(x,y) m=zeros(0,length(x)) for k=length(y):-1:1 m=[m;2-((x-1).^2+4*(y(k)-1)^2+2*x*y(k))] end x=-2:.1:2; y=x; m=pr(x,y); cs=contour(x,y,flipud(m),[-15 -10 -5 -2 0 .5]); clabel(cs) xlabel('x') ylabel('y') title('Contour Plot ')

30

3 Boyutlu grafikler
plot3 fonksiyonu kullanarak % Script file % Curve r(t) = < t*cos(t), t*sin(t), t >. t = -10*pi:pi/100:10*pi; x = t.*cos(t); y = t.*sin(t); h = plot3(x,y,t); set(h,'LineWidth',1.25) title(' u(t) = < t*cos(t), t*sin(t), t >') h = get(gca,'Title'); set(h,'FontSize',12) xlabel('x') h = get(gca,'xlabel'); set(h,'FontSize',12) ylabel('y') h = get(gca,'ylabel'); set(h,'FontSize',12) zlabel('z') h = get(gca,'zlabel'); set(h,'FontSize',12) grid

31

mesgrid fonksiyonu kullanlarak 3 boyutlu koordinatlar yaratlabilir. x = [0 1 2]; y = [10 12 14]; [xi, yi] = meshgrid(x,y) xi = 012 012 012 yi = 10 10 10 12 12 12 14 14 14 rnek: x = -1:0.05:1; y = x;

[xi, yi] = meshgrid(x,y); zi = yi.^2 - xi.^2; mesh(xi, yi, zi) axis off

rnek:

% Script file % = y^2 - x^2 x = -1:.05:1; y = x; 32

[xi,yi] = meshgrid(x,y); zi = yi.^2 - xi.^2; surfc(xi,yi,zi) colormap copper shading interp view([25,15,20]) grid off title('Hyperbolic paraboloid z = y^2 x^2') h = get(gca,'Title'); set(h,'FontSize',12) xlabel('x') h = get(gca,'xlabel'); set(h,'FontSize',12) ylabel('y') h = get(gca,'ylabel'); set(h,'FontSize',12) zlabel('z') h = get(gca,'zlabel'); set(h,'FontSize',12) pause(5) figure contourf(zi), hold on, shading flat [c,h] = contour(zi,'k-'); clabel(c,h) title('The level curves of z = y^2 - x^2.') h = get(gca,'Title'); set(h,'FontSize',12) xlabel('x') h = get(gca,'xlabel'); set(h,'FontSize',12) ylabel('y') h = get(gca,'ylabel'); set(h,'FontSize',12)

33

Baz zel ekiller iin hazr fonksiyonlar vardr, Kre:

34

[x,y,z]=sphere(100) % 100 noktayla iz surf(x,y,z)

silindir: [x,y,z] =cylinder(2) % r=2 surf(x,y,z)

35

koni: [x,y,z] = cylinder([0 1]) surf(x,y,z)

36

Elipsoid:
[x,y,z]=ellipsoid(xc,yc,zc,xr,yr,zr)

( x xc) 2 ( y yc) 2 ( z zc) 2 + + =1 xr 2 yr 2 zr 2

[x,y,z]=ellipsoid(2,3,4,5,6,8) surf(x,y,z) lorenz: sistemde tanmldr ve Lorenz chaotic attractor n verir.

37

spharm2 Sistemde tanml 3-boyutlu demo izimdir.

Matlab da kullanlan renk zellikleri aada listelenmitir, hsv - hue-saturation-value color map hot - black-red-yellow-white color map gray - linear gray-scale color map bone - gray-scale with tinge of blue color map copper - linear copper-tone color map pink - pastel shades of pink color map white - all white color map flag - alternating red, white, blue, and black color map lines - color map with the line colors

colorcube - enhanced color-cube color map vga - windows colormap for 16 colors
jet - variant of HSV prism - prism color map cool - shades of cyan and magenta color map autumn - shades of red and yellow color map spring - shades of magenta and yellow color map winter - shades of blue and green color map summer - shades of green and yellow color map rnek:

38

colormap(spring)

Lineer Denklem Sistemlerinin zmleri


Ax = b eklindeki lineer denklem sistemlerinde,A mxn boyutunda bir matrix olmak zere 1. m=n

A = [1 2 3;4 5 6;7 8 10] A= 123 456 7 8 10 b = ones(3,1); x = A\b x= -1.0000 1.0000 0.0000 bu zmde saysal yuvarlatma hatalar bulunabilir, r = b - A*x r= 1.0e-015 * 0.1110 0.6661 0.2220 2. m>n

A = [2 1; 1 10; 1 2]; x = A\b x= 0.5849 0.0491 r = b - A*x r= -0.1208 -0.0755 0.3170 3. m < n A = [1 2 3; 4 5 6]; b = ones(2,1); x = A\b x= -0.5000

39

0 0.5000

Bir matrixin inversi inv fonksiyonu kullanlarak bulunabilir rnek: A = [1 2 3;4 5 6;7 8 10] A= 123 456 7 8 10 Then B = inv(A) B= -0.6667 -1.3333 1.0000 -0.6667 3.6667 -2.0000 1.0 -2.0000 1.0000 A = pascal(3) A= 111 123 136 Cholesky genletirmesi, S = chol(A) S= 111 012 001 A = S'*S. det(A) ans = -360

2-norm (Euclidean norm) norm.


a = -2:2 a= -2 -1 0 1 2 twon = norm(a) 17 twon = 3.1623 birim vektr unitv = a /twon unitv = -0.6325 -0.3162 0 0.3162 0.6325 a ve b vektrleri arasndaki a hesaplanabilir, c = arccos(a.b/||a|| ||b||),

40

Polinomlar
3 nc derece polinomun kkleri, p(x) = 3x3 + 2x2 - 1 p = [3 2 0 1]; format long r = roots(p) r= -1.00000000000000 0.16666666666667 + 0.55277079839257i 0.16666666666667 - 0.55277079839257i bulunan kklerin deerlerini bulmak iin, err = polyval(p, r) err = 1.0e-014 * 0.22204460492503 0 + 0.01110223024625i 0 - 0.01110223024625i Bir fonksiyonu 0 yapan degeri bulmak, f(x) = cos(x) x. fonksiyonunu alalm, function y = f1(x) % A univariate function with a simple zero. y = cos(x) - x;

r = fzero('f1', 0.5) r= 0.73908513321516 fzero fonksiyonunda ikinci argman balang deeri. Feval fonksiyonu kullanarak fonksiyon deerini bulabiliriz. err = feval('f1', r) err = 0 istenilen bir aralkta kk bulmak iin, r = fzero('f1', [0 1]) r= 0.73908513321516 fzero('f1', [1 2]) ??? Error using ==> fzero The function values at the interval endpoints must differ in sign.

41

Kk bulmada yaklam hassasl verilebilir rt = fzero('f1', .5, 1e-3) rt = 0.73886572291538 = istenirse 4 nc arguman 1 yazlarak iterasyon admlar grlebilir. format short rt = fzero('f1', .5, eps, 1) Func evals x f(x) Procedure 1 0.5 0.377583 initial 2 0.485858 0.398417 search 3 0.514142 0.356573 search 4 0.48 0.406995 search 5 0.52 0.347819 search 6 0.471716 0.419074 search 7 0.528284 0.335389 search 8 0.46 0.436052 search 9 0.54 0.317709 search 10 0.443431 0.459853 search 11 0.556569 0.292504 search 12 0.42 0.493089 search 13 0.58 0.256463 search 14 0.386863 0.539234 search 15 0.613137 0.20471 search 16 0.34 0.602755 search 17 0.66 0.129992 search 18 0.273726 0.689045 search 5 19 0.726274 0.0213797 search 20 0.18 0.803844 search 21 0.82 -0.137779 search Looking for a zero in the interval [0.18, 0.82] 22 0.726355 0.0212455 interpolation 23 0.738866 0.00036719 interpolation 24 0.739085 -6.04288e-008 interpolation 25 0.739085 2.92788e-012 interpolation 26 0.739085 0 interpolation rt = 0.7391

Interpolasyon
Intepolasyon iin genel form yi = interp1(x, y, xi, method) eklindedir x ve y verilen deerler,yi ise interpolasyon fonksiyonundan hesaplanan deerler (yi = f(xi)). Metotlar ise, 'nearest' : Local parasal 'linear' : Linear . 'spline' : spline interpolasyon

42

rnek : (xk, yk) = (k_/5, sin(2xk)), k = 0, 1, , 5, deerlerini retelim, x = 0:pi/5:pi; y = sin(2.*x); bulunan deerleri kullanarak interpolasyon yaparsak , xi = 0:pi/100:pi; yi = interp1(x, y, xi, 'nearest'); plot(x, y, 'o', xi, yi), title('Piecewise interpolasyon y =sin(2x)')

yi = interp1(x, y, xi, 'cubic'); plot(x, y, 'o', xi, yi), title('Cubic interpolant of y = sin(2x)')

43

spline fonksiyonu kullanlarakta interpolasyon yaplabilir,


x = -3:3; y = [-1 -1 -1 0 1 1 1]; t = -3:.01:3; p = pchip(x,y,t); s = spline(x,y,t); plot(x,y,'o',t,p,'-',t,s,'-.') legend('data','pchip','spline',4)

44

ki boyutlu interpolasyon
{xk, yl} noktalar iin , 1 k m, 1 l n aralnda zkl, verildiinde z = f(x, y) interpolasyon denklemi zi = interp2(x, y, z, xi, yi, 'method') MATLAB fonksiyonu ile bulunabilir metotlar : 'nearest' - nearest neighbor interpolation 'linear' - bilinear interpolation 'cubic' - bicubic interpolation 'spline' - spline interpolation rnek: z = sin(x2 + y2) fonksiyonundan 1 x 1, -1 y 1 aralnda data reterek metotlaral interpolasyon yapalm, [x, y] = meshgrid(-1:.25:1); z = sin(x.^2 + y.^2); [xi, yi] = meshgrid(-1:.05:1); zi = interp2(x, y, z, xi, yi, 'linear'); surf(xi, yi, zi), title('Bilinear interpolasyon sin(x^2 + y^2)')

'linear' ve the 'cubic'

45

cubic interpolasyon iin, zi = interp2(x, y, z, xi, yi, 'cubic');

statistik uygulamalar
statistikte kullanlan dalm fonksiyonlar ve zellikleri zerinde duralm,

Binomial dalm:
Binom dalmnn olaslk fonksiyonu,

q=1-p = np 2= npq

rnek: n=25,p=0.2,

46

p(x<=3) = ? p1=binocdf(3,25,0.2) baska bir biimde ayni sonu bulunabilir, p2=sum(binopdf(0:3,25,0.2)) rnek: N=6,p=0.3 ve p=0.7 iin olaslk younluk fonksiyonunu izelim, x=0:6 pdf1=binopdf(x,6,0.3) pdf2=binopdf(x,6,0.7) subplot(1,2,1) bar(x,pdf1,1,w) title(n=6 , p=0.3) xlabel(x) ylabel(f(x)) axis square subplot(1,2,2) bar(x,pdf2,1,w) title(n=6 , p=0.7) xlabel(x) ylabel(f(x)) axis square

Poisson dalm

47

= 2=
Dalmn grafiini =5 iin izelim, x = 0:50; y = poisspdf(x,5); plot(x,y,'+')

rnek: =0.25 iin P(x>=2) olasln hesaplayalm,

P(x>=2)=1-{p(x=0)+p(x=1)} P=1-poisscdf(1,0.25) P= 0.0265

48

Geometrik dalm

y = f ( x; p ) = pq x
q=1-x

x=0,1,...

=
1 p p2

1 p

rnek: x=0:25 y=geopdf(x,0.04) c=geocdf(x,0.04) plot(x,y) hold stairs(x,c

Hipergeometric dalm

49

nM N

2 =
rnek:

nM ( N M )( N n) N 2 ( N 1)

x=0:10 y=hygepdf(x,1000,50,20) c=hygecdf(x,1000,50,20) plot(x,y) hold stairs(x,c)

50

Uniform dalm
Bu dalmn olaslk younluk fonksiyonu,

a+b 2 (b a )2 2 = 12

rnek: x=-1:0.1:11 pdf=unifpdf(x,0,10) cdf=unifcdf(x,0,10) subplot(1,2,1), plot(x,pdf) title(PDF) xlabel(x), ylabel(f(x)) axis([-1 11 0 0.2]) subplot(1,2,2), plot(x,cdf) title(CDF) xlabel(x), ylabel(f(x)) axis([-1 11 0 1.2])

51

Normal Dalm
Normal dalm olaslk younluk fonksiyonu,

=ortalama = standart sapma. rnek: =5 =2 s=[8 12] mu=10 sigma=2 p=normspec(s,mu,sigma)

52

Students dalm
Normal dalma benzer, kk boyuttaki reneklemlerde kullanlan bir dalmdr, Dalm fonksiyonu,

+ 1 1 2 1 f ( x; ) = +1 x 2 2 1 + 2

MATLAP pdf fonksiyonu tpdf(x,serbestlik derecesi) rnek: Normal dalm ve t dalmn ayni grafikte grelim, x=-5:0.1:5 y=tpdf(x,5) z=normpdf(x,0,1) plot(x,y,x,z)

53

stel dalm
stel dalm olaslk younluk fonksiyonu, > 0, parameter olmak zere stel dalm olaslk younluk fonksiyonu, f(x) = e-x >0 , x 0

2 =

pdf fonksiyonunu izelim, y1=exppdf(x,1/1) y2=exppdf(x,1/2) plot(x,y1,x,y2) title('ustel dagilim')

54

xlabel('x') ylabel('f(x)')

Ornek: =1/12 p(x<=10)=? P=expcdf(x,1/) P = expcdf(10,12) P= 0.5654 p deeri veridiinde x deerini bulmak iin, x=expinv( x= 10.0000 0.5654,12)

Gamma dalm

55

f ( x; , t ) =

ex (x)t 1
(t )

x0

(t ) = e y y t 1dy
0

2 =

Gamma dalm MATLAB fonksiyonu gampdf(x,t,1/) rnek: =t=1, =t=2, =t=3 iin fonksiyonu izelim, x=0:0.1:3 %farkl deerleri iin gama fonksiyonu y1=gampdf(x,1,1/1) y2=gampdf(x,2,1/2) y3=gampdf(x,3,1/3) plot(x,y1,x,y2,x,y3) title('gamma dagilimi') xlabel('x') ylabel('f(x)')

56

Chi-Kare dalm

f ( x; ) =

1 1 ( / 2) 2

/2

x / 2 1e

1 x 2

x2

(a ) = t a 1e t dt
0

2 = 2
rnek: x= 0:0.2:15

57

y1=chi2pdf(x,4) y2=chi2pdf(x,6) plot(x,y1,x,y2)

F dalm

F ( 1 , 2 ) =
1, 2 1, 1

1 / 1 2 / 2

: Chi-Kare dalm : serbestlik derecesi

2)

2( 1 + 2 2) 1 ( 2 4)

58

rnek: x= 0:0.01:10 y1=fpdf(x,5,3) y2=fcdf(x,5,3) plot(x,y1,x,y2)

Weibull dalm
Mhendislik uygulamalarnda ok kullanlan bir dalmdr.>0, >0 , =1/ olmak zere, olaslk younluk fonksiyonu,

x f ( x ; , , ) =

x>

=+(1/+1)

= 2 {(2 / + 1) [(1 / + 1)]

59

Weibull dalm MATLAB fonksiyonu weibpdf(x.,), kmlatif dalm fonksiyonu weibcdf(x.,) rnek: x=0:0.1:3 %farkl , deerleri iin Weibull fonksiyonu y1=weibpdf(x,1,2) y2=weibpdf(x,2,3) y3=weibpdf(x,3,4) plot(x,y1,x,y2,x,y3) title('weibull dagilimi') xlabel('x') ylabel('f(x)')

Beta dalm
ok esnek bir dalmdr farkl parametrelerde ok farkl davranlar gsterir.

f ( x; , ) =

1 x 1 (1 x) 1 ; 0<x<1, B( , )

60

B( , ) = x 1 (1 x) 1 dx =
0

( )( ) ( + )

+ ( + ) 2 ( + + 1)

Beta dalm MATLAB fonksiyonu betapdf(x.,), Kmlatif dalm fonksiyonu betacdf(x.,) rnek:

(0,1) aralnda ==0.5 ve ==3 iin pdf fonksiyonunu izelim.


x=0.01:0.01:0.99 %farkl deerler iin beta fonksiyonu y1=betapdf(x,0.5,0.5) y2=betapdf(x,3,3) plot(x,y1,x,y2) title('beta dagilimi') xlabel('x') ylabel('f(x)')

61

Multivariate Normal dalm


ok deikenli normal dalm fonksiyonu,

f ( x; , ) =

1 (2 ) d / 2
1/ 2

1 exp ( x ) T 1 ( x ) 2

d = boyut = dxd covariance matrisi = dx1 stn matris rnek: Dalm fonksiyonunu izelim, mu=zeros(1,2) cov = [1 0.7; 0.7 1] [x,y]=meshgrid(-4:0.2:4,-4:0.2:4) X=[x(:),y(:)] [n,d]=size(X) % datalar merkizi yapiliyor X=X-ones(n,1)*mu a=(2*pi)^(d/2)*sqrt(det(cov)) arg=diag(X*inv(cov)*X')

p=exp((-0.5)*arg) 62

Z=p/a z=reshape(Z,size(x)) subplot(1,2,1) surf(x,y,z) subplot(1,2,2) pcolor(x,y,z)

Descriptive statistik
Descriptive istatistik, verilerin ortalama,standart sapma gibi zelliklerini ve dalm biimini deiik grafiklerle zetleyen bir istatistiktir.Bu istatistikte kullanlan MATLAB fonksiyonlar rneklerle inceleyelim.

63

xi
i =1

Aritmetik ortalama

= N x1 x2 ...x N

Geometrik ortalama

1 1 1 n i xi

Harmonic ortalama

median

Bir dalm %50 lik olaslkla iki paraya blen nokta

locate = [geomean(a) harmmean(a) mean(a) median(a) ] locate = 74.5421 73.8331 75.2500 75.0000 stats = [ mad(a) range(a) std(a)] stats = 8.1687 44.0000 10.3746 Standard sapma : a=[3 5 7 8 9 11] a= 3 5 7 8 9 11 std(a) ans = 2.8577 Variance : var(a) ans = 8.1667

Covariance matris
X = [1 1 2 3;7 8 9 7;1 3 2 1;10 9 11 9;2 2 1 1; 3 4 1 2] X=

64

1123 7897 1321 10 9 11 9 2211 3412 cov(X) ans = 13.6000 11.6000 15.6000 11.8000 11.6000 10.7000 13.6000 9.9000 15.6000 13.6000 19.8667 14.6667 11.8000 9.9000 14.6667 11.3667

Skewness
Verilen datalarn simetrikliini ler. Skewness fonksiyonunun deeri 0 ise datalar simetriktir. x=normrnd(4,3,1000,1) skewness(x) ans = -0.0307 Normal dalmdan retilen datalarn simetrik olduu sylenebilir.

Kurtosis
Dalmn basklnn bir lsdr. Normal dalmda kurtosis deeri 3 dr. x=normrnd(4,3,1000,1) kurtosis(x) ans = 2.9957 x=weibrnd(3,0.6,1000,1) kurtosis(x) ans = 40.3481

quartiles,deciles, percentile
Bir dalm eit aralklara blen noktalardr. rnek: 100 tane rassal say reterek quartilleri bulunuz,(quartil : Dalm %25,%50,%75 blen noktalardr) x=sort(rand(1,100)) q1=median(x(1:50)) q2=median(x) q3=median(x(51:100)) q1 =

65

0.2942 q2 = 0.5296

q3 = 0.7934 quartiles,deciles ve percentiller prctile fonksiyonu ile bulunabilir, p = 100*(0:0.25:1); y = prctile(a,p); z = [p;y] z= 0 25.0000 50.0000 75.0000 100.0000 53.0000 67.5000 75.0000 82.0000 97.0000 prctile(a,50) ans = 7.5000 prctile(a,25) ans = 5 prctile(a,75) ans = 9 prctile(a,1) ans = 3 prctile(a,100) ans = 11 Range : range(a) ans =

Histogram
a=[68 84 75 82 68 90 62 88 76 93 73 79 88 73 60 93 71 59 85 75 61 65 75 87 74 62 95 78 63 72 66 78 82 75 94 77 69 74 68 60 96 78 89 61 75 95 60 79 83 71 79 62 67 97 78 85 76 65 71 75 65 80 73 57 88 78 62 76 53 74 86 67 73 81 72 63 76 75 85 77]

66

subplot(1,2,1)

[n,x] = hist(a,10) bar(x,n,1)


axis square title(frekans histogram) subplot(1,2,2) bar(x,n/140,1) axis square title(relative frekans histogram)

rnek: a =[ 1 4 7 2 5 4 3; 6; 2]

a=a' subplot(2,1,1) plot(a,'b*') axis([0.5,3.5,-1,9]) title('Stn data') subplot(2,1,2) bar(mean(a),'r') hold on errorbar(mean(a),std(a),'k') title('Mean data')

67

rnek: plot(a,'bo') axis([0.5,3.5,-1,9]) hold on plot(mean(a),'r-^') errorbar(mean(a),std(a),'g-')

68

yukardaki datalar kullanarak normal dalm parametrelerini tahmin edelim

mu=mean(a) v = std(a) xp=linspace(min(a),max(a)) yp=normpdf(xp,mu,v) [nu,x]=hist(a) h=x(2)-x(1) bar(x,nu/(80*h),1) hold on plot(xp,yp) title(younluk histogram) hold off

dalmn simetriklii box plot yardmyle grlebilir. boxplot(a)

69

gruplanm datalarn istatistigi grpstats fonksiyonu ile bulunur. x=[12 34 56 78 45 56 77 88 99 12 33 45] ' y=['a' 'a' 'b' 'a' 'a' 'b' 'b' 'b' 'b' 'a' 'a' 'a' ]' grpstats(x,y,0.05) son arguman gven aral iin alfa anlam seviyesi

70

Pie Grafik

Bir rnekle aklayalm,


x=[.19 .22 .41 .18]; pie(x) e = zeros(size(x)); h = pie(x, e); textObjs = findobj(h, 'Type', 'text'); oldStr = get(textObjs, {'String'}); val = get(textObjs, {'Extent'}); oldExt = cat(1, val{:}); Names = {'P1: '; 'P2: '; 'P3: '; 'P4: '}; newStr = strcat(Names, oldStr); set (textObjs, {'String'}, newStr)

farkl biimlerde pie grafik izilebilir, % alanlar X/sum(X) eklinde hesaplanr.e vektrnde 1 e karlk gelen deer pie grafikten dar kartlr.
x = [1 3 0.5 2.5 2]; e = [0 1 0 0 0]; pie(x,e)

71

x = [1 3 0.5 2.5 2] explode = [0 1 0 0 0] pie3(x,explode) colormap hsv

Rassal Say retme


Similasyon problemlerinde istenilen bir dalma gre data elde etmek nemlidir.MATLAB fonksiyonlar yardmyla bu ilemler yaplabilir, rnek: [0,1] aralnda Uniform dalmdan say retelim,

72

x=rand(1,1000) %ilk arguman satr , dieri stn says [n,x]=hist(x,15) bar(x,n,1,'w') title('uniform dagilim histogram') xlabel('x') ylabel('frekans')

Binom dalmndan n=100,p=0.5, 1500 data retelim, r=binornd(100,0.5,1500,1) [n,x]=hist(r,50) bar(x,n,1,'w')

73

=0, =1 parametreli normal dalmdan y=normrnd(0,1,1500,1) [n,x]=hist(y,50); bar(x,n,1,'w')

1500 data retelim,

74

Testler
statistik hipotez testleri matlab fonksiyonlar kullanlarak yaplabilir. rnek olarak t(Student) testini verelim,

Eer

T > t ( / 2, n1)

ise H0 hipotezi red.

Kullanlacak matlab fonksiyon, [h,sig,ci] = ttest(x,m,alpha,tail) x = veriler m = ortalama alpha = anlam seviyesi eer tail=0 ise m, ift tarafl test eer tail=1 ise >m, tek tarafl test eer tail=-1 ise <m, tek tarafl test h=0 ise,H0 hipotezi Kabul h=1 ise,H0 hipotezi Red sig = gven aral ci = t deerini ve serbestlik derecesini verir. Saysal rnek olarak, sistemde bulunan gas datalar iinde price1 iin t testi uygulayalm, H0 : = 107 H1 : 107 =0.05 load gas price1

75

price1 = 119 117 115 116 112 121 115 122 116 118 109 112 119 112 117 113 114 109 109 118 [a,b,c,d]=ttest(price1,107,0.05,0) a= 1 b= 1.3698e-008 c= 113.3388 116.9612 d= tstat: 9.4182 df: 19 Ayni veriler iin Z test uygulanrsa, H0 : = m H1: m =115 =0.04 [h,p,ci,z]=ztest(price1/100,1.15,0.04) h= 0

76

p= 0.8668

ci = 1.1340 z= 0.1677 1.1690

ki rnek t test

serbestlik derecesi [h,sig,ci] = ttest2(x,m,alpha,tail) price1 ve price2 ye fark testti uygulayalm, [h,sig,ci,stat]=ttest2(price1,price2) h= 1 sig = 0.0083 ci = -5.7845 -0.9155 stat = tstat: -2.7857 df: 38

77

Normallik testi
Verilerin normal dalml olup olmadklar test edilebilir, bu test iin aadaki matlab fonksiyonu kullanlr, [H,P,LSTAT,CV]=lillietest(x,alpha) H0 : Veriler normal dalml H1 : Veriler normal dalml deil Eer H=0 ise H0 kabul Eer H=1 ise H0 red

rnek: MATLAB da buluna gas verilerini kullanalm, load gas prices = [price1 price2] plot(prices)

boxplot(prices,1) set(gca,'XtickLabel',str2mat('ocak','subat'))

78

Normallik testti uygulayalm, lillietest(price1) lillietest(price2) ans = 0 ans = 0 H0 hipotezi Kabul edilir.Veriler normal dalmldr.

Quantile-Quantile plot
ki datann kmlatif dalm fonksiyonlarnn karlatrlmas ile datalarn ayni dalma sahip olup olmadklar karlatrlr. x=normrnd(1,2,1000,1) y=weibrnd(2,0.7,1000,1) qqplot(x,y)

79

grld gibi iki farkl dalmdan geldikleri 45 derecelik doru anlalmaktadr.Parametreleri farkl ayni dalmdan iki data serisi retelim, x=normrnd(1,2,1000,1) y=normrnd(3,5,1000,1) qqplot(x,y)

zerinde

olmamalarndan

Parametreleri farkl iki serinin ayni dalmdan geldii grld.

80

Lineer Regresyon modelleri


x bamsz deiken , y baml deiken olmak zere y=a+bx lineer modelini bulabiliriz, x=[1 1 1 1 1 1; 3 5 7 8 9 11]' Birden fazla x deiken says olmas durumunda stn olarak eklenir. y=[13 15 15 17 18 20]' [B,BINT,R,RINT,STATS] = REGRESS(y,x,0.05) a,b deerleri, B= 10.2490 0.8490 a,b deerlerinin gven aral BINT = 7.9639 12.5340 0.5494 1.1486 R=y-y(tahmin) R= 0.2041 0.5061 -1.1918 -0.0408 0.1102 0.4122 R nin gven aral, RINT = -1.1699 1.5781 -1.1829 2.1951 -1.8395 -0.5441 -2.0372 1.9555 -1.7975 2.0179 -0.9579 1.7824 STATS = 0.9393 61.8941 0.0014

Srasyla R2 belirlilik katsays,F deeri,anlam seviyesi.

81

ki deiken arasndaki korelasyon katsays corrcoef fonksiyonu ile bulunur, a= 1134 b= [1 2 2 3] b= 1223 corrcoef(a,b) ans = 1.0000 0.8165 0.8165 1.0000

Kaynaklar
1. 2. 3. 4. Computational Statistics Handbook with MATLAB, Wendy L.Martinez, Angel R.Martinez, CHAPMAN & HALL/CRC,2002 Statistics,Murray R.Spiegel,McGraww-Hill Book Company,1972 Regression Analysis,Frank A.Graybill,Hariharan K.Iyer,Duxbury Prss,1994 http://www.mathworks.com

82

You might also like