You are on page 1of 37

Matlab Ders Notları

Ç NDEK LER:

KONULAR Safa No
Matlab'ın Genel Yapısı : …………………………………………………………………………………………… 1
Matlab'da Matematiksel lemler: ………………………………………………………………………………… 1
Matlab'da Temel Kavramlar: ……………………………………………………………………………………….. 2
Anahtar Kelimeler: : …………………………………………………………………………………………………. 2
De i kenlere De er Atama: : ……………………………………………………………………………………… 2
Matlab'da Dizi (Matris) lemleri: : ………………………………………………………………………………… 3
Dizilerin De erlerinin De i tirilmesi ve Düzenlenmesi: ……………………………………………………… 3
Özel Dizi (Matris) Olu turan Bazı Fonksiyonlar: …………………………………………………………………….. 3
Matris lemleri: ……………………………………………………………………………………………………… 4
Matrisler le lgili Bir Uygulama; Lineer Denklem Sistemlerinin Çözümü: ………………………………... 5
Matlab'da Programlama …………………………………………………………………………………………… 5
Matlab'da Kullanılan Bazı Komut ve Deyimler: input, disp, fprintf …………………………………………. 5
Karar Verme ve Dallanma: …………………………………………………………………………………………. 6
f artlı deyimi: ……………………………………………………………………………………………………….. 6
switch end Deyimi: ………………………………………………………………………………………………… 6
Matlab'da Tekrarlı lemler ve Döngüler ………………………………………………………………………… 6
for Döngüsü: …………………………………………………………………………………………………………. 6
while Döngüsü: ………………………………………………………………………………………………………. 7
MATEMAT KSEL LEMLER ……………………………………………………………………………………….. 7
TEMEL MATEMAT K FONKS YONLAR …………………………………………………………………………... 7
Temel (elemantary) fonksiyonlar; elfun ……………………………………………………………………………. 7
Özel (special) fonksiyonlar; specfun ………………………………………………………………………………. 8
Veri (data) fonksiyonları; datafun …………………………………………………………………………………… 8
Metin (karakter dizisi) (string) fonksiyonlardan bazıları: …………………………………………………………. 8
Matlab'da Sembolik Matematik ve Uygulamaları: ……………………………………………………………… 9
Sembolik Matematikte Bazı Komutlar ve Anlamları: ………………………………………………………….. 9
sym ve syms komutları: ……………………………………………………………………………………………. 9
pretty komutu: ………………………………………………………………………………………………………... 9
Harfli fadeler ve Sadele tirilmesi: ………………………………………………………………………………... 9
simplify Komutu ……………………………………………………………………………………………………… 9
expand ve factor komutları: ……………………………………………………………………………………….. 10
subs komutu: ………………………………………………………………………………………………………… 10
DENKLEMLER ve Çözümleri ……………………………………………………………………………………… 10
solve komut: ………………………………………………………………………………………………………….. 10
Bir Bilinmeyenli Denklem Çözümleri: ……………………………………………………………………………. 10
Çok Bilinmeyenli Denklem Çözümleri: …………………………………………………………………………... 11
L M T ve UYGULAMALARI: ………………………………………………………………………………………… 11
limit Komutu: …………………………………………………………………………………………………………. 11
D Z LER ve SER LER ile lgili Uygulamalar: …………………………………………………………………….. 12
symsum komutu: …………………………………………………………………………………………………….. 12
TÜREV ve lgili Uygulamalar: ……………………………………………………………………………………… 12
diff komutu: …………………………………………………………………………………………………………… 12
NTEGRAL ve lgili Uygulamaları: ………………………………………………………………………………… 13
int Komutu: ………………………………………………………………………………………………………….. 13
D FERENS YEL DENKLEM ve ÇÖZÜMLER : ……………………………………………………………………. 13
dsolve komutu: ………………………………………………………………………………………………………. 14
Matlab'da Karma ık Sayılarla lemler: ………………………………………………………………………….. 14
Matlab'da Grafik llemleri: ………………………………………………………………………………………… 14
ki Boyutlu Grafikler (Düzlemde Grafik): ………………………………………………………………………… 14
plot komutu: ………………………………………………………………………………………………………….. 14
2 Hasan KORKMAZ- zmir Fen Lisesi Matematik Ö retmeni
Matlab Ders Notları
loglog, semilogx, semilogy komutları: …………………………………………………………………………... 16
hold Fonksiyonu ve Kullanımı: ……………………………………………………………………………………. 16
plotyy Fonksiyonu: ………………………………………………………………………………………………….. 17
polar Fonksiyonu: …………………………………………………………………………………………………… 17
Üç Boyutlu Grafikler (Uzayda Grafik): …………………………………………………………………………… 17
plot3 Fonksiyonu: …………………………………………………………………………………………………… 18
Yüzey Grafikleri: ……………………………………………………………………………………………………... 18
ki Boyutlu Düzlemin Koordinatlarını Tanımlayan Matris ve meshgrid Fonksiyonu ve Yüzey Grafi i: 18
peaks Fonksiyonu le Kare Matris Olu turma: …………………………………………………………………. 19
Bazı Özel Garfik Fonksiyonları: …………………………………………………………………………………… 21
Ezplot Fonksiyonu: ………………………………………………………………………………………………….. 21
Ezplot3 Fonksiyonu: ………………………………………………………………………………………………… 22
cylinder Fonksiyonu: ……………………………………………………………………………………………….. 23
sphere Fonksiyonu: ………………………………………………………………………………………………… 23
eval Fonksiyonu : ……………………………………………………………………………………………………. 23
Grafik Nesneleri ve Grafiksel Arabirim le Programalama: ………………………………………………….. 24
Bazı Grafik leme Fonksiyonları: ………………………………………………………………………………… 24
Bir Nesnenin Özelliklerini Elde Etme: get ……………………………………………………………………….. 24
Bir Nesnenin Özelliklerini De i tirme: set ………………………………………………………………………. 24
Bir Nesneyi Silmek: delete …………………………………………………………………………………………. 24
Grafik Nesneleri ve Özellikleri: ……………………………………………………………………………………. 25
root Nesnesi ………………………………………………………………………………………………………….. 25
figure Nesnesi ve Özellikleri: ……………………………………………………………………………………… 25
uicontrol Nesnesi ……………………………………………………………………………………………………. 25
uimenu Nesnesi ……………………………………………………………………………………………………… 26
axes Nesnesi …………………………………………………………………………………………………………. 26
image Nesnesi ………………………………………………………………………………………………………... 28
line Nesnesi …………………………………………………………………………………………………………… 29
rectangle Nesnesi ……………………………………………………………………………………………………. 30
patch (yama) Nesnesi ……………………………………………………………………………………………….. 30
surface Nesnesi ……………………………………………………………………………………………………… 30
Derleme Nedir ve Matlab Dosyaları Nasıl Derlenir? …………………………………………………………… 32

3 Hasan KORKMAZ- zmir Fen Lisesi Matematik Ö retmeni


Matlab Ders Notları
MATLAB Command Window: Adından da anla ılaca ı gibi bu
Matlab, MATrix LABoratuary kelimelerinden türetilmi , pencere komut penceresi olup Matlabın en önemli
daha çok matematiksel i lemler yaptırmaya yönelik penceresidir.Bu pencereden Matlab ile ilgili komutları
tasarlanmı bir bilgisayar programıdır. klavyeden girer, komutun i lemesini sa lamak için de
Enter tu una basarız.Komutları girdi imiz satır >> ile
Matlab'ın Genel Yapısı : ba lar ki bu satıra komut satırı denir.Tabii dir ki komut
Matlabı çalı tırdı ımızda, kar ımıza ana pencere satırına, Matlab için anlamlı komutlar yazmalıyız.
gelir.Bu pencerede File, Edit, View, Web, Window ve Örne in naber yazıp enter tuuna basarsak ???
Help ana ba lıkları vardır.Bu ba lıklar altından, di er Undefined function or variable 'naber'. gibi bir kar ılık
Windows programlarında alı ılagelmi benzer i lemler alırız.Bu da naber adlı ne bir fonksiyon ne de bir
de i kenin tanımlanmamı oldu u anlamına gelir.
Yine komut satırına naber=' yidir' yazıp enter tu una
basarsak; ekranda;
naber =

yidir görünür.
Örne in a=3 (enter), b=-7 (enter) i lemlerini yapıp a*b
(enter) yaptı ımızda ekranda;
ans =

-21 görülür.
Örne in; komut satırına clc yazıp enter tu una
basarsak, komut penceresine yazılan komutların tümü
yapılabilir.Örne in; File ile klasik dosyalama i lemleri, silinir ve kürsör (imleç) pencerenin en üst ve sol
Edit ile çalı ılan dosyadaki düzenleme i lemleri, View ile kö esine konumlanır.
görünüm ayarlamaları, Web ile, ilgili nternet ba lantıları,
Window ile, Matlab dı ında açılan pencerelerin, Command History: Bu pencere o ana kadar komut
uygulamaların ve figürlerin kapatılmasını, Help ile de satırından girilen komutları gösterir. stersek bunların
program ya da i lemler ile ilgili yardım almayı sa lar. birini fareyle seçer, ya da bir kaçını veya tümünü fare
Ortalama bir bilgisayar kullanıcısı, yukarıda sayılan ve a a ı-yukarı yön tu ları yardımıyla seçer ve delete
bölümlerin, kabaca ne anlama geldi ini bilir.Ancak View tu una basarak silebiliriz
(Görünüm) ile ilgili bilinmesi gereken birkaç maddeyi
açıklamakta fayda var.Bu bölüm ve alt seçeneklerinin Workspace:
görünümü yandaki gibidir.Burada Desktop Layout ile Komut satırından ya
Matlabın masaüstü yerle imini da çalı tırılan bir
düzenleyebilirsiniz.Örne in; Default ile varsayılan dosya ya da
görünümünü, Command Window Only ile sadece fonksiyon ile
klasik komut penceresini, Five Panel ile çok kullanı lı ve hafızada olu turulan
çok amaçlı olan 5 pencereli görünümünü de i kenlerin
seçebiliriz.Genellikle Five Panel görünümünde çalı mak adlarının, tiplerinin
daha uygundur.Bu görünüm seçildi inde kar ımıza, ve özelliklerinin
adından da anla ılaca ı gibi Matlab 5 pencereden görüntülendi i
izlenebilir ve çalı ılabilir.Bu pencereler ve kısaca yapılan penceredir.Bu alana
i lemler unlardır: çalı ma alanı denir.

Launch Pad: Matlab kısayollarının bulundu u Örne in bu pencerenin görüntüsü yandaki gibiyse; a
penceredir.Bu pencereden Matlab uygulamalarına, de i keninin 1x1 boyutunda bir matris yani sayı, c
simulink penceresine, araç kutularına ve blok setlerine de i keninin ise 2x3 boyutunda bir matris, yani iki satır
ula ılabilir.Örne in Matlab ile ilgili yapılabilecek olan ve 3 sütundan olu an bir matris, naber adlı de i ken de
i lemler hakkında bilgi sahibi olmak için bu pencereden 6 karakterden olu an bir karakter zinciri (string) oldu u
yararlanabiliriz.Örne in Matlab ile ilgili yapılabilenleri, görülür.
demo olarak izlemek istersek; MATLAB-Demos
sekmesine tıklamalıyız.Kar ımıza Desktop Environment, Current Directory: Matlab dosyalarının kaydedildi i,
Matrices, Numerics, Graphics, Language ... gibi alt yüklendi i dosyaların bulundu u klasörü (dizin),
bölümler çıkar.Örne in Grafik ile ilgili bilgilenmek ve bazı varsayılan klasör olarak belirlemeye yarar..Aksi
grafiklerin demolarını görmek istersek Graphics belirtilmedikçe bu klasör C:\Matlab6p5\work gibi bir
bölümünü tıklamalıyız.Bu bölümü (veya yanındaki + klasördür.
i aretini) tıkladı ımızda, ... 2-D Plots, 3-D Plots, ... gibi
bölümler görünür.Örne in 2-D Plots tıklanırsa iki boyutlu Matlab'da Matematiksel lemler:
grafiklerle ilgili, 3-D Plots tıklanırsa üçboyutlu grafiklerle Matlab'da bir çok eylem, dört il em ve matematiksel bazı
ilgili demoları görebilir ve inceleyebiliriz. i lemler yaptırabiliriz.Bunun için, ya ilgili komutları komut
penceresinden teker teker girerek veya ilgili komutları bir
dosyaya yazıp, o dosyayı ça ırarak

1 Hasan KORKMAZ- zmir Fen Lisesi Matematik Ö retmeni


Matlab Ders Notları
çalı tırabiliriz. lemleri yaptırırken, sayıları reel sayı ya Tüm programlama dillerinde oldu u gibi, program içinde
da karma ık sayı olarak alabiliriz.Bunu a a ıdaki de eri de i meyen de erlere sabit, de eri de i ebilen
örneklerde inceleyelim: bellek alanına i aret eden de erlere de i ken, de eri
karakterlerden olu an de erlere de metin katarı (string)
1) Komut satırına a) 2+3 b) 24-3*(4-2) c) 12-12/6*8 denir.Matlab'da de i kenler büyük küçük harfe
d) 2^3 duyarlıdır.Örne in a de i keni ile A de i keni farklıdır.
e) (2-3i)*(4+i) f) sin(30) g) sin(30*pi/180) yazıp enter
tu una bastı ımızda ne olur?
Çözüm:
a) 2 ile 3 ün toplamı 5 görülür. De i kenlere De er Atama:
b) Önce parantez içindeki i lem yapılır (2), sonra 3 ile 2 Her hangi bir programlama dilinde oldu u gibi,
çarpılır (6), son olarak ta 24 ten 6 çıkarılarak 18 soncu Matlab’da da bir de i kene de er verme i lemine
elde edilir. ”de er atamak” denir.Bir de i kene atanan de er,
c) 12 6 ya bölünür (2), 8 ile çarpılır (16), 12 den 16 de i tirilmedi i sürece aynı kalır.
çıkarılarak -4 sonucu bulunur. De er atamanın genel kullanımı a a ıdaki biçiminde
d) 2 nin 3 üncü kuvveti alınarak 8 elde edilir. olur:
e) 2-3i karma ık sayısı ile 4+i karma ık sayısının
çarpımı olan 11.0000 -10.0000i sonucu görülür. <De i ken adı>=<Atanacak de er>;
f) -0.9880 sonucu görülür ki bu 30° nin sinüsünde n
farklıdır.Çünkü bu 30° derece de il 30 radyanın Örnekler:
sinüsüdür.
g) 0.5000 sonucu görülür ki bu da 30° nin sinüsüd ür.O 1) a=1; i lemi ile a adlı sayısal de i kene 1 sayısını
halde bir sayının trigonometrik de erini buldurmak için, atamı oluruz.
önce pi ile çarpıp 180 e bölerek açıyı radyan çevirip
sonra trigonometrik de erini hesaplatabiliriz. 2) a=’ zmir’ i lemi ile a adlı string de i kenine zmir
stringini atamı oluruz.
O halde örnekte görüldü ü gibi Matlab'da;
matematiksel i lemleri, komut satırından girip enter 3) a=5;b=7;c=a+b; i lemleri sonucunda a de i kenine
tu una basarak sonuçlarını görebiliriz. lemlerde 5, b de i kenine 7 ve c de i kenine a ve b
kullanılan semboller, bazı temel matematiksel de i kenlerinin de erleri toplamı olan 12 sayısını
fonksiyonlar ve anlamları yandaki tabloda görülmektedir. atamı oluruz.

2) Komut satırına a=5 (enter) b=-3 (enter) c=a+3*b 4) A a ıdaki atamalar sonucunda de i kenlerin son
(enter) yazdı ımızda ekranda sırasıyla a, b ve c durumlarının ne olaca ını bulalım.
de i kenlerinin de erleri nelerdir? a:=5;b:=-3;c:=a+2*b;a:=a+b;
C: 5 -3 ve -4
Çözüm:
3) Hafızadaki de i kenlerin a) sadece adlarını b) her bir
de i kenin tipini ve kapladı ı alanı görüntülemek için a b c Açıklama
hangi komutlar kullanılır?
C: a)who b) whos 5 -3 -1 5+2.(-3)=5-6=-1
2 -3 -1 5+(-3)=2
4) hafızadaki a) a de i keninin b) a, b, z de ikenlerinin
c) tüm de i kenlerin de erlerini silmek için hangi Özel Sabitler: Matlab'da önceden tanımlanmı bazı
komutlar kullanılır? sabitlerdir.Bunlar aa ıdaki tabloda gösterilmi tir.
C: a) clear a b) clear a b z c) clear
Özel Anlamı De eri
5) Yarıçapı 5 birim olan dairenin alanını buldurmak için Sabit
hangi giri leri yapmalıyız? eps Sıfıra çok yakın bir sayı 2.2204e-016
C: pi*5^2 veya pi*25 (epsilon)
realmin Tanımlanabilen en küçük 2.2251e-308
Matlab'da Temel Kavramlar: reel sayı
Anahtar Kelimeler: Tüm programlama dillerinde oldu u realmax Tanımlanabilen en büyük 1.7977e+308
gibi (Fortran, C, Pascal, Basic vs..) Matlab'ın da özel reel sayı
anlam ta ıyan bazı kelimeleri vardır ki, bu kelimeler pi pi sayısı 3.1416
de i ken olarak kullanılamazlar.Bu tür kelimelere i, j Karma ık sayıların sanal 0 + 1.0000i
anahtar kelime (keywords) denir.Bu kelimeler; 'break' birimi
'case' 'catch' 'continue' 'else' 'elseif' 'end' inf Sonsuz Inf
'for' 'function' 'global' 'if' 'otherwise' computer Bilgisayarın tipi PCWIN
'persistent' 'return' 'switch' 'try' 'while' dir.
version Matlab'ın versiyonu 6.5.0.180913a
Bu kelimelerin bir listesini almak için komut satırına;
(R13)
iskeyword komutunu yazarak elde edebiliriz.
Sabitler, De i kenler ve Metin Katarları:

2 Hasan KORKMAZ- zmir Fen Lisesi Matematik Ö retmeni


Matlab Ders Notları
Matlab'da Dizi (Matris) lemleri:
Sayılardan olu an satır ve sütun yapısına matris (dizi) Örnek:
denir. 2x3 boyutunda b adlı tüm elemanları 1 olan matrisi olu turalım.
Örne in;
Çözüm: b=ones(2,3);
d1=[5] 1x1 lik, d2=[ 2 -7] 1x2 lik,
d3= [1 0 -3 ]
c) Birim Matrisi Olu turan Fonksiyon:
[ 5 3 1 ] 2x3 lük bir dizidir.Matlab da bu dizileri; Esas kö egeni 1 lerden di er elemanları 0 lardan olu an
Komut satırında; d1=[5] veya d1=5 ile; matrisie kare matrise (satır ve sütun sayısı e it olan ) birim
d2=[2 -7] veya d2=[2,-7] ile; matrisi, kare olmayan matrise de diyagonal matris
d3=[1 0 -3;5 3 1] veya d3=[1,0,-3;5,3,1] veya denir.Böyle matrisleri olu turmak için eye fonksiyonu kullanılır.
d3=[1 0 -3 Kullanımı; matris_adı=eye(m,n); biçimindedir.
5 3 1] ataması ile olu turabilirz
Dizilerin De erlerinin De i tirilmesi ve Örnek:
Düzenlenmesi: a) 3x3 lük birim matris;
Bir dizinin herhangi bir elemanını belirlemek için dizi b) 4x3 llük diyagonal matris olu turalım.
Çözüm:a) i=eye(3,); b) d=eye(4,3);
adından hemen sonra parantez içinde elemanın
bulundu u satır ve sütun sayısı yazılmalıdır. d) Rastgele Sayılardan Olu an Matris ve Fonksiyonu:
Elemanları 0 ile 1 arasındaki rastgele sayılardan olu an bir
Örnek: matris için rand fonksiyonu kullanılır.
a) Yukarıda tanımlanan d2 dizisinin -7 elemanını Kullanımı; matris_adı=rand(m,n); biçimindedir.
görüntülemek için ne yapılmalıdır? Not 1) Üretilen matrisin tüm elemanlarını k gibi bir sayı
b) Yukarıda tanımlanan d3 dizisinin 2. satır, 1. ile çarparak, sayıları 0 ile k arasına çekebiliriz.
sütununda bulunan 5 in de erinin, -7.5 olması için ne Not 2) Ondalıklı sayılardan olu mu bir matrisin
yapılmalıdır? elemanlarını yuvarlayıp tam sayı yapmak için round
Çözüm: a)d2(1,2) b) d3(2,1)=-7.5; fonksiyonunu kullanırız.

Not:1) Bir dizinin bir çok elemanını yeniden de er Örnek:


atamak gerekirse, komut satırından atama yapmak uzun a) 0 ile 1 arasında rastgele sayılardan olu an 10
zaman alabilir.Bu durumda dizi de i keninin üzerine çift elemanlı a adında bir satır matrisi (dizisi, vektörü)
tıklayarak açılan dizi editörü (array edit) yardımıyla olu turalım.
de i iklikleri daha kolay yapabiliriz. b) Elemanları 10 ile 50 arasında sayılardan olu an 5x3
tipinde b matrisini olu turalım.
2) Bir diziye düzenli artı (veya azalı ) kuralıyla de erler c) Elemanları 50 ile 300 arasındaki tamsayılardan
atanmak isteniyorsa bunu; olu an 3x4 tipinde c matrisini olu turalım.
ilk_de er:artı :son de er veya ilk_de er:artı :son de er
biçiminde yapabiliriz.Ancak artı 1 ise belirtilmeyebilir. Çözüm:
a) a=rand(1,10); b) b=10+rand(5,3)*40;
Örnek: c) c=round(50+rand(3,4)*250);
a) puan adlı bir boutlu diziye 1 den 100 e kadar sayıları
atayan;;
e) Rastgele Sayılardan Olu an Normal Da ılımlı Matris ve
b) ortalama adlı bir diziye 0 dan 5 e kadar 0.5 er artı la elde
Fonksiyonu:
edilen sayı dizisini atayan;
Elemanları rasstgele sayılardan olu an bir normal da ılımlı
c) 1. satır 7 den den 17 ye kadar olan tam sayılar, 2. satırı 99
bir matris için randn fonksiyonu kullanılır.
dan 89 a kadar azalan tam sayılardan olu an 2 boyutlu m
Kullanımı; matris_adı=randn(m,n); biçimindedir.
dizisine atayan i lemleri yazınız.

Çözüm: Örnek: Rastgele sayılardan olu an normal da ılımlı 2x3


a) puan=[1:1:100]; veya puan=1:1:100; veya puan=1:100; lük bir n matrisini olu turalım.
b) ortalama=[0:0.5:5];
c) m=[7:17;99:-1:89]; Çözüm: n=randn(2,3);
Özel Dizi (Matris) Olu turan Bazı Fonksiyonlar: f) Lineer Aralıklı (Aritmetik) Dizi ve Fonksiyonu:
a) Sıfır Matrisi Olu turan Fonksiyon: Ba langıç ve bii de erleri ve kaç elemandan olu aca ı
Her elemanı sıfır olan mxn boyutunda bir matrise sıfır matrisi belirlenen diziyi olu turmak için linspace fonksiyonu
denir.Böyle bir dizi olu turmak için zeros fonksiyonu kullanılır. kullanılır.
Kullanımı; matris_adı=zeros(m,n); biçimindedir. Kullanımı;
dizi_adı=linspace(ilk_de er,son_de er,eleman_sayısı);
Örnek: biçimindedir.
3x5 boyutunda s adlı sıfır matrisi olu turalım.
Örnek: 10 ile 30 arasına 9 tane daha sayı koyarak a
Çözüm: s=zeros(3,5);
adında bir aritmetik dizi olu turalım.
b) 1 lerden Olu an Matris:
Her elemanı 1 olan mxn boyutunda bir matrisi olu turmak için Çözüm: 10 ve 30 (ilk ve son terimler) diziye dahil
ones fonksiyonu kullanılır. olaca ından terim sayısı 11 dir.O halde komut;
Kullanımı; matria_adı=ones(m,n); biçimindedir. a=linspace(10,30,11);

3 Hasan KORKMAZ- zmir Fen Lisesi Matematik Ö retmeni


Matlab Ders Notları
kübleri, sinüsleri, kosinüsleri, logaritmalarından ...
Matris lemleri: olu an matris bulunmak istenirse; bunu sırayla a.*a
Matlab'da sayılardan olu an matrislerle ilgili bazı i lemler (veya a.^2), a.*a.*a, (veya a.^3), sin(a), cos(a), e
yaptırmak mümkündür.Örne in 1 den 100 e kadar olan tabanında logaritması için log(a), 10 tabanında
sayıları 1x100 lük bir a matrisine, kareleri dizisini de logaritmaları için log10(a) ... biçiminde
1x100 lük bir b matrisine atamak daha sonra da karılıklı gerçekle tirebiliriz.
elemanları toplamını da bir c matrisine atamak
isteyebiliriz.Veya 2x3 lük iki matrisi toplaya bilir, Örnek: a=[-1 3 5;2 1 7] , b=[3 -3 -4;1 1 5] ve
çıkarabilir ya da birincinin 3 katına ikincinin -3 katını ilave c=[1 0;-1 2;3 3] matrisleri veriliyor.
edebilir ve sonuç matrisinin tüm elemanlarının 7 a) a matrisinin elemanları ile b matrisinin elemanlarını
fazlasını buldurmak isteyebiliriz.Veya 2x3 lük bir a kar ılıklı çarpımlarından olu an c1 matrisi varsa bulalım.
matrisi ile 3x4 lük bir b matrisinin çarpımını c matrisine b) a matrisi ile b matrisinin çarpım matrisi olan c2 varsa
atamak isteyebiliriz. te bu ve bunun gibi i lemlere bulalım.
matris i lemleri denir. imdi bu i lemlerin bazılarını c) a matrisinin elemanları ile c matrisinin elemanlarını
görelim. kar ılıklı çarpımlarından olu an c3 matrisi varsa bulalım.
a) Toplama-Çıkarma Bir Sayı ile Çarpma lemi: d) a matrisi ile c matrisinin çarpım matrisi olan c4 varsa
ki matrisi toplamak (veya çıkarmak) demek, matrislerin bulalım.
aynı mertebedeki elemanları teker teker toplayıp (veya e) a matrisinin elemanlarının karelerinden olu an matris
çıkarıp ) aynı mertebeye yazmak demektir.Bu durumda ile b matrisinin kosinüslerinden olu an matrisler
iki matrisin de aynı mertebeden olması gere i açıktır.Bir toplamını bulalım.
matrisi sabit bir sayıyla ile toplamak (veya çıkarmak) f) x=[1 0;0 3] matrisinin i) Karesini ii) Kübünü iii) 10.
demek, matrisin elemanlarınının tümünü teker teker o kuvvetini bulalım.
sayıyla toplamak (veya çıkarmak )demektir.Bir matrisi
sabit bir sayıyla ile çarpmak demek ise, matrisin Çözüm:
elemanlarınının tümünü teker teker o sayıyla çarpmak a) ki matrisin kar ılıklı elemanlarının çarpımından
demektir. olu an matrisin tanımlı olabilmesi için aynı mertebeli
olması gerekir.Bu durumda c1 matrisi tanımlıdır ve bunu
Örnek: a=[-1 3 5;2 1 7] ve b=[3 -3 -4;1 1 5] matrisleri c1=a.*b i lemi ile gerçekle tirebiliriz.
veriliyor. b) ki matrisin çarpılabilmesi için birinci matrisin sütun
a) c=a+b toplam matrisini b) d=a-b matrisini c) a sayısı ikinci matrisin satır sayısına e it olmalıdır.Halbuki
matrisinin her elemanınının 5 eksi ine kar ılık gelen e a matrisi 2x3 b matrisi de 2x3 oldu undan bu iki matris
matrisini d) f=2a-3b matrisini bulduran i lemleri yazalım. çarpılamaz.
c) ki matrisin kar ılıklı elemanlarının çarpımından
Çözüm: olu an matrisin tanımlı olabilmesi için aynı mertebeli
a) c=a+b b) d=a-b c) e=a-5 d) f=a+a-b-b-b veya olması gerekir.Halbuki bu matrisler aynı mertebeden
f=2*a-3*b olmadı ından bu iki matris eleman-elemana çarpma
b) ki Matrisin Çarpımı, Bir Matrisin Kuvvetleri ve i lemi gerçeklemez.
Çarpma lemi: d) ki matrisin çarpılabilmesi için birinci matrisin sütun
ki matrisin çarpım i lemi iki biçimde anla ılır. sayısı ikinci matrisin satır sayısına e it olmalıdır.a matrisi
1) Aynı mertebeden iki matrisin elemanlarını teker teker , 2x3 lük, c matrisi de 3x2 lik oldu undan bu iki matris
çarpıp, aynı mertebeye yazmak demektir.Bunu .* i lemi çarpılabilir ve c4 çarpım matrisi 2x2 lik bir matris olur.c4
ile gerçekle tiririz. çarpım matrisini c4=a*c i lemi ile buluruz.
2) Matematiksel anlamda iki matrisi çarpmak e) a.^2+cos(b)
istedi imizde; birinci matris mxn türünde ve ikinci matris f) i) x^2 ii) x^3 iii) x^10
mutlaka nxp türünde olmalıdır; yani birinci matrisin sütun
sayısı ikinci matrisin satır sayısına eit olmalıdır.Bu c) Bir Matrisin Devri ini (Transpozesi) Bulma lemi:
durumda birinci matrisin i. sütun elemanları ile, ikinci Bir matrisin satırlarını sütun, sütunlarını satır olarak
matrisin j. satırındaki elemanlar karılıklı olarak çarpılır ve yazılmasıyla bulunan matrise, bu matrisin devri i
sonuçlar toplanır ve bu toplam çarpım matrisinin (i,j) inci (transpozesi) denir.Bir matrisin devri ini .' i lemi ile
mertebeye yazılır.Matrisler arası çarpma i leminin bulabiliriz.
sembolü de * dır.
3) Bir a matrisinin her bir elemanının n. kuvvetlerinden Örnek: Bir önceki örnekteki a matrisinin devri ini
olu an matrisi bulmak için a.^n i lemi kullanılır. buldurup d matrisine atayalım.
4) Satır ve sütun sayıları e it bir kare matrisi ardı ık
olarak n defa kendisiyle çarparak, a matrisinin n. Çözüm: d=a.';
kuvvetini bulabiliriz.Örne in a matrisinin karesi için a*a
veya a^2, kübünü buldurmak için a*a*a veya a^3, d) ki Matrisin Bölümü, Birim Matris ve Bir Matrisin
dördüncü kuvvetini buldurmak için a*a*a*a veya a^4 Tersi :
i lemiyle buldurabilirz.Ancak 2005 nci kuvvetini Aynı mertebeden iki matrisin elemanlarını teker teker ,
buldurmak için a^2005 yazmak yeterlidir. bölerek, aynı mertebeye yazılmasına iki matrisin sol
bölmesi denir ve bu ./ i lemi ile yapılır.
Not) Bir a matrisinin eleman -elemana çarpma i lemine
benzer mantıkla, bir matrisin tüm elemanlarının kareleri, a, b ve c aynı mertebeden kare matrisler olmak üzere;

4 Hasan KORKMAZ- zmir Fen Lisesi Matematik Ö retmeni


Matlab Ders Notları
c=a*b ise a matrisine c nin b matrisine bölümü denir. program yazarak benzer i lemlerimizi
c bölüm matrisi / i lemi ile yapılır. yaptırabiliriz.Bunun için Matlab'da kullanılan komut ve
deyimleri örneklerle inceleyelim.
Esas kö egeni 1 sayılarından di er elemanları 0 lardan
olu an kare matrise birim matris denir. 1) x de i kenine 5 atayarak x in 2 katının 3 eksi ini
Örne in 1x1 lik birim matris [1], bulduralım.
2x2 lik birim matris [1 0;0 1], Ç: x=5 (enter) 2*x-3 (enter)
3x3 lük birim matris [1 0 0;0 1 0;0 0 1],
4x4 lük birim matris [1 0 0 0;0 1 0 0; 0 0 1 0;0 0 0 1] dir. 2) Girilen bir x de erini için, karesinin 3 katından 5
Birim matris olu turmak için; eye fonksiyonunu eksi ini hesaplatan bir program yazalım.
kullanırız. Ç: Bunun için klavyeden girilen de eri x gibi bir de ikene
atamalıyız.Bunun için input komutundan yararlanırız.
Örne in; Kullanımı de i ken=input('açıklayıcı ifade');
2x2 lik i2 adlı birim matrisi i2=eye(2,2); biçimindedir.
3x lük i3 adlı birim matrisi i2=eye(3,3); i lemi ile x=input('sayıyı gir!); (enter)
olu turabiiriz. 3*x^2-5 (enter)
Aynı mertebeden a ve b kare matrisleri için a ile b nin
çarpımı birim matris ise b matrisi a matrisinin (aynı Not:Her ne kadar Matlab'da bu ekilde i lem
biçimde a matrisi de b matrisinin) ters matrisidir. yaptırabilirsek de; daha uzun i lemler yaptırmak
istedi imizde, komutları tekrar tekrar yazmak hem uzun
Örne in 3x3 lük bir a kare matrisinin tersini bulmak için zaman alır, hem de hata durumunda düzeltmesi zor
eye(3,3)/a veya inv(a) i lemini kullanırız. olur.Onun için program için gerekli komutları yazdıktan
sonra bunları bir dosyaya kaydedip sonra gerekti inde
bu dosyayı çalı tırabiliriz.Bu amaçla yazılan Matlab
Örnek: dosyalarına m dosyaları denir ve bunların uzantısı m
a=[2 -10 0;1 2 4;3 0 1] matrisi ile b=[1 5 4;1 -1 2;0 1 -1] dir.Böyle bir dosya yazmak için; File - New - M-File
matrisleri veriliyor. sekmesi tıklanırsa; yeni bir m dosyası ekranı gelir.Bu
a) a matrisinin elemanlarını sırasıyla b matrisinin dosyaya Matlab komutları yazılır ve File-Save
elemanlarına bölerek elde edilen matrisi b1 matrisine sekmesinden, dosyaya bir ad verilerek kayıt ortamına
atayalım. kaydedilir.Diske kaydedilen bir m dosyasını çalı tırmak
b) a matrisinin ta ters matrisini bulalım. için, komut satırından ismi girilerek çalı tırılır.
c) a ile ta matrisinin çarpımının 3x3 lük birim matris
oldu unu gösterelim. 3) Bu açıklamalar sonucunda yukarıdaki probleme
d) a matrisinin b matrisine bölümünü b2 matrisine uyan, yani girilen bir sayının karesinin 3 katının 5
atayalım. eksi ini bulup ekrana yazdıran bir m dosyası yazalım.
Ç:File-New-M-File sekmesi tıklanır, gelen yeni m
Çözüm: dosyası sayfasına sırasıyla a a ıdaki komutlar yazılır.
a) b1=a./b b) ta=eye(3,3)/a veya ta=inv(a)
c) a*ta ==eye(3,3) d) b2=a/b x=input('sayıyı gir');
3*x^2-5
Matrisler le lgili Bir Uygulama:
Lineer Denklem Sistemlerinin Çözümü: Matlab'da Kullanılan Bazı Komut ve Deyimler:
Matris ile ilgili i lemlerin bir çok uygulama sahası De i kenlere De er Atama: input
vardır.Bunlardan biri de lineer denklem sistemlerinin Amaç: Matlab'da bir de i kene bir de er atamak.
çözümüdür.Bunun için önce katsayılar matrisi elde edilir, Kullanımı:
bu matris a olsun.Denklem sistemindeki eitliklerin sa de i ken=input('Açıklama' ) veya
atrafındaki sabit sayılardan olu an matris b olsun. de i ken=input('Açıklama','s' )
Bilinmiyenlerden olu an matris x olmak üzere denklem De iken sayısal de i kense ilk yazılan ifade; karakter
sistemi ax=b matris e itli i biçimine getirilmi olur. dizisi de i keni (string) ise ikinci ifade kullanılır.
Buradaki x bilinmiyenler matrisini bulmak için, a nın tersi
ile b matrisini çarparız yani inv(a)*b i lemini yaparız. De i ken De erlerini Ekrana Yazdırma: fprintf ve
disp
Örnek: Amaç: De i kenlerin de erlerini ekrana yazdırmak.
2x-3y+z= 15 Kullanımı:
x-z = -3 fprintf('Açıklama <biçim ifadesi>',de i ken)
x+y+z = 2 denklem sistemini çözelim. disp(de i ken)

Çözüm: Not: "Biçim ifadesi" yerine, de i ken string (karakter


a=[2 -3 1;1 0 -1;1 1 1 ]; b=[15;-3;2]; x=inv(a)*b zinciri) ise %s de i ken reel sayı (kayan noktalı) ise %f ,
üstel biçimde gösterilecekse %e sembolü kullanılır.
Matlab'da Programlama Ayrıca de i kenin de eri yazdırıldıktan sonra kaç satır
Her hangi bir bilgisayar dilinde program yaparak, atlatılacaksa okadar \n ifadesi yazılır.
istedi imiz bazı i lemleri yaptırabiliriz.Matlab'da da bir

5 Hasan KORKMAZ- zmir Fen Lisesi Matematik Ö retmeni


Matlab Ders Notları
Örnek: delta=b*b-4*a*c;
Klavyeden bir ki inin adı, soyadı ve ya ı girilerek; temiz if delta>0
ekrana ilgili ki inin kaç ya ında oldu unu yazdıran bir x1=(-b-delta^0.5)/(2*a);x2=(-b+delta^0.5)/(2*a);
program yazınız. fprintf(' ki reel kök; x1 = %f x2 = %f ',x1,x2);
Çözüm: elseif delta==0
ad=input('Adınız :','s'); fprintf('Tek kök var; x1 = x2= %f ',-b/(2*a));
soyad=input('Soyadınız :','s'); else
yas=input('Ya ınız :'); fprintf('Kökler sanal ');
clc; end;
fprintf('Siz %s %s %d ya ındasınız.',ad,soyad,yas);
2) switch end Deyimi:
Karar Verme ve Dallanma: Genel Kullanımı a a ıdaki gibidir:
Bazen bir programda, belirli bir artın gerçekle mesi
durumunda olması gereken i lemleri yaptırabilmek için switch anahtar-ifade
karar verme deyimleri kullanılır.Matlab'da kullanılan case durum-1
karar verme deyimlerinden biri if deyimi, di eri de case (i lemler-1)
deyimidir.. case durum-2
(i lemler-2)
1) f artlı deyimi: ...
Genel Kullanımı a a ıdaki gibidir: case durum-n
f durum_1 (i lemler-n)
(ifadeler_1) otherwise
elseif durum_2 (di er i lemler)
(ifadeler_2) end
elseif durum_3
(ifadeler_3) Örnek:Klavyeden girilen 1 ile 5 arasında girilen bir tam
... sayının yazı ile kaç girildi ini ekrana yazdıran, istenen
else aralı ın dı ında bir sayı girilmesi durumunda 'Lütfen 1
(ifadeler_n) ile 5 arasında bir tam sayı girin' uyarısını yapan bir
end program yazalım.

Örnek: Çözüm:
0-100 aralı ında girilen puanı 5 üzerinden nota çeviren s=input('Sayınızı girin :');
bir programı if deyimi kullanarak yazalım. switch s
case 1;fprintf('Bir...' );
Çözüm: case 2 ;fprintf(' ki...' );
puan=input('Puanı girin :'); case 3 ;fprintf('Üç...' );
if puan<45 fprintf('De eri : %d',1 ); case 4 ;fprintf('Dört...' );
elseif puan<55 fprintf('De eri : %d',2 ); case 5 ;fprintf('Be ...' );
elseif puan<70 fprintf('De eri : %d',3 ); otherwise fprintf('Lütfen 1 ile 5 arasında bir tam sayı
elseif puan<85 fprintf('De eri : %d',4 ); girin'); end;
else fprintf('De eri : %d',5 );end;
Örnek:
Klavyeden girilen sayının negatif, pozitif ya da sıfır
oldu unu ekrana yazan bir program yazınız.
Matlab'da Tekrarlı lemler ve Döngüler
Çözüm: Belirli bir i lem birden çok tekrar ediyorsa bunu döngü
sayi=input('Sayıyı giriniz :') deyimleri ile gerçekle tirebiliriz.Bunlar for ve while
if sayi<0 öngüleridir.
fprintf('sayınız negatif.');
elseif sayi>0 for Döngüsü:
fprintf('sayınız pozitif.'); Amaç: Bir ba langıç de erinden, son de ere kadar artı
else miktarı kadar arlıklarda i lemleri tekrarlamaya yarar.
fprintf('sayınız sıfır.');end;
Kullanımı:
Örnek: for de i ken=ba langıç_de eri:artı :son_de er
a, b c katsayıları girilen ikinci derece ax²+bx+c=0 (i lemler)
denkleminin reel köklerini bulup ekrana yazdıran bir end
program yazınız.
Not: Artı de eri 1 ise yazılmasa da olur.
Çözüm:
clc; Örnek: Temiz ekrana 20 defa alt alta zmir Fen Lisesi
a=input('a = ');b=input('b = ');c=input('c = '); yazdıran bir program yazınız.

6 Hasan KORKMAZ- zmir Fen Lisesi Matematik Ö retmeni


Matlab Ders Notları
fprintf(' lk %d terimin toplamı %f dir.',n-1,t);
Çözüm:
clc; c)
for i=1:20 clc;t=0;n=1;
fprintf(' zmir Fen Lisesi \n');end; x=input('x de erini giriniz : ');
while t<=x
Örnek: 1 den 1000 e kadar olan sayıların toplamını t=t+1/n;n=n+1;end;
buldurup sonucu ekrana yazdıran bir program yazınız. fprintf(' lk %d terimin toplamı %f dir.',n-1,t);

Çözüm: Örnek:
toplam=0; Klavyeden girilen negatif sayıların toplamını ve kaç
for i=1:1000 tane oldu unu, pozitif sayıların toplamını ve kaç tane
toplam=toplam+i;end; oldu unu bulan sıfır girildi inde programı sona erdirerek
fprintf('Toplam = %d ',toplam); sonuçları temiz ekranda yazdıran bir program yazınız.
Çözüm:
Örnek: Girilen bir sayıdan, istenen bir sayıya kadar olan clc;x=1;nt=0;pt=0;nsay=0;psay=0;
sayıların toplamını bulduran bir program yazınız. while x~=0
x=input('Sayıyı gir (bitirmek için 0) :');
Çözüm: if x<0 nt=nt+x;nsay=nsay+1;
toplam=0; elseif x>0 pt=pt+x;psay=psay+1;end;end;
ilk=input('Kaçtan itibaren :'); fprintf('%d tane negatif sayının toplamı %f ',nsay,nt);
son=input('Kaça kadar :'); fprintf('%d tane pozitif sayının toplamı %f
for i=ilk:son dir.',psay,pt);
toplam=toplam+i;end;
fprintf('Toplam = %d ',toplam); MATEMAT KSEL LEMLER
Matlab'daki matematiksel i lemler ve anlamları a a ıda
Örnek: 9²+13²+17²+...+2005² toplamını bulduran bir verilmi tir.
program yazınız.
lem Anlamı
Çözüm: veya
toplam=0; fonksiyon
for i=9:4:2005 + Toplama sembolü
toplam=toplam+i*i;end; - Çıkarma sembolü
fprintf('Toplam = %d ',toplam); * Çarpma sembolü
/ Bölme sembolü
while Döngüsü: ^ Üs alma sembolü
Amaç: Belirli bir durum gerçekle tikçe istenen i lemleri
tekrarlamaya yarar. Örnek:
Komut satırına 12+32/(4-2)^3*5 yazıp enter tu una
Kullanımı: bastı ımızda; Matlab önce parentez içini yapar (yani
while durum 4-2=2) sonra 2 nin 3. kuvveti alınır 8 bulunur, 32 8 e
(i lemler) bölünür (4), bu da 5 ile çarpılır (20), 20 ile 12 toplanarak
end; 32 elde edilir.
Örnek: t=1+1/2+1/3+...+1/n toplamı gözönüne alınıyor. TEMEL MATEMAT K FONKS YONLAR
a) Ba tan ilk 2005 terim toplamını bulduran bir programı Matlab'da bazı matematiksel i lemler yaptırmak
while döngüsü kullanarak bulunuz. istedi imizde, matematiksel fonksiyonları kullanırız.
b) t toplamınının 5 i geçti i ilk n terim sayısını ve Matlab'da matematiksel fonksiyonlar;
toplamı bulduran bir program yazınız. a) Temel (elemantary) fonksiyonlar; elfun
c) t toplamınının, girilen bir x sayısını geçti i ilk n terim b) Özel (special) fonksiyonlar; specfun
sayısını ve toplamı bulduran bir program yazınız. c) Veri (data) fonksiyonları; datafun
d) Metin (karakter dizisi) (string) fonksiyonlar; strfun
Çözüm: e) Dosya giri -çıkı (input-output) fonksiyonları iofun
a) f) Tarih-zaman (time) fonksiyonları; timefun araç
clc;t=0;n=1; kutusundadır.Bir araç kutsundaki fonksiyonları ve
while n<=2005 anlamlarını görmek için komut satırına;
t=t+1/n;n=n+1;end; help araç_kutusu biçiminde yazarız.
fprintf(' lk %d terimin toplamı %f dir.',n-1,t); Örne in; temel fonksiyonlar ve anlamlarını
görüntülemek için; help elfun, metin fonksiyonlarını ve
b) anlamlarını görüntülemek için help strfun yazılır.
clc;t=0;n=1; Bunların bazılarını görelim:
while t<=5
t=t+1/n;n=n+1;end; a) Temel (elemantary) fonksiyonlar; elfun
7 Hasan KORKMAZ- zmir Fen Lisesi Matematik Ö retmeni
Matlab Ders Notları
bulur.
Varolan tanımlı fonksiyonları görmek için komut satırına min(a) a dizisinin en küçük elemanını
help elfun yazarız.Bunlardan bazıları ve anlamları bulur.
a a ıda verilmi tir. mean(a) a dizisinin ortalamasını bulur.
median(a) a dizisinin orta terimini bulur.
lem Anlamı std(a) a dizisinin standart sapmasını
veya bulur.
fonksiyon var(a) a dizisinin varyansını bulur.
+ Toplama sembolü sort(a) a dizisini artan olarak sıralar
- Çıkarma sembolü sortrows(a) a matrisinin satırlarını artan olarak
* Çarpma sembolü sıralar
/ Bölme sembolü sum(a) a dizisinin elemanlarını toplar
^ Üs alma sembolü prod(a) a dizisinin elemanlarını çarpar
sqrt(x) x in karekökü
sin(x) Radyan cinsinden x in sinüsü d) Metin (karakter dizisi) (string) fonksiyonlardan
cos(x) Radyan cinsinden x in cosinüsü bazıları:
tan(x) Radyan cinsinden x in tanjantı
cot(x) Radyan cinsinden x in cotanjantı
acos(x) arccosx lem veya Anlamı
asin(x) arcsinx fonksiyon
atan(x) arctanx char(a) sayısal a dizisnini, karakter
acot(x) arccotx dizisine dönü türür
x
exp(x) e double(a) karakterlerden olu an a dizisini,
log(x) ln(x) sayı dizisine dönü türür
log10(x) Logx eval(a) a metnini Matlab ifadesi olarak
abs(x) x (x in mutlak de eri) tanımlar
sqrt(x) x findstr(a,b) A ve b metinlerinden kısa olanını
uzun olanı içinde arayarak
fix(x) x in yukarıya yuvarlanmı ı
metninin ba langıç de erini bulur
ceil(x) x in a a ıya yuvarlanmı ı
strfind (a,b) a metni içinde b metninin
floor(x) x in tamde eri, ba langıç de erini bulur
sign(x) x in i areti, sgn(x) upper(a) a stringinin (metninin) harflerininin
round(x) x e en yakın tamsayıya yuvarlar. tümünü büyük harf yapar.
mod(x,y) x in y modundaki de eri lower(a) a stringinin (metninin) harflerininin
rem(x,y) x in y ye bölümünden kalan tümünü küçük harf yapar.
num2str Sayılardan olu an de eri stringe
b) Özel (special) fonksiyonlar; specfun (metne) dönü türür.
Bunlardan bazıları ve anlamları a a ıda verilmi tir. st2num Rakamlardan olu an stringi sayıya
dönü türür.
lem veya Anlamı
fonksiyon Örnek:
cross(a,b) a ile b vektörünün vektörel çarpımı 1. a=' zmir';findstr(a,'mi') komutu sonucu ekranda 3
dot(a,b) a ile b vektörünün skaler çarpımı sayısı görülür.
factor(n) n sayısının çarpanlarını bulur.
sprime(n) n sayısının asal olup olmadı ını 2. Benzer biçimde a=' zmir';strfind(a,'mi') komutu
denetler, asal ise 1 de ilse 0 sonucu ekranda 3 sayısı görülür.
de erini döndürür.
primes(n) n sayısına kadar olan asal sayıları 3. findstr('izmir fen lisesi','fen') komutu sonucu
listeler ekranda 7 sayısı görülür.
gcd(a,b) a ile b sayılarının OBEB ini bulur
lcm(a,b) a ile b sayılarının OKEK ini bulur Not: findstr('izmir fen lisesi','fen') ile
rats(a) a sayısını rasyonel sayıya çevirir. findstr('fen','izmir fen lisesi') komutu arasında hiçbir
perms(a) a stringinin permütasyonlarını fark yoktur.
bulur.
factorial(n) n faktöryel (n!) 4. upper('izmir') komutu sonucu ekranda ZM R
kelimesi; lower('NABer?') komutu sonucu da ekranda;
nchoosek(n,r) n nin r li kombinasyonlarının sayısı
naber? kelimesi görülür.
c) Veri (data) fonksiyonları; datafun

lem veya Anlamı


fonksiyon
max(a) a dizisinin en büyük elemanını
8 Hasan KORKMAZ- zmir Fen Lisesi Matematik Ö retmeni
Matlab Ders Notları
3
Matlab'da Sembolik Matematik ve Uygulamaları: 120 120 2005 .2006
Örne in, 20 , 25 ve 4032085075 kesirlerinin en sade
Matlab'da bir denklemin çözümünü bulmak için örne in biçimini bulalım.
x²-2x-15=0 denkleminin çözümünü bir m dosyasına
gerekli kodları yazarak yapabiliriz.Bu programın m sym(120/20) yazıp enter tu una bastı ımızda ekranda
dosyası a a ıdaki gibi olabilir. kesrin en sade sonucu olan 5 sayısını,
clc;
a=input('a = ');b=input('b = ');c=input('c = '); sym(120/25) yazıp enter tu una bastı ımızda ekranda
delta=b*b-4*a*c; kesrin en sade sonucu olan 24/5 sayısını,
if delta>0
x1=(-b-delta^0.5)/(2*a);x2=(-b+delta^0.5)/(2*a); sym((2005^3*2006)/4032085075) yazıp enter tu una
fprintf(' ki reel kök; x1 = %f x2 = %f ',x1,x2); bastı ımızda ekranda kesrin en sade sonucu olan 4010
elseif delta==0 sayısını görürüz.
fprintf('Tek kök var; x1 = x2= %f ',-b/(2*a));
else De i kenlerin sembolik nesne olarak tanımlanabildi i
fprintf('Kökler sanal '); gibi, fonksiyonlar da tanımlanabilir.
end; Örne in;
3 2
Program çalı tırıldı ında a b c katsayılarına sırasıyla, y=x - 3x + sin x fonksiyonunu sembolik nesne olarak
1, -2 ve -15 de erlerini girerek denklemin köklerini -3 ve tanımlamak istersek;
5 olarak buluruz. bunu iki yoldan da yapabiliriz:
kinci derece bir denklemin çözümünü veren a) syms x;
formüllerini bildi imizden bunun programını (çok kolay y=x^3-3*x^2+sin(x) komutlarıyla veya;
olmasa da) yazabildik.Ya denklem üçüncü dereceden b) y=sym('x^3-3*x^2+sin(x)') komutuyla yapabiliriz.
olursa, 4 veya 5. dereceden olursa, ya da x.sin x=1/5
x pretty komutu:
gibi veya x = 64 gibi olursa ... bu denklemleri nasıl
Sembolik nesnenin görüntüsünü ekranda net olarak
çözümleyebiliriz? anla ılır biçimde görünmesini sa layan komuttur.
Verilen bir cebirsel ifadeyi, mesela Örne in yukarıdaki y fonksiyonunu ekranda anla ılır
3 2 biçimde görüntülemek için pretty(y) yazmak yeterlidir.Bu
(x - 8)(x + 7x)
3 2
2 2 gibi bir ifadeyi sadele tirebilir durumda ekranda; y=x - 3x + sin(x) ifadesi görülür.
(2x + 4x +8)(x - 2x)
miyiz? Harfli fadeler ve Sadele tirilmesi:
Bir fonksiyonun limitini, türevini ve integralini Matlab'da
buldurabilir miyiz? simplify Komutu
te bu gibi i lemleri yaptırabilmek için Matlab'daki Sembolik nesneleri sadele tirmeye yarar.
Sembolik Mantık (Sembolik Nesne) kavramını Örne in;
kullanmalıyız.Bu konu ile ilgili açıklama ve yardım almak a) 8 - 5sin²x-5cos²x trigonometrik ifadesini ve
için komut satırına help symbolic yazmak yeterlidir. 3 2
(x - 8)(x + 7x)
Sembolik Matematikte Bazı Komutlar ve Anlamları: b) 2 2 biçimindeki rasyonel ifadesini
sym ve syms komutları: (2x + 4x +8)(x - 2x)
Bir de i keni sembolik nesne yapmaya yarar. 2x-1 x+2
c) x+3 + x-1 ifadesinin sonucunu en sade biçimde
Örne in x de i kenini sembolik nesne yapmak için; yazmak isteyelim.
x=sym('x'); komutu kullanılabilir.Aynı i lemi syms x;
komutu ile de yapabiliriz. Çözüm:
a) Bunun için önce ifadeyi sembolik nesneye dönü türüp
x, y ve z de i kenlerini sembolik nesne yapmak için; sonra basitle tirme komutunu kullanmalıyız.Bunu iki
syms x y z komutu kullanılabilir. ekilde yapabiliriz:
I) y=sym('8-5*sin(x)^2-5*cos(x)^2');
Bir ondalık sayının kesir olarak kar ılı ını bulabilmek simplify(y)
için sym komutundan faydalanabiliriz. II) simplify(sym('8-5*sin(x)^2-5*cos(x)^2'))
Örne in 3.98 ondalık sayısının rasyonel sayı kar ılı ını
bulmak için sym(3.98,'r') veya sym(3.98) komutu b) Benzer ekilde
kullanabiliriz. y=sym('(x^3-8)*(x^2+7*x)/((2*x^2+4*x+8)*(x^2-2*x))');
simplify(y)
Benzer ekilde 22/7 kesrini ondalık sayıya çevirmek komutları uygulanırsa ekranda ifadenin en sade hali
için de sym(22/7,'d') komutu kullanılır. olan;
Bir sayısal kesri sadele tirmek için de sym komutundan 1/2*x+7/2 ifadesi bulunur. ayet simplify(y) yerine;
faydalanabiliriz.
9 Hasan KORKMAZ- zmir Fen Lisesi Matematik Ö retmeni
Matlab Ders Notları
pretty(simplify(y)) komutu uygulanırsa ekranda daha
anla ılır olan; 1/2 x+7/2 ifadesi görülür.

c) y=sym('(2*x-1)/(x+3)+(x+2)/(x-1)');
pretty(simplify(y)) komutları uygulanırsa ekranda 3 2 3
i lemin sonucu olan; (x - 2) x -2
2 --------- - 2 ------ + 7
3x +2x+7 2 x+3
--------------- (x + 3)
(x + 3) (x - 1) ------------------------
ifadesi görülür. 3
x -2
expand ve factor komutları: 3 ------ + 5
Sembolik nesnelerden olu an polinomların kuvvetini x+3
açmak için expand komutunu, bir polinomun kuvveti
olarak açılmı ifadeyi eski haline getirmek için factor Ancak bu ifadeyi gerekli i lemlerin yapılarak daha da
komutunu kullanırız. basit biçime getirmek için en sondaki ifade olan
pretty(subs(y,x,z)) yerine pretty(simplify(subs(y,x,z)))
Örnek: yazmalıyız.Bu durumda ekranda;
3 3
a) (x²-x+1) - (x²+x-1) açılımının sonucunu; 6 3 4 2
b) x - 10 x + 79 - 2 x + 46 x + 7 x
8 7 9 3 2 6 4 ------------------------------------
-1 + 3 x - 3 x + 6 x + x + 10 x - 6 x - 10 x - 12 x + 3
5 (3 x + 9 + 5 x) (x + 3)
12 x ifadesi bir polinomun kuvveti oldu una göre hangi ifadesi görülür.
polinomun kaçıncı kuvveti oldu unu bulduralım.
DENKLEMLER ve Çözümleri:
Çözüm:
a) y=sym('(x^2-x+1)^3-(x^2+x-1)^3');pretty(expand(y)) solve komut:
i lemi sonucu ekranda; Matlab'ın en güçlü ve kullanı lı komutlarından
5 4 3 2 biridir.Kısaca verilen her türden denklem (sayısal veya
-6 x + 6 x - 2 x + 6 x - 6 x + 2 görülür. matematik nesnesi olan) veya denklem sistemlerini
çözümlemeye yarar.
b) z=sym('-1+3*x-3*x^8+6*x^7+x^9+10*x^3-6*x^2-
10*x^6-12*x^4+12*x^5');pretty(factor(z)) Bir Bilinmeyenli Denklem Çözümleri:
i lemi sonucu ekranda; Örnek;
3 2 3 a) 2x-6=0
(x - 1) (x + 1) görülür. b) 2x²+5x=3
c) ax²+bx+c=0
subs komutu: 3 2
Bir sembolik ifadenin de i kenine verilen bir de er için d) x + 3x - x - 3 = 0
sonucunu bulmaya yarar. 5
e) x = 16x
Örnek: 2
2 f) x - 6x - 3 = 3x - 5
x - 2x + 7 x
y = f(x) = 3x+5 fonksiyonu veriliyor. g) x = 64 denklemlerinin çözüm kümelerini bulalım.
a) f(2005) de erini, Çözüm:
3 a) solve(2*x-6) veya solve('2*x-6') veya
x -2 solve(sym('2*x-6')) i leminin sonucu ekranda; 3 görülür.
b) z = g(x) = x + 3 olmak üzere f(g(x)) bile ke b) solve(2*x^2+5*x-3) veya solve('2*x^2+5*x-3')
fonksiyonunu bulduralım. i leminin sonucu ekranda; -3 ve 1/2 görülür.
Çözüm: c) Burada harfli ifadeyi matematiksel nesne olarak
a) y=sym('(x^2-2*x+7)/(3*x+5)');subs(y,x,2005) yazmak zorundayız.Bunun için komutu
i lemi sonucu ekranda 667.1133 de eri görülür. solve('a*x^2+b*x+c') veya solve(sym('a*x^2+b*x+c'))
biçiminde kullanmalıyız.Bu durumda ekranda; çözüm
b) y=sym('(x^2-2*x+7)/(3*x+5)');subs(y,x,2005); kümesi;
z=sym('(x^3-2)/(x+3)');pretty(subs(y,x,z)) i lemlerinin
sonucu ekranda a a ıdaki ifade görülür. [ 1/2/a*(-b+(b^2-4*a*c)^(1/2))]
[ 1/2/a*(-b-(b^2-4*a*c)^(1/2))] biçiminde görülür.

10 Hasan KORKMAZ- zmir Fen Lisesi Matematik Ö retmeni


Matlab Ders Notları
Bunu daha düzenli görüntülemek için pretty y de eri de sonuc.y de i keninde bulunacaktır.Bunlar
komutundan faydalanalım.Yani komutu ekrana yazılarak sonuçlar görülebilir.O halde özetle, bu
pretty(solve('a*x^2+b*x+c')) olarak uygularsak ekranda; denklem sisteminin çözümü için ekrana unlar sırasıyla
yazılmalıdır:
syms x y;
sonuc=solve(2*x-3*y-27,5*x+2*y-1);
sonuc.x
sonuc.y
[ 2 1/2] b) syms x y z;
[ -b + (b - 4 a c) ] sonuc=solve(17*x-3*y+4*z-7,15*x-7*y -1,x+y-9*z-13);
[1/2 -------------------- ] sonuc.x
[ a ] sonuc.y
[ ] sonuc.z
[ 2 1/2]
[ -b - (b - 4 a c) ] c) syms x y;
[1/2 -------------------- ] sonuc=solve(x^2-2*x*y+3*y^2-17,x*y-3*x+5);
[ a ] sonuc.x
ifadesi görülür ki bu da, ax²+bx+c=0 ikinci derece sonuc.y
denklemin kökler formülünden ba ka bir ey de ildir.
L M T ve UYGULAMALARI:
d) solve(x^3+3*x^2-x-3) komutu uygulanırsa ekranda; 1,
-3, -1 de erleri görülür. limit Komutu:
Sembolik nesnelerden olu an ifadenin limitini bulmaya
e) solve(x^5-16*x) komutu uygulanırsa ekranda; yarar.
[ 0]
[ 2] lim
[ -2] f(x) matematiksel ifadenin Matlab kar ılı ı;
x a
[ 2*i]
[ -2*i] de erleri görülür.Görülüyor ki denklemin 3 tane limit(f,x,a) biçimindedir.
reel iki tane de sanal kökleri var.
ayet limit soldan veya sa dan olursa, Matematiksel ve
f) solve(x^2-6*x-3-(3*x-5)^(1/2)) komutu uygulanırsa Matlab kar ılıkları a a ıdaki gibi bulunur.
ekranda; 7 sayısı görülür.
lim
g) solve(x^x-64) komutu uygulanırsa ekranda; - f(x) için limit(f,x,a,'left')
x a
ans =
lim
log(64)/lambertw(log(64)) + f(x) için limit(f,x,a,'right')
sonucu görülür ki, bu sonuç bilmedi imiz bir fonksiyonun x a
üretti i bir de erdir.Bu de eri sayısal de ere çevirmek Not:
için double komutundan yararlanırız.Yani komutu; 1) ayet a de eri belirtilmezse 0 için limit bulunur.
double(solve(x^x-64)) biçiminde kullanırsak, ekranda 2) için limit bulunacaksa a yerine inf ifadesi yazılır.
3.3991 de erini görürüz. 3) - için limit bulunacaksa a yerine -inf ifadesi yazılır.

Çok Bilinmeyenli Denklem Çözümleri: Örnek:


Örnek: A a ıdaki denklem sistemlerinin çözüm 2
kümelerini bulalım: lim 3x - 3
a) 2x-3y=27 a)
x 1 x-1
5x+2y=1
b) 17x-3y+4z=7 lim 2-2cosx
15x-7y =1 b)
x 0 x.sinx
x+y-9z=13
c) x²-2xy+3y²=17 lim 7n²-13n+777
xy-3x+5=0 c)
n 19-3n-n²
Çözüm:
lim
a) Önce x ve y de i kenlerini sembolik de i ken olarak d) n²+10n-2005 - n²-8n+2006
tanımlamalıyız.Yani syms x y komutu n
uygulanmalıdır.Sonra da çözüm sonucu bir de ikene
örne in sonuc de i kenine 2n+1 n+3
lim 7 - 49.7
sonuc=solve(2*x-3*y-27,5*x+2*y-1) komutuyla e)
atanmalıdır.Bu durumda x de eri sonuc.x de i keninde n n-1
49 + 77
11 Hasan KORKMAZ- zmir Fen Lisesi Matematik Ö retmeni
Matlab Ders Notları
lim 5n+8 10n+9 D Z LER ve SER LER ile lgili Uygulamalar:
f) ( 5n+7 ) symsum komutu:
n
lim x- x²+x+1 Toplam sembolü uygulamalarında veya seri toplamını
g) bulmaya yarayan komuttur.
x - 2x- 4x²+x
lim
9x b
h) -
x 0 x f(k) toplamını bulmaya yarayan Matlab komutu;
k=a
lim x 1/x-1
i) ( tan 4 )
x 1
symsum(f(k),a,b) biçiminde kullanılır.
3 3 Örnek:
lim sin (x+h) - sin (x) a) 1+2+3+...+n toplamının formülünü bulduran komutu
j) h
h 0 yazalım.
Çözüm: b) 1²+2²+3²+...+n² toplamının formülünü bulduran
a)syms x; komutu yazalım.
limit((3*x^2-3)/(x-1),x,1)
c) 4.5.6+5.6.7+6.7.8+...+22.23.24 toplamının sonucunu
i leminin sonucunda limit 6 olarak bulunur. bulduran komutu yazalım.
b) syms x;limit((2-2*cos(x))/(x*sin(x)),x,0) veya 3 4 5 99
limit((2-2*cos(x))/(x*sin(x))) d) (2/3) +(2/3) +(2/3) + ...+(2/3) toplamını bulalım.

i leminin sonucunda limit 1 olarak bulunur. 3 4 5


e) (2/3) +(2/3) +(2/3) + ... serisinin toplamını bulalım.
c) syms n;limit((7*n^2-13*n+777)/(19-3*n-n^2),n,inf)
1 1 1
i leminin sonucunda limit -7 olarak bulunur. f) 1² + 2² + 3² + ... serisinin toplamını bulalım.

d) syms n;
g) f) ıkkından faydalanarak sayısını bulunuz.
limit((n^2+10*n-2005)^(1/2)-(n^2-8*n+2006)^(1/2),n,inf)
Çözüm:
i leminin sonucunda limit 9 olarak bulunur.
a) syms k n;symsum(k,1,n)
komutu sonucunda; 1/2*(n+1)^2-1/2*n-1/2 ifadesi
e) syms n;
bulunur.
limit((7^(2*n+1)-49*7^(n+3))/(49^(n-1)+77),n,inf)
ayet sonucu daha basit bulmak istersek;
i leminin sonucunda limit 343 olarak bulunur.
syms k n;simplify(symsum(k,1,n)) bunun sonucunda
f) syms n;
limit(((5*n+8)/(5*n+7))^(10*n+9),n,inf)
1/2*n^2+1/2*n ifadesi bulunur.
i leminin sonucunda limit exp(2) (yani e² ) olarak bulunur.
syms k n;pretty(simple(symsum(k,1,n))) komutunu
g) syms x;
uygularsak ekranda 1/2 n (n + 1) sonucu görülür.
limit((x-(x^2+x+1)^(1/2))/(2*x-(4*x^2+x)^(1/2)),x,-inf)
b) syms k n;pretty(simple(symsum(k^2,1,n)))
i leminin sonucunda limit 1/2 olarak bulunur.

h) syms x;limit((9*x)/(abs(x)),x,0,'left') c) syms k n;symsum(k*(k+1)*(k+2),4,22)

d) syms k;symsum((2/3)^k,3,99) komutu sonucu


i leminin sonucunda limit -9 olarak bulunur.
ekranda
i) syms x;limit((tan(pi*x/4))^(1/(x-1)),x,1) 152704450587262615335745290072695420044661986
328/17179250691067044367882037658854042423403
5840667
/2
i leminin sonucunda limit exp(1/2*pi) (yani e ) olarak sembolik ifadesi görülür.Bu de erin sayısal de erini
bulmak için double(ans) kullanılırsa 0.8889 gerçek
bulunur.
de eri bulunur.Aynı eyi;
syms k;double(symsum((2/3)^k,3,99))
j) syms x h;limit(((sin(x+h))^3-(sin(x))^3)/h,h,0)
biçiminde de bulabiliriz.
i leminin sonucunda 3*sin(x)^2*cos(x) (yani 3sin² x cos x )
olarak bulunur. (Bu da y=sin3 x fonksiyonunun türevidir.)
12 Hasan KORKMAZ- zmir Fen Lisesi Matematik Ö retmeni
Matlab Ders Notları
b) pretty(diff(‘x^5’,2)) komutunu uyguladı ımızda
ekranda;
e)
syms k;symsum((2/3)^k,3,inf) komutu sonucu 8/9 3
sonucu bulunur. 20 x görülür.

f) syms n;symsum(1/n^2,1,inf) komutu sonucu c) pretty(diff(‘x^5’,5)) komutunu uyguladı ımızda


1/6*pi^2 sonucu bulunur. ekranda;

g)syms n;(6*double(symsum(1/n^2,1,inf)))^(1/2)
komutu sonucu 120 görülür.
ans =

3.1416 d) pretty(diff(‘x^5’,6)) komutunu uyguladı ımızda


ekranda;
sonucu (yani pi sayısı) bulunur.

TÜREV ve lgili Uygulamalar: 0 görülür.


diff komutu:

Tanımlı sembolik ifadenin türevini bulmaya yarar. Örnek:


Örne in y=f(x) gibi x de i kenine ba lı bir fonksiyonun 3 2
türevini bulmak için; önce x de i keni syms komutu a) y = x + 6x - 13x +19 fonksiyonunun türevini bulalım.
yardımıyla sembolik de i ken yapılır sonra da; x²-3x+7
diff(y) komutuyla türevi (yani 1. mertebeden türevi) b) y = x²+5x-1 fonksiyonunun türevini bulalım.
bulunur. ayet daha yüksek mertebeden mesela 3. c) y=sin²x.cosx fonksiyonunun türevini bulalım.
mertebeden türevini bulmak için; d) z=x²y+3xy-y² fonksiyonunun
diff(y,3) yazmalıyız. i) x e göre türevini
ii) y ye göre türevini
Örnek: iii) y'=dy/dx türevini bulalım.
5
y=x fonksiyonunun;
a) Türevini Çözüm:
a) syms x; y=sym('x^3+6*x^2-13*x+19');diff(y)
b) 2. mertebeden türevini, veya kısaca; diff('x^3+6*x^2-13*x+19')
c) 5. mertebeden türevini,
d) 6. mertebeden türevini bulalım. b) diff('(x^2-3*x+7)/(x^2+5*x-1)') komutu uygulandı ında
ekranda;
Çözüm:
Önce x de i kenini sembolik de i ken yapalım: (2*x-3)/(x^2+5*x-1)-(x^2-3*x+7)/(x^2+5*x-1)^2*(2*x+5)
>>syms x
ifadesi görülür.
Fonksiyonu y sembolik de i kenine atayalım:
>>y=sym(‘x^5’) Bunu daha anla ılır biçimde görüntülemek için;

Sonra da sırayla türevleri alalım: pretty(diff('(x^2-3*x+7)/(x^2+5*x-1)'))


komutunu uygulamalıyız.
a) diff(y) (veya diff(y,1))
Bu durumda ekranda;
Komutun uygulanmasıyla ekranda 5*x^4 görülür. 2
Sonucun düzenli ve daha anla ılır görünmesi için 2x-3 (x - 3 x + 7) (2 x + 5)
komutu pretty ile beraber kullanmalız. Yani; ------------ - ------------------------
2 2 2
pretty(diff(y)) komutunun uygulanmasıyla ekranda x +5x-1 (x + 5 x - 1)

4 Bu sonucu daha sade halde görüntülemek için ise;


5x görülür.
pretty(simplify(diff('(x^2-3*x+7)/(x^2+5*x-1)')))
Not: komutunu uygulamalıyız.
Bu i lemleri tek komut yardımıyla;
pretty(diff(‘x^5’)) ile yaptırabiliriz.

13 Hasan KORKMAZ- zmir Fen Lisesi Matematik Ö retmeni


Matlab Ders Notları
Bu durumda ekranda; Örnek:
2 3
x -2x-4 x
8 --------------- y = 2 + x fonksiyonu veriliyor.
2 2
(x + 5 x - 1) a) x = -1 noktasındaki te etinin e imini bulalım.
ifadesi görülür.
b) Hangi x apsisli noktadaki te eti 5x-2y = 2011
c) pretty(diff('sin(x)^2*x*cos(x)')) komutu sonucu do rusuna paralel oldu unu bulalım.
ekranda;
Çözüm:
3
2 2 3 x
2 sin(x) x cos(x) + sin(x) cos(x) - sin(x) x a) Yani y = 2 + x fonksiyonunun türevinin x = -1 için
görülür. de erini bulmamız gerekiyor.
d) syms x y;z='x^2*y-3*x*y-y^2'; Önce türevini alıp bir de i kene (mesela t ) atayalım;
i) tx=diff(z,x) komutu sonucu ekranda;
t=diff(‘x^3/(2+x)’)
tx =
Sonra da t de x yerine 1 koyarak sonucu bulalım.
2*x*y-3*y görülür. Bir fonksiyonda de i kene verilen de ere kar ılık gelen
sonucu subs komutu yardımıyla bulabiliriz.
ii) ty=diff(z,y) komutu sonucu ekranda;
subs komutunun en yalın kullanımı;
ty =
subs(‘sembolik ifade’,de er) biçimindedir.
x^2-3*x-2*y görülür.
Buna göre t türevinin x = -1 için de erini bulalım:
iii) -tx/ty komutu sonucu ekranda;
subs(t,-1)
ans =
komutunun uygulanmasıyla ekranda;
(-2*x*y+3*y)/(x^2-3*x-2*y) görülür. ans =
Not: Sonucun daha düzenli görünmesini istersek 4 sonucu görülür.
ifadenin önüne pretty komutunu getirmeliyiz. Yani
Not: Bu birkaç i lemi tek adımda öyle de yapabiliriz;
pretty(-tx/ty) komutu sonucu ekranda;
subs(diff(‘x^3/(2+x)’),-1)
-2 x y + 3 y
-------------- görülür. b) a) ıkkında buldu umuz türevi t sembolik de i kenine
2 atamı tık. imdi de t nin 5/2 ye e it olmasını sa layan x
x -3x-2y de erini bulmamız yani t=5/2 (veya diff(‘x^3/(2+x)’)=5/2 )
denklemini çözmemiz gerekir. Bunu da denklem çözme
Örnek: komutu olan solve komutuyla yaparız.
2 3
y=x.arctan x + sin (4x ) fonksiyonunun türevini bulalım.
solve(t-5/2)
Çözüm: komutun uygulanması sonucunda ekranda;
pretty(diff(‘x*atan(x)+(sin(4*x^3))^2’)) ans =

Komutunun uygulanması sonucu ekranda; [ 2]

[ -15/8+1/8*65^(1/2)]
x 3 3 2
atan(x) + -------- + 24 sin(4 x ) cos(4 x ) x [ -15/8-1/8*65^(1/2)]
2
x +1 görülür. Sonuçları daha anla ılır ve düzenli görünmesi
görülür. için komutumuzu

14 Hasan KORKMAZ- zmir Fen Lisesi Matematik Ö retmeni


Matlab Ders Notları
pretty(solve(t-5/2)) biçiminde uygularsak;
c) x²sinx dx belirsiz integralini bulalım.
2
e
[ 2 ] dx
d) x belirli integralini bulalım.
[ ] e
-1

[ 1/2] dx
e) 2 belirli integralini bulalım.
[-15/8 + 1/8 65 ] 1+x
-
[ ]

[ 1/2] Çözüm:
a) int('3*x^2-2*x+5')
[-15/8 - 1/8 65 ]
görülür. i leminin sonucunda x^3-x^2+5*x bulunur.
Buradan da denklemin köklerinin; b) pretty(int('(2*x+5)/(x^2+1)'))

-15 + 65 -15 - 65 i leminin sonucunda


{ 2, 8 , 8 } oldu u anla ılır.
2
log(x + 1) + 5 atan(x)
Not: Bu birkaç i lemi tek adımda öyle de yapabiliriz; 2
(yani ln (x + 1) + 5 arctan x ) bulunur.
pretty(solve(diff(‘x^3/(2+x)’)-5/2))
c) pretty(int('x^2*sin(x)'))
[ 2 ]
i leminin sonucunda
[ ] 2
-x cos(x) + 2 cos(x) + 2 x sin(x)
[ 1/2] bulunur.

[-15/8 + 1/8 65 ] d) int('1/x',exp(-1),exp(2))

[ ] i leminin sonucunda
ans =
[ 1/2] log(4159668786720471)+2*log(2)-
log(828390857088487)
[-15/8 - 1/8 65 ]
bulunur. Bu sembolik de erin reel sayı kar ılı ını bulmak
için double komutundan faydalanırız.

>> double(ans)
NTEGRAL ve lgili Uygulamaları: ans =
int Komutu:
Tanımlı sembolik ifadenin belirsiz veya belirli 3
integralini bulmaya yarar.
e) int('1/(1+x^2)',-inf,inf)
Belirsiz integral için; int(‘sembolik ifade’)
i leminin sonucunda pi bulunur.
Belirli integral için;
int(‘sembolik ifade’,ilkde er,sonde er) biçiminde
kullanabiliriz. D FERENS YEL DENKLEM ve ÇÖZÜMLER :
Örnek: Tanım: x ba ımsız de i keninin fonksiyonu y=f(x) olmak
2 (n)
a) (3x - 2x + 5) dx belirsiz integralini bulalım. üzere, F(x,y,y’,y’’,y’’’, …, y ) = 0 ba ıntısına “n.
dereceden (mertebeden) diferensiyel denklem”
2x+ 5 denir.Burada y’, y nin türevini; y’’ , y nin 2. mertebeden
b) x²+1 dx belirsiz integralini bulalım.

15 Hasan KORKMAZ- zmir Fen Lisesi Matematik Ö retmeni


Matlab Ders Notları
(n) c) Sonuçların ekranda düzenli görünmesini sa layan
türevini; y’’’, y nin 3. mertebeden türevini; y , y nin n. komutları yazalım.
mertebeden türevini göstermektedir.
Çözüm:
Örne in;
3 2 2 a) dsolve(‘t*Dy-2*y=t^3-2*t+8’)
y=x -5x +2x-4 fonksiyonu ve y’=3x -10x+2 türev
3 b) dsolve(‘t*Dy-2*y=t^3-2*t+8’,’y(1)=-6’)
fonksiyonu xy’-2y=x -2x+8 diferensiyel denklemini
sa lar. c) pretty(dsolve(‘t*Dy-2*y=t^3-2*t+8’,’y(1)=-6’))

Matlab’da böyle bir denklemin genel ve belirli artlara Ekranda a) nın sonucu; t^3-4+2*t+t^2*C1
uyan özel çözümlerini buldurabiliriz.
b) nin sonucu; t^3-4+2*t-5*t^2
Bunun için a a ıdaki kurallara dikkat etmeliyiz.
c) nin sonucu da;
i) Matlab y gibi bir fonksiyonun varsayılan de i kenini x 3 2
de il t olarak kabul etmektedir.Yani diferensiyel t -4+2t-5t
denklemimizi yazarken, serbest de i ken için t biçiminde görülür.
kulanmalıyız.

ii) y’ türev fonksiyonu için Dy, y’’ 2. mertebeden türev


fonksiyonu için D2y, y’’’ 3. mertebeden türev fonksiyonu Örnek 2:
için D3y … yazmalıyız.
2
iii) Matlab denklemleri sembolik olarak x y’’+4xy’+2y=0 diferensiyel denkleminin;
çözümledi inden, denklemleri ve gerekirse özel a) Genel çözümünü bulduran,
de erleri iki ‘ (kesme) arasına yazmalıyız.Birden fazla b) x=1 için y=1 ve x= -2 için y= -5/4 de erini veren özel
ifade yazacaksak ayraç olarak aralara , (virgül) çözümünü bulduran,
koymalıyız. c) x=-1 için y’=1 ve x=2 için y’’=0de erini veren özel
çözümünü bulduran komutları yazalım.
dsolve komutu:
t ba ımsız de i kenine ba lı y gibi bir fonksiyon ve Çözüm:
türevlerinden olu an sembolik ifadeye kar ılık gelen
diferensiyel denkleminin genel ve istenirse tanımlanmı a) pretty(dsolve(‘t^2*D2y+4*t*Dy+2*y=0’))
ilk de erlere kar ılık gelen özel çözümlerini bulmaya
yarar. b) pretty(dsolve(‘t^2*D2y+4*t*Dy+2*y=0’,’y(1)=1’,’y(-2)=-5/4’))

Kullanımı: c) pretty(dsolve(‘t^2*D2y+4*t*Dy+2*y=0’,’Dy(-1)=1’,’D2y(2)=0’))

dsolve(‘diferensiyel denklem’) komutuyla yazılan Ekran Görüntüleri:


diferensiyel denklemin genel çözümünü buluruz. a) C1 C2
---- + ----
dsolve(‘diferensiyel denklem’,’özel de er1’,’özel t 2
de er2’, …) komutuyla yazılan diferensiyel denklemin t
özel de er1, özel de er2, … özel de erlerine kar ılık
gelen özel çözümünü buluruz. b)

Not 1: Sonuçların daha düzenli görüntsünü almak için, 1


dsolve komutundan önce pretty komutunu 2/t - ----
kullanabilirsiniz. 2
t
Not 2: Daha geni açıklama için Matlab’ın komut
satırında; c) 1
>>help dsolve - 3/7 1/t + 2/7 ----
yazıp (Enter) tu una basınız. 2
t
Örnek 1:
3
xy’-2y=x -2x+8 diferensiyel denkleminin; Örnek 3:
a) Genel çözümünü bulduran,
b) x=1 için y= -6 de erini veren özel çözümü bulduran, Y’’’+4y’=48sin4x diferensiyel denkleminin;

a) Genel çözümünü bulduran,


16 Hasan KORKMAZ- zmir Fen Lisesi Matematik Ö retmeni
Matlab Ders Notları

b) x=0 için y=1, x= 0 için y’= 0 ve x= /4 için y’’’=-4 1 ) ki Boyutlu Grafikler (Düzlemde Grafik):
de erini veren özel çözümünü bulduran komutları
yazalım. Bu konuyla ilgili komut ve açıklamaları görmek için
komut satırına help graph2d yazdı ımızda a a ıdaki
Çözüm: bilgiler gelir.
Two dimensional graphs.
a) pretty(dsolve('D3y+4*Dy=48*sin(4*t)')) Elementary X-Y graphs.
plot - Linear plot.
b) pretty(dsolve('D3y+4*Dy=48*sin(4*t)','y(0)=1', loglog - Log-log scale plot.
'Dy(0)=1','D3y(pi/4)=-4')) semilogx - Semi-log scale plot.
semilogy - Semi-log scale plot.
polar - Polar coordinate plot.
Ekran Görüntüleri: plotyy - Graphs with y tick labels on the left and
a) 2 ......
2 cos(2 t) - 1 + C1 + C2 sin(2 t) + C3 cos(2 t) ......

2 Biz bu komutlardan bazılarını görece iz.


b) 2 cos(2 t) - 1/2 + 1/2 sin(2 t) - 1/2 cos(2 t)
a) plot komutu:
Matlab'da plot komutuyla grafik çizdirmek için,
tanımlanan fonksiyonun x de i keninin ba langıç ve biti
Matlab'da Karma ık Sayılarla lemler: de erleri arasındaki her de er için ayrı ayrı hesaplatılan
Matlab'da bir de i keni karma ık sayı olarak atamak grafi e ait (x,y) noktalarının koordinat düzleminde nokta
için; z=a+bi gibi bir e itlik gerekir.Örne in, z=3-4i e itli i ile i aretletmeliyiz.
ile z de i kenine 3-4i karma ık sayısı atanmı olur.
Kullanımı:
Bir karma ık sayı ile ilgili a a ıdaki i lemler yaptırılabilir. de i ken_adı=ilk_de eri:artı _miktarı:son_de eri;
Fonksiyon Açıklama fonksiyon_de i keni=fonksiyon_tanımı;
conj(z) z nin e leni ini verir plot(x,y);
real(z) z nin reel kısmını verir
imag(z) z nin sanal kısmını verir Not 1) plot(x,y) komutu yerine iki noktayı do ru ile
abs(z) z nin mutlak de erini verir birle tiren komut olan line(x,y) komutunu da
angle(z) z nin x ekseniyle yaptı ı açıyı radyan olarak kullanabiliriz.
verir
isreal(z) z nin reel sayı olup olmadı ını sorgular Not 2) plot komutuyla çizdirilen grafi e ait çizgi
özelliklerini de belirtebiliriz.Bunu
Örnek: z1=3+4i;z2=12-5i karma ık sayıları için; plot(x,y,'çizgi_özellikleri',...); veya
a) Ekrana sayıları yazdıran, plot(x,y,'özellik1',de er1,'özellik2',de er2,...);
b) Toplamlarını biçiminde belirtiriz.
c) 3z1-5z2 sayısını
d) Mutlak de erlerini, Buradaki çizgi özellikleri ve de erleri unlardır:
e) E leniklerini, Color: line nesnesinin rengini düzenlemeye yarar.
f) Reel ve sanal kısımlarını buldurup ekrana yazdıran bir LineStyle: Çizgi stilini belirleyen özelliktir.Alabilece i
program yazınız. de erler; -, --, -., :, ve none dir.De eri none olursa çizgi
görünmez.
LineWidth: Çizginin kalınlı ını düzenleyen özelliktir.
Çözüm: Marker: Çizginin i aretini belirleyen özelliktir.Marker ile
clc;z1=3+4i;z2=12-5i; ilgili de erler ve anlamı a a ıdaki tabloda gösterilmi tir.
disp('z1=');disp(z1);
disp('z2=');disp(z2);
disp('z1+z2 = ');disp(z1+z2);
disp('3z1-5z2 = ');disp(3*z1-5*z2); De er Anlamı
disp('|z1|=');disp(abs(z1)); + + i areti
disp('|z2|=');disp(abs(z2)); o daire i areti
disp('z1 in e leni i');disp(conj(z1)); * yıldız i areti
disp('z1 in reel kısmı');disp(real(z1)); . nokta i areti
disp('z1 in sanal kısmı');disp(imag(z1)); x çarpı i areti
disp('z2 nin e leni i');disp(conj(z2)); s kare (square) i areti
disp('z2 nin reel kısmı');disp(real(z2)); d elmas (diamond) i areti
disp('z2 in sanal kısmı');disp(imag(z2)); ^ yukarı gösteren üçgen i areti
v a a ı gösteren üçgen i areti
Matlab'da Grafik llemleri: > sa a do ru gösteren üçgen i areti
17 Hasan KORKMAZ- zmir Fen Lisesi Matematik Ö retmeni
Matlab Ders Notları
< sola do ru gösteren üçgen i areti
p 5 noktalı (pentagon) yıldız i areti
h 6 noktalı (hexagram) yıldız i areti
none i aretsiz

Not 3) Aynı x de erlerine kar ılık birden fazla fonksiyon


tanımlanarak (y1,y2,y3, ... gibi) aynı grafik ekseni
üzerinde çizdirebiliriz.Bunu da;
plot(x,y1,x,y2,x,y3,...); biçiminde belirtiriz.

Örnek:
x=-10, x=10 aralı ında, 0.1 artı la ,y=2x-6 do rusunun
grafi ini çizdiren bir program yazınız.
Örnek:
Çözüm: y=sin(x/3)+cos(x/2) fonksiyonunun grafi ini;x de erleri
x=-10:0.1:10; 0.1 artı la;
y=2*x-6;plot(x,y); a) [-10, 10] aralı ında;
b) Fonksiyonun peyodu T ise, [-T,T] aralı ında grafi ini
Örnek: çizdirelim;
x=-10, x=10 aralı ında, 0.01 artı la, Çözüm:
3 2 a) x=-10:0.1:10;y=sin(x./3)+cos(x./2); plot(x,y);
y=x - 5x + 7x + 13 fonksiyonunun grafi ini çizdiren
Grafi i a a ıdaki gibidir.
bir program yazınız.
Çözüm:
x=-10:0.01:10;y=x.^3-5*x.^2+7*x+13;plot(x,y);
Grafik a a ıdaki gibidir:

b) Fonksiyonun periyodu; T=OKEK(6 ;4 )=12 dir.Buna


göre komut satırına a a ıdaki ifadeleri yazmalıyız:
x=-12*pi:0.1:12*pi;y=sin(x./3)+cos(x./2);plot(x,y);
Grafi i a a ıdaki gibidir.
Örnek:
x de erleri (tanım kümesi) [0, 2 ] aralı ı olan f(x)=sinx
ile g(x)=cosx fonksiyonlarının grafiklerini aynı koordinat
düzleminde, tek komutla çizdirelim.Öyle ki;
a) f(x) in rengi kırmızı, g(x)in rengi mavi olsun
b) f(x) in rengi kırmızı, çizgi stili :, noktaların biçimi +,
g(x) in rengi siyah, çizgi stili --, noktaların biçimi elmas
ve çizgi kalınlıkları 2 er birim olsun.

Çözüm:
x=0:0.1:2*pi;f=sin(x);g=cos(x);
a) plot(x,f,'r',x,g,'b');
b) plot(x,f,'r:+',x,g,'black--d','linewidth',2);
Grafi i a a ıda verilmi tir: b) loglog, semilogx, semilogy komutları:
1) Bir fonksiyonun grafi ini çizdirdi imizde x ve y nin
aralı ı çok geni oldu unda hem x de erlerini, hem de y
de erlerini logaritmik artı la tanımlayabilirizBu durumda
grafi i loglog(x,y) komutunu kullanırız.

2) x de erleri, y de erlerine göre çok geni bir aralıkta


ise sadece x de er aralı ını logaritmik artı la
tanımlayarak grafi i çizdirebilirz.Bu durumda
semilogx(x,y) komutunu kullanırız.

18 Hasan KORKMAZ- zmir Fen Lisesi Matematik Ö retmeni


Matlab Ders Notları

3) y de erleri, x de erlerine göre çok geni bir aralıkta


ise sadece y de er aralı ını logaritmik artı la
tanımlayarak grafi i çizdirebilirz.Bu durumda
semilogy(x,y) komutunu kullanırız.

Örnek: x de erleri -1000 ile 1000 arasında olmak üzere


3
y = x + 3x -5 fonksiyonun grafi ini a) Normal b) x ve y
de erleri logaritmik artı la c) Sadece x de erleri
logaritmik artı la d) Sadece y de erleri logaritmik artı la
çizdirelim.

Çözüm: x=-1000:0.1:1000; hold Fonksiyonu ve Kullanımı:


a) y=x.^3+3*x-5;plot(x,y); Bazen aynı eksende iki grafik üstüste çizdirerek iki
graffi in birbirine göre durumlarını incelemek
isteyebiliriz. te bu durumda hold fonksiyonu
kullanılabilir.

Örnek:
[0,10 ] aralı ında; f(x)=sin(x) fonksiyonu ile
g(x)=xsin(x/2)cos(x/5) fonksiyonunun grafiklerini aynı
koordinat düzleminde çizdirelim.

Çözüm:
x=0:0.1:10*pi;y1=sin(x);y2=x.*sin(x./2).*cos(x./5);
plot(x,y1);hold;plot(x,y2);
Grafi i a a ıda verilmi tir.
b) y=x.^3+3*x-5;loglog(x,y);

c) plotyy Fonksiyonu:
c) y=x.^3+3*x-5;semilogx(x,y); Bazen sayısal aralıkları farklı iki fonksiyonu aynı eksen
üzerinde görüntüledi imizde, birinin aldı ı de erler,
di erine nazaran çok küçük oldu undan tam olarak
ayırdedilemez.Bu durumda iki grafi i plotyy komutuyla
çizdirdi imizde grafi i daha ayrıntılı ve net görebilirz.

Kullanımı:
plotyy(ortak_aralık,fonk1,ortak_aralık,fonk2);

Örnek:
[0, 6 ] aralı ında, f(x)=2x²-10x+5 ile g(x)=cos(x/3)
fonksiyonlarını aynı grafik ekseninde;
a) Normal olarak b) g(x) fonksiyonunu daha belirgin
olarak çizdirelim.

Çözüm:
c) y=x.^3+3*x-5;semilogy(x,y); x=0:0.1:6*pi;f=2.*x.^2-10*x+5;g=cos(x./3);
a) plot(x,f);hold;plot(x,g);
Grafik a a ıda verilmi tir.

19 Hasan KORKMAZ- zmir Fen Lisesi Matematik Ö retmeni


Matlab Ders Notları

b) plotyy(x,f,x,g); 2 ) Üç Boyutlu Grafikler (Uzayda Grafik):


Grafik a a ıda verilmi tir.
Bu konuyla ilgili komut ve açıklamaları görmek için
komut satırına help graph3d yazdı ımızda a a ıdaki
bilgiler gelir.

Three dimensional graphs.

Elementary 3-D plots.


plot3 - Plot lines and points in 3-D space.
mesh - 3-D mesh surface.
surf - 3-D colored surface.
fill3 - Filled 3-D polygons.
....
....
d) polar Fonksiyonu: Biz bu komutlardan bazılarını görece iz.
Kutupsal koordinatlarla verilen bir fonksiyonun grafi ini
çizmeye yarar. a) plot3 Fonksiyonu:
Uzayda (x,yz) koordinatları ile belirli vektörün (vektöre
Kullanımı: kar ılık gelen uç noktasının) grafi ini çizer.
polar(t,r); plot fonksiyonuna benzer biçimde kullanılır.
Not: Komuttaki t açısı grafi e ait noktaya kar ılık gelen
vektörün Ox ekseniyle yaptı ı açıyı, r de bu vektörün Kullanımı:
uzunlu unu belirtir. plot3(x,y,z);
plot3(x,y,z,'Çizgi özellikleri',...);
Örnek: t açısının de er aralı ı [0,10 ] olmak üzere; plot3(x,y,z,'özellik1',de er1,'özellik2',de er2,...);
a) r1=sin(t) b) r2=tsin(t)cos(t) fonksiyonlarının biçimindedir.
grafiklerini çizdirelim.
Not 1) plot3 komutunu uyguladı ımızda, ilgili grafik
Çözüm: Figure ( ekil) penceresinde olu ur.Grafi i daha iyi
t=0:0.1:10*pi; inceleyebilmek için örne in grafik derinli ini
a) r1=sin(t);polar(t,r1); algılayabilmek için grafi i bir kutu (prizma) içine
Grafik a a ıda verilmi tir. alabiliriz.Bunun için komut satırına box on; komutunu
girmeliyiz, kutuyu kaldırmak istedi imizde de box off
komutunu kullanırız.

Not 2) Ayrıca grafikle ilgili ayarlamalar için; ekil


penceresinin üstündeki araçlardan faydalanabiliriz.Bu
araçlar a a ıda gösterilmi tir:

Grafi i Büyütme Aracı: Bu aracı tıkladıktan sonra,


grafik penceresine her tıklanı ta grafik bize do ru
yakla arak büyür.

Grafi i Küçültme Aracı: Bu aracı tıkladıktan sonra,


grafik penceresine her tıklanı ta grafik bizden
uzakla arak küçülür.
b) r2=t.*sin(t).*cos(t);polar(t,r2);
Grafik a a ıda verilmi tir. Grafi i Döndürme Aracı: Bu aracı tıkladıktan sonra,
grafik penceresinin kö elerine yakın bir yerden tutularak
20 Hasan KORKMAZ- zmir Fen Lisesi Matematik Ö retmeni
Matlab Ders Notları
(farenin sol tu u basılarak) istedi imiz kadar istenen bölgenin x koordinatları bir diziye (örne in x
döndürebiliriz. dizisine), y koordinatları bir diziye (örne in y dizisine)
atanır.Ardından [X,Y]=meshgrid(x,y); komutunu
Not 3) Ayrıca üç boyutlu koordinat sistemine, incelemeyi uygulayarak (x ile X in ve y ile Y nin farklı oldu una
daha rahat yapabilmek için ızgara çizgileri de dikkat edin!) ilgili bölgenin koordinatları X ve Y dizilerine
koyabiliriz.Bunun için komut satırına gird on; komutunu atanmı olur.Daha sonra X ve Y matrislerine ba lı
yazarız.Izgarayı kaldırmak için de gird off; komutu Z=f(X,Y); gibi bir matris elde edebiliriz. te bu Z
uygulanır. fonksiyonu, üç boyutlu uzayda bir yüzey belirler, örne in
Z fonksiyonu X ve Y ye ba lı birinci dereceden bir
Örnek: fonksiyonsa bir düzlem, daha yüksek dereceden veya
a) (-3,5,8) noktasının grafi ini çizdiren (noktayı trigonometrik, üstel ... gibi fonksiyonlardan olu an bir
i aretleyen), fonksiyon ise bir yüzey belirler.Bu fonksiyonun grafi ini
b) x de erleri 1 den 10 kadar 1 er artan bir dizide, çizdirebiliriz.: Bunun için;
y de erleri 5 den 50 ye kadar 5 er artan birer dizi olmak surf(Z) ile ilgili bölgenin üç boyutlu yüzey grafi ini,
üzere; z de erleri de x dizisinin elemanlarının 2 katından surface(Z) ile bölgenin iki boyutlu grafi ini ,
y dizisinin de erlerinin 3 katının çıkarılmasıyla mesh(Z) ile fonksiyonun tanımladı ı yüzeyin a grafi ini
olu turalım.Bu durumda belirlenen (x,y,z) noktalarından contour(Z) ile de fonksiyonun tanımladı ı yüzeyin
olu an grafi i çizdirelim. seviye grafi ini çizdirebilirz.
c) b) ıkkında tanımlanan grafi in çizgi rengini sarı, çizgi
stilini -., çizgi noktalarının (marker) i aretini *, marker Örnek: xOy düzleminde;
kalınlı ını 2 birim yapalım. yatay olarak, [0 .. 10] bölgesini 0.1 er artımlı x dizisine;
Çözüm: dü ey olarak, [0 .. 8] bölgesini 0.2 er artımlı y dizisine
a) plot3(-3,5,8); atayalım.Daha sonra, bu dizileri [X,Y] koordinat
b) x=1:10;y=5:5:50;z=2*x-3*y;plot3(x,y,z); matrisine atayalım.
c) x=1:10;y=5:5:50;z=2*x-3*y;plot3(x,y,z,'y- a) Z=X+Y matrisine kar ılık gelen fonksiyonun
.*','linewidth',2); i) iki boyutlu düzlem grafi ini,
ii) üç boyutlu düzlem grafi ini,
Örnek: iii) yüzey a grafi ini,
Açı ölçüleri [0, 10 ] aralı ında 0.1 er artı la elde edilen iv) yüzey seviye grafi ini çizdirelim.
de erleri x dizisine, bu de erlerin sinüslerini y dizisine , b) P=X.^2+Y.^2 matrisine kar ılık gelen fonksiyonun
kosinüslerini de z dizisine atayalım.Bu durumda elde i) iki boyutlu düzlem grafi ini,
edilen (x,y,z) üçlülerinin grafi ini çizdirelim.Grafik ii) üç boyutlu düzlem grafi ini,
penceresini hem kutu içine alalım hem de grafik ızgara iii) yüzey a grafi ini,
çizgilerini koyalım. iv) yüzey seviye grafi ini çizdirelim.
c) Q=sin(X./2)+cos(Y./3) matrisine kar ılık gelen
Çözüm: fonksiyonun
x=[0:0.1:10*pi];y=sin(x);z=cos(x); i) iki boyutlu düzlem grafi ini,
plot3(x,y,z);box on;grid on; ii) üç boyutlu düzlem grafi ini,
Buna göre grafik a a ıdaki gibi olacaktır. iii) yüzey a grafi ini,
iv) yüzey seviye grafi ini çizdirelim.
Çözüm:
x=[0:0.1:10];y=[0:0.2:8];[X,Y]=meshgrid(x,y);
Z=X+Y;P=X.^2+Y.^2;Q=sin(X./2)+cos(Y./3);
a) i)surface(Z); ii) surf(Z); iii) mesh(Z); iv) contour(Z);
Grafikler a a ıda verilmitir.

b) Yüzey Grafikleri:
ki Boyutlu Düzlemin Koordinatlarını Tanımlayan
Matris ve meshgrid Fonksiyonu ve Yüzey Grafi i:
Üç boyutlu uzayda, örne in xOy düzleminde belirli bir
dikdörtgen biçimindeki alanın, yatay ve dü ey çizgilerle
(grid line) daha küçük dikdörtgensel bölgelere ayrıldı ını
varsayalım. te bu çizgilerin kesim noktalarının
koordinatları, grafik çiziminde gerekli olacaktır.Bu
koordinatları tutan matris meshgrid fonksiyonu
yardımıyla elde edilir.Bunun için; önce tanımlanmak
21 Hasan KORKMAZ- zmir Fen Lisesi Matematik Ö retmeni
Matlab Ders Notları
grafi i; surf(z) ile z nin yüzey grafi i, mesh(z) ile a
grafi i , contour(z) ile yüzey seviye grafi i çizdirilebilir.

Örnek:
a) 30x30 boyutlarındaki bir kare matrisi z dizisine
atayalım,
b) z matrisinin iki boyutlu alan grafi ini,
c) z matrisinin üç boyutlu yüzey grafi ini,
d) z matrisinin üç boyutlu yüzeyinin a grafi ini,
e) z matrisinin üç boyutlu yüzey seviye grafi ini
b) i)surface(P); ii) surf(P); iii) mesh(P); iv) contour(P); çizdirelim.
Grafikler a a ıda verilmitir.
Çözüm:
a) z=peaks(30) b) surface(z) c) surf(z)
d) mesh(z) e) contour(z) Grafikler a a ıda verilmi tir:

c) i)surface(Q); ii) surf(Q); iii) mesh(Q); iv) contour(Q);


Grafikler a a ıda verilmitir.

Not 1) Belirlenen yüzeyin rengi Matlab tarafından


otomatik olarak belirlenir.Ancak bu renkten ba ka
Matlabın hazır yüzey renk haritalarından birisi ile de
boyanabilir.Bu renk haritaları unlardır:

Color maps.
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.
peaks Fonksiyonu le Kare Matris Olu turma: cool - Shades of cyan and magenta color map.
nxn lik bir kare matris olu turan fonksiyon peaks autumn - Shades of red and yellow color map.
dir.Kullanımı peaks(n) biçimindedir.Bu matrisi spring - Shades of magenta and yellow color map.
olu tururken x ve y koordinatlarıyla ilgili winter - Shades of blue and green color map.
3*(1-x).^2.*exp(-(x.^2) - (y+1).^2) - 10*(x/5 - x.^3 - summer - Shades of green and yellow color map.
y.^5).*exp(-x.^2-y.^2) - 1/3*exp(-(x+1).^2 - y.^2) Aktif penceredeki yüzeyin rengini bone (kemik rengi) ile
fonksiyon kullanılır. boyamak için, komut satırına; colormap(bone); komutu
Bu matrisi z gibi bir matris de i kenine z=peaks(n); yazılmalıdır.
komutuyla atayıp z matrisi ile ilgili grafikler
çizdirilebilr.Örne in; surface(z) ile z nin iki boyutlu alan

22 Hasan KORKMAZ- zmir Fen Lisesi Matematik Ö retmeni


Matlab Ders Notları
Not 2) stersek belirlenen yüzeyi, istedi imiz bir resmin
renkleri ile boyayabiliriz (ba ka bir deyi le yüzeye resmi
giydirebiliriz).Bunun için a a ıdaki adımları takip
edebiliriz:
a) Yüzeyin tutamacını bir de i kene atarız.
Örne in yuzey=surf(peaks(40)); gibi.
b) stedi imiz bir resim dosyasının renk bilgisini bir diziye
atarız.
Örne in, renk=imread('bayrak.jpg'); gib.
c) Yuzey tutamacınaın Cdata özelli ine istedi imiz renk
bilgisini koyarız.
Örne in; set(yuzey,'cdata',renk); gibi.Ancak bu
komuttan sonra, dizil boyutlarının uyu madı ı gibilerden
bazı hata mesajları gelir, bunlara kulak asmayın :)
d) Son olarak ta yüzeyin FaceColor özelli ine
textturemap yaparız
Örne in set(yuzey,'facecolor','texturemap'); gibi.

Örnek:
a) 40x40 boyutlarında peaks fonksiyonu ile tutamac adı
yuzey olan lu turulan yüzey nesnesini olu turalım.
b) Yüzeyi prism adlı renk haritası ile boyayalım.
c) Yüzeye start.jpg adlı resmi giydirelim.

Çözüm:
a) yuzey=surf(peaks(40));
Grafik a a ıdaki gibidir:

Yukarıdaki resmin yüzeye giydirilmi durumu a a ıda


görülüyor.

b) yuzey=surf(peaks(40));colormap(prism);

Bazı Özel Garfik Fonksiyonları:


Matlab'da daha bir çok grafik fonksiyonları vardır.Bunları
görmek ve kullanımları hakkında bilgi almak için komut
satırında help specgraph yazabiliriz.

Specialized graphs.
Specialized 2-D graphs.
area - Filled area plot.
bar - Bar graph.
c) yuzey=surf(peaks(40));renk=imread('start.jpg');
barh - Horizontal bar graph.
set(yuzey,'cdata',renk);
comet - Comet-like trajectory.
set(yuzey,'facecolor','texturemap');
compass - Compass plot.
errorbar - Error bar plot.
A a ıdaki resim, start.jpg adlı dosyaya aittir.
ezplot - Easy to use function plotter.
ezpolar - Easy to use polar coordinate plotter.
feather - Feather plot.
fill - Filled 2-D polygons.
fplot - Plot function.
23 Hasan KORKMAZ- zmir Fen Lisesi Matematik Ö retmeni
Matlab Ders Notları
hist - Histogram. ymin y de erlerinin ba langıç de eri,
pareto - Pareto chart. ymax y de erlerinin biti de eridir.
pie - Pie chart.
plotmatrix - Scatter plot matrix. Örnek:
rose - Angle histogram plot. 3
scatter - Scatter plot. x - 4x
stem - Discrete sequence or "stem" plot. y = x²-2x-3 fonksiyonunun grafi ini ezplot fonksiyonu ile
stairs - Stairstep plot. grafi ini;
a) Normal olarak b) x de erleri [-5, 10] aralı ında
Contour and 2-1/2 D graphs. c) x de erlerini [-5, 5] aralı ında, y de erlerini [-10, 30]
contour - Contour plot. aralı ında çizdirelim.
contourf - Filled contour plot.
contour3 - 3-D Contour plot. Çözüm:
clabel - Contour plot elevation labels. a) ezplot('y-(x^3-4*x)/(x^2-2*x-3)'); grafi i a a ıda
ezcontour - Easy to use contour plotter. verilmi tir.
ezcontourf - Easy to use filled contour plotter.
pcolor - Pseudocolor (checkerboard) plot.
voronoi - Voronoi diagram.

Specialized 3-D graphs.


bar3 - 3-D bar graph.
bar3h - Horizontal 3-D bar graph.
comet3 - 3-D comet-like trajectories.
ezgraph3 - General purpose surface plotter.
ezmesh - Easy to use 3-D mesh plotter.
ezmeshc - Easy to use combination mesh/contour
plotter.
ezplot3 - Easy to use 3-D parametric curve plotter.
ezsurf - Easy to use 3-D colored surface plotter. b) ezplot('y-(x^3-4*x)/(x^2-2*x-3)',[-5 10]); grafi i
ezsurfc - Easy to use combination surf/contour a a ıda verilmi tir.
plotter.
meshc - Combination mesh/contour plot.
meshz - 3-D mesh with curtain.
pie3 - 3-D pie chart.
ribbon - Draw 2-D lines as ribbons in 3-D.
scatter3 - 3-D scatter plot.
stem3 - 3-D stem plot.
surfc - Combination surf/contour plot.
trisurf - Triangular surface plot.
trimesh - Triangular mesh plot.
waterfall - Waterfall plot.
Solid modeling.
cylinder - Generate cylinder.
sphere - Generate sphere.
ellipsoid - Generate ellipsoid.
patch - Create patch. c) ezplot('y-(x^3-4*x)/(x^2-2*x-3)',[-5 5 -10 30); grafi i
surf2patch - Convert surface data to patch data. a a ıda verilmi tir.
.....
Bunların hepsini açıklamaya gerek yok, ancak bazılarını
görelim:

Ezplot Fonksiyonu:
Matlab'ın en güçlü fonksiyonlarından biridir.Bu grafik
fonksiyon; metin olarak girilen f(x,y)=0 biçimindeki
kapalı fonksiyon grafiklerini çizdirmeye yarar.

Kullanımı:
ezplot('kapalı fonksiyon ifadesi'); veya
ezplot('kapalı fonksiyon ifadesi',[xmin xmax]); veya
ezplot('kapalı fonksiyon ifadesi',[xmin xmax ymin ymax]);
biçiminde kullanılabilir.Burada Örnek:
xmin x de erlerinin ba langıç de eri, x²siny+y²sinx=3 ba ıntısının grafi ini x ve y de erlerinin
xmax x de erlerinin biti de eri, her ikisi de [-20, 20] aralı ında çizdirelim.

24 Hasan KORKMAZ- zmir Fen Lisesi Matematik Ö retmeni


Matlab Ders Notları

Çözüm:ezplot('x^2*sin(y)+y^2*sin(x)-3',[-20 20 -20 20]);


grafi i a a ıda verilmi tir.

cylinder Fonksiyonu:
Silindir çizdirmeye yarayan fonksiyondur.

Ezplot3 Fonksiyonu: Kullanımı: cylinder; veya cylinder(r,n); biçimindedir.


Bu da metin olarak girilen f(x,y,z)=0 biçimindeki kapalı
fonksiyon grafiklerini üç boyutlu uzayda çizdirmeye Not 1) Buradaki r silindirin çapı, n de silindiri olu turan
yarar.Burada x, y ve z vektörleri t gibi bir parametreye yüzey sayısıdır.varsayılan n de eri 20 dir.
ba lı birer fonksiyonlardır.Yani, x=f(t), y=g(t) ve z=h(t) Not 2) n de erini küçük alırsak, örne in 5, 10 gibi silindir
gibi birer fonksiyondur. pirizmaya dönü ür.
Örnek:
Kullanımı: a) Normal varsayılan de erlerle bir siliindir
ezplot3('f(t)','g(t)','h(t)'); veya b) Taban çapı 3 birim , yüzey sayısı 50 olan bir silindir;
ezplot3('f(t)','g(t)','h(t)',[tmin tmax]); c) Taban çapı 7 birim olan bir üçgen pirizmayı, hsv renk
haritasıyla boyayarak çizdirelim.
Not 1) Burada tmin t parametresinin ba langıç de eri, Çözüm: a) cylinder;
tmax t parametresinin biti de eridir.
Not 2) tmax ve tmin de erleri belirtilmezse Matlab bunu
[0 2 ] olarak alır.
x
Örnek:x=sin(t), y=e ve z=t.cost parametrik
denklemleriyle verilen üç boyutlu e rinin grafi ini ;
a) Normal varsayılan aralıkta
b) t de erleri [-10 , 10 ] aralı ında çizdirelim.

a)
ezplot3('sin(t)','exp(t)','t*cos(t)');

b) cylinder(3,50);

b)
ezplot3('sin(t)','exp(t)','t*cos(t)',[-10*pi 10*pi]);
c) cylinder(7,3);colormap(hsv);

25 Hasan KORKMAZ- zmir Fen Lisesi Matematik Ö retmeni


Matlab Ders Notları
Örnek: Kullanıcının girdi i bir x sayısının, istedi i
fonksiyon altındaki görüntüsünü (de erini) hesaplatan bir
program yazalım.

Çözüm:
clc;x=input('Sayıyı gir :');
y=input('Fonksiyonu gir f(x)=','s');y=eval(y);
fprintf('f(%d) = %d',x,y);
Örnek: x de erleri -5 ile 15 aralı ında, 0.1 er artı la
tanımlanan sayı aralı ında olan, kullanıcının istedi i bir
fonksiyonun grafi ini çizdiren bir program yazalım.

Çözüm:
sphere Fonksiyonu: x=[-5:0.1:10];
1 birim yarıçapında bir küre çizdirmeye yarayan ifade=input('Fonksiyonu gir f(x)=','s');
fonksiyondur. y=eval(ifade);
Kullanımı: sphere; veya sphere(n); plot(x,y);

Not: Buradaki n sayısı küre yüzeyini olu turan yüzeylerin Örnek: x de erleri kullanıcının belirledi i bir aralıkta olan
sayısıdır varsayılan de eri 20 dir. ve kullanıcının istedi i bir fonksiyonun grafi ini çizdiren
Örnek: a) varsayılan de erlerde bir küre; b) Yüzeyini bir program yazalım.
olu turan parçaların sayısı 70 olan bir küre çizdirelim.
Çözüm:
Çözüm: a)sphere; clc;x=input('x aralı ını gir :','s');x=eval(x);
y=input('Fonksiyonu gir f(x)=','s');y=eval(y);
plot(x,y);
"....
Grafik Nesneleri ve Grafiksel Arabirim le
Programalama:
Matlab'da grafiksel i lemler, grafik nesneleri ile
yapılır.Grafik nesneleri ve arasındaki hiyerar i a a ıdaki
gibidir:

I. Root(Kök)
II.Figure ( ekil)
a) Axes(Eksen)
1. Image (Resim)
2. Light (I ık)
3. Line (Çizgi)
b) sphere(70); 4. Patch (Yama)
5. Rectangle (Dikdörtgen)
6. Surface (Yüzey)
7. Text (Metin)
b) Uicontrol (Kontrol)
c) Uimenu (Menü)
d) Uicontextmenu (Kısayol menüsü)
Bu nesneler bir hiyerar i içerisinde birbirlerine ba ımlı
olarak olu turulabilirler.Örne in, grafik kullanıcı arabirimi
olu turmak istedi imizde, dü me, liste kutusu, onay
kutusu ... gibi (uicontrol) kontrol nesnelerini bir
(figure) ekil penceresi üzerine yerle tirebilirsiniz.Bu
durumda ekil penceresi, kontrol nesnelerinin (parent)
ebeveyni iken, kontrol nesneleri de ekil penceresinin
(children) çocuklarıdır.
eval Fonksiyonu ve Kullanımı: Grafik nesnelerini görmek, düzenlemek için ; komut
Matlab'da kuulanıcının metin olarak girdi i ifadeyi, satırında guide yazarak veya File>New>GUI sekmesi
yorumlayarak hesaplanacak fonksiyon biçimine getiren tıklanırsa; kar ımıza a a ıdaki GUI (Grafiksel Arabirim)
fonksiyon eval fonksiyonudur. penceresi gelir.
Bu arabirim penceresinde a a ıdaki, uicontrol
Kullanımı: nesnelerini olu turabiliriz.
de i ken=eval('hesaplatılacak-fonksiyon-metni') a) pushbutton (komut dü mesi)
b) togglebutton (açma-kapama dü mesi)
c) radiobutton (radyo dü mesi)

26 Hasan KORKMAZ- zmir Fen Lisesi Matematik Ö retmeni


Matlab Ders Notları
d) chekbox (onay kutusu) delete(yazi)
e) edit (metin düzenleme kutusu) delete(eksen)
f) text (sabit metin kutusu) Grafik Nesneleri ve Özellikleri:
g) listbox (liste kutusu) 1. root Nesnesi
h) popupmenu (açılır liste kutusu) Matlab'da hiyerar inin en tepesinde olan nesnesidir.Bu
ı) slider (kaydırma çubu u) nesne Matlab'ı çalı tırdı ımızda otomatik olarak olu ur.
i) frame (çerçeve) Bu nedenle root nesnesinin tutamacı (handle) yani
cc tanımlayıcı sayısı daima 0 dır.Bu nesne ekranımızın
çözünürlü ü, boyutu, o anda açık bulunan pencerelerinin
Bazı Grafik leme Fonksiyonları: (children) tanımlayıcı sayıları, farenin ekrandaki
konumunu ve Matlab komut penceresi gibi bir çok ayarı
a) Bir Nesnenin Özelliklerini Elde Etme: get tutan bir nesnedir.
Kullanımı: get(nesne_tanımlayıcı,'özellik_adı'); Örnek:
a) root nesnesinin tüm özelliklerini ve o andaki ayarlarını
Örnek: resim adlı bir figure nesnesi olu turup bu görüntülemek için;
nesnenin units (birim) özelli ini elde edelim. b) root nesnesinin tüm özelliklerini ve olası ayarları nı
görüntülemek için komut satırına hangi komut
Çözüm: yazılmalıdır?
resim=figure; (enter)
get(resim,'units') (enter) tu una basıldı ında ekranda; Çözüm: a) get(0) b) set(0)
ans =
pixels root Nesnesinin Bazı Özellikleri:
görülür.Bunun da resim adlı figure nesnesinin units CurrentFigure Aktif olan pencere tutamacını tutan
özelli inin, pixel oldu u anla ılır. özelliktir.
Format: Komut satırında sayıların nasıl görünmesi
b) Bir Nesnenin Özelliklerini De i tirme: set gerekti ini belirleyen özelliktir.
Kullanımı: FormatSpacing: Komut satırında satırlar arası
set(nesne_tanımlayıcı,'özellik_adı','yeni_de er'); bo lukları tutan özelliktir.De eri loose veya compact
veya olabilir, loose de eri verilirse satır aralrı bo luklar
set(nesne_tanımlayıcı,'özellik_adı1','yeni_de er1', bulunur, compact de eri verilirse bo luk olmaz.
'özellik_adı2','yeni_de er2,..., Language: letim sisteminin bölgesel ayarlardaki
'özellik_adıN','yeni_de erN); tanımlanan dili tutan özelliktir.
PointerLocation: Farenin ekrandaki o andaki
Örnek: Bir önceki örnekteki resim adlı figure nesnesinin konumunu tutan özelliktir.
units özelli ini centimeters yapan komutu yazalım. Units: Uzunluk ve konum bilgilerinin birimini tutan
özelliktir, centimeters, pixels , inches, characters ... gibi
Çözüm: de erler alabilir.
set(resim,'units','centimeters') Tag: stenen herhangi bir metni tutmaya yarayan
kullanıcıya ayrılmı bir özelliktir.
Örnek: UserData: stenen bir veriyi (dizi, hücre, yapı, sınıf vs.)
Bir önceki resim adlı figure nesnesinin pozisyonunu, sol tutmaya yarayan kullanıcıya ayrılmı bir özelliktir.
alt kö esinin, ekranın sol alt kö esinden yatay olarak 1
cm, dü ey olarak 2 cm uzaklıkta, yatay uzunlu unun 10 Örnek:
cm dü ey uzunlu u 7 cm olarak belirleyelim.Resim adlı Komut satırında sayıların a) Noktadan sonra 4
pencerenin zemin renginin RGB renklerini 0.6 0.7 0.8 basamaklı (tek hassasiyetli) b) Noktadan sonra 14
oranında olmasını (açık mavi) ve pencerenin ismini basamaklı (çift hassasiyetli) c) Rasyonel (kesir) olarak
' ekil Penceresi' olmasını sa layalım. görünmelerini sa layan komuları yazalım.

Çözüm: Çözüm: a) set(0,'format','short') b) set(0,'format','long')


set(resim,'position',[1 2 10 7], c) set(0,'format','rational')
'color',[0.6 0.7 0.8],'name',' ekil Penceresi')
Örnek: Ekran üzerindeki uzunluk birimini a) bildiren
c) Bir Nesneyi Silmek: delete b) cm c) pixel olarak düzenleyen komutu yazalım.
Kullanımı: delete(nesne_tanımlayıcı)
Çözüm: a) get(0,'units') b) set(0,'units','centimeters')
Örnek: Bir figure penceresinde adı eksen olan bir eksen c) set(0,'units','pixels')
nesnesi ve yazi adında üzerinde Deneme yazan bir text
nesnesi açıp sonra bunları teker teker silen komutları Örnek: Farenin ekrandaki konumunu a) bildiren
yazalım. b) Ekranın sol alt kö esinden yatay olarak 3 cm sa ,
Çözüm: dü ey olarak 5 cm cm yukarıda olmasını sa layan
eksen=axes komutu yazalım.
yazi=uicontrol('style','text','string','Deneme')
imdi de teker teker silelim: Çözüm: a) get(0,'pointerlocation')

27 Hasan KORKMAZ- zmir Fen Lisesi Matematik Ö retmeni


Matlab Ders Notları
b) set(0,'units','centimeters');set(0,'pointerlocation',[3 5]); Callback: Kontrol dü mesinin fare ile tıklandı ında
tetiklenecek geri ça ırmalı fonksiyonu belirleyen
2. figure Nesnesi ve Özellikleri: özelliktir.
Programların grafik arabirimlerini, verilerin CData: Komut dü mesi ya da açma-kapama dü mesi
görselle tirilme i lemlerinin üzerinde yapmayı sa layan üzerinde görüntülenebilecek gerçek renklerden olu an
ekil penceresi nesnesidir. resmi tanımlayan bir matristir.
Enable: Kontrolün kullanılıp-kullanılamayaca ını
figure Nesnesinin Bazı Özellikleri: belirleyen özelliktir.De eri on ise dü me kullanılabilir ve
Children: ekil penceresinin çocuk (axes, uicontrol, normal renktedir, off ise dü me kullanılamaz ve rengi
uimenu, uicontextmenu gibi) nesnelerinin tutamaçlarını siliktir, inactive ise dü me yine kullanılamaz fakat rengi
tutan dizidir. normaldir.
Color: ekil penceresinin zemin rengini düzenlemeye FontAngle: Nesnenin string özelli inin tutu u yazı
yarayan 1x3 boyutlu bir dizidir.Dizinin elemanları yerine biçimini düzenlemeye yarayan özelliktir, .normal,italic
0 ile 1 arasında de i en reel sayılar yazılabilir ki bu veya oblique de erlerini alabilir.
de erler tanımlanan rengin RGB renk oranlarını FontName: Nesnenin string özelli inin tutu u yazı
gösterir.[0 0 0] de eri siyah rengi, [1 1 1] de eri beyaz fontunu düzenlemeye yarayan özelliktir..
rengi, [1 0 0] de eri kırmızıyı, [0 1 0] de eri ye ili, [0 0 1] FontSize: Nesnenin string özelli inin tutu u yazı tipi
de eri maviyi, [0.6 0.7 0.8] de eri açık maviyi belirtir. boyutunu düzenlemeye yarayan özelliktir.
Menubar: ekil penceresinin üst tarafında bulunan FontUnits:.Fontsize özelli i ile belirlenen yazıtipi
standart menüleri kapatıp-açmaya yarar. büyüklü ünü birimini belirlemeye yarayan
Name: ekil penceresi üstündeki ba lı ı düzenlemeye özelliktir.De eri centimeters, inch, points veya
yarayan özelliktir. normalized olabilir.
NextPlot: Grafik i lemleri aktif pencere üzerinde nasıl FontWeight: Nesnenin string özelli inin tutu u yazı
gerçekle ece ini belirleyen özelliktir.De eri add, tipinin a ırlı ını düzenlemeye yarayan özelliktir.normal,
replace veya replacechildren olabilir bold veya light olabilir
NumberTitle:. ekil penceresinin üst bölümündeki ekil ForeGroundColor: Nesnenin string özelli inin tutu u
penceresi numarasının görünüp görünmemesini yazının rengini (RGB) tutan 1x3 boyutunda bir diziyi
sa layan özelliktir.De eri off yaparak numaranın belirlemeye yarar.
görünmemesi, on yaparak görünmesi sa lanır. HorizontalAlignment: Metin kutusu ve statik metin
Pointer: Pencere üzerine geldi inde, farenin biçimini nesnelerinin etiket metnini hizalamaya yarayan
belirleyen özelliktir.Bu de erler crosshair , fullcrosshair , özelliktir.left, right veya center de erlerini alabilir.
arrow, ibeam , watch ,right,bottom, circle , cross gibi Position: Nesnenin ekil penceresi üzerindeki
olabilir. pozisyonunu belirleyen 1x4 boyutlu bir diziyi
Position: ekil penceresinin ekran üzerindeki düzenlemeye yarayan özelliktir.
konumunu belirleyen 1x4 boyutlu bir diziyi düzenleyen String: Nesnenin üzerinde bulunması gereken yazıyı
özelliktir. düzenlemeye yarayan özelliktir.
Resize: ekil penceresinin boyutlarını de i tirmeye Style: Kontrol nesnesinin tipini belirleyen özelliktir.
yarayan özelliktir.De eri on olursa ekil penceresi De eri pushbutton oldu unda nesne komut dü mesi,
boyutları de i tirilebilir, off olursa de i tirilemez. togglebutton oldu unda nesne açma-kapama dü mesi,
Units: ekil penceresinin uzunluk ve konum bilgilerinin radiobutton oldu unda nesne radyo dü mesi,
birimini tutan özelliktir, centimeters, pixels , inches, chekbox oldu unda nesne onay kutusu,
characters ... gibi de erler alabilir. edit oldu unda nesne metin düzenleme kutusu,
text oldu unda nesne sabit metin kutusu,
3. uicontrol Nesnesi listbox oldu unda nesne liste kutusu,
Bir ekil penceresi üzerinde kullanıcı ile ileti im popupmenu oldu unda nesne açılır liste kutusu,
sa layacak bazı nesneler olu turmaya ve düzenlemeye slider oldu unda nesne kaydırma çubu u,
yarar.uicontrol nesneleri a a ıda verilmi tir: frame oldu unda nesne çerçeve nesnesine dönü ür.
a) pushbutton (komut dü mesi) Tag: Nesneye bir etiket ismi vermeye yarayan
b) togglebutton (açma-kapama dü mesi) özelliktir.Bu özellik sayesinde nesne findobj komutuyla
c) radiobutton (radyo dü mesi) bulunabilir.
d) chekbox (onay kutusu) TooltipString: Fare nesnenin üzerine geldi inde bir
e) edit (metin düzenleme kutusu) ipucu ya da açıklama metni görüntülemeye yarayan
f) text (sabit metin kutusu) özelliktir.
g) listbox (liste kutusu) Units: Nesnenin uzunlık ile ilgili birimini düzenlemeye
h) popupmenu (açılır liste kutusu) yarayan özelliktir.De eri centimeters, pixels , inches,
ı) slider (kaydırma çubu u) characters ... olabilir.
i) frame (çerçeve)
4. uimenu Nesnesi
uicontrol Nesnesinin Bazı Özellikleri: ekil penceresi üzerinde olu turulabilecek menü
BackGroundColor: Nesnenin arka plan rengini nesneleridir.Üst seviye ve alt seviye menüler olabilir.Üst
belirlemeye yarayan özelliktir. seviye menülerinin ebeveyni (parent) ekil penceresidir,
alt seviye bir menünün ebeveyni ise ba ka bir menüdür.

28 Hasan KORKMAZ- zmir Fen Lisesi Matematik Ö retmeni


Matlab Ders Notları
uimenu Nesnesinin Bazı Özellikleri: CameraUpVector: Kameranın CameraTarget ve
Callback: Menü nesnesinin fare ile tıklanarak CameraPosition ile tayin edilen bakı do rultusu
seçildi inde tetiklenecek geri ça ırmalı fonksiyonu etrafındaki dönmeyi belirleyen 1x3 lük vektördür.
belirleyen özelliktir. CameraUpVectorMode: Kameranın bakı do rultusu
Checked: Menü seçene i tıklandı ında, sol tarafında etrafındaki dönmesini tayin etmeye yarayan
seçildi ine dair onay i areti belirlenmesini sa layan bir özelliktir.De eri auto oldu unda Matlab kameranın bakı
özelliktir.De eri on oldu unda onay i areti konur, off do rultusu etrafındaki dönmeyi otomatik belirler, manual
oldu unda konmaz. oldu unda ise CameraUpVector daki de er geçerlidir.
Enable: Menü seçene inin kullanılıp kullanılamayaca- CameraViewAngle: Görme alanını belirleyen açıdır.0°
ını belirleyen özelliktir.De eri on ise seçenek ile 180° arasında bir de er olabilir.
kullanılabilir ve normal renktedir, off ise dü me CameraViewAngleMode: Görme alanını belirleyen
kullanılamaz ve rengi siliktir. açının modunu belirleyen özelliktir.De eri auto
ForeGroundColor: Menü seçene inin string (etiket oldu unda Matlab kameranın görme açısını bütün
yazısının) rengini belirlemeye (RGB kodlarını tutan 1x3 sahneyi görecek biçimde en küçük açıya ayarlar,
boyutunda bir dizi) yarayan özelliktir. manual oldu unda ise CameraViewAngle daki de er
Label: Menü seçene inin üstünde görüntülenecek geçerlidir.
metni belirlemeye yarayan özelliktir.Menü açıkken, kısa Children: Eksen üzerinde olu tulmu çocuk
yoldan çalı masını istersek, ilgili kısayol karakterinin nesnelerinin (line, light, patch, surface, rectangle ...gibi)
önüne & i areti konmalıdır. tutamaçlarını tutan dizidir.
Position: Menü seçene inin, ebeveyni içerisindeki Color: Eksenin arka rengini tanımlayan 1x3 lük
göreceli pozisyonunu belirlemeye yarayan özelliktir. lk dizidir.Ayrıca de eri none de olabilir.Bu durumda eksen
menü de eri 1 dir. effafla arak arkasındaki nesneleri de gösterir.
Separator: Menü nesnesi üzerinde bir ayırıcı i aret DataAspectRatio: Eksen çizgilerinin (x, y ve z)
konulmasını düzenler.De eri on ise ayırıcı i aret konur, birbirlerine göre oranını belirleyen 1x3 lük bir diziyi tutan
off ise konmaz. özelliktir.
Tag: Menüye bir etiket ismi vermeye yarayan DataAspectRatioMode: Eksen çizgilerinin birbiri ile ilgili
özelliktir.Bu özellik sayesinde nesne findobj komutuyla oranını belirlemeye yarayan özelliktir.De eri auto
bulunabilir. oldu unda Matlab eksen çizgililerinin birbirine oranını
Visible: Menünün görünüp-görünmemesini düzenleyen otomatik olarak ayarlar, manual oldu unda ise
özelliktir.De eri on ise menü görünür, off ise görünmez. DataAspectRatio daki de er geçerlidir.
FontAngle: Eksen çizgilerinin etiketleri ve çentik
Örnek: Tutamac ismi hesap , etiket ismi Hesapla , ekil de erleri için kullanılan yazı biçiminin e imini
penceresinde ana menünün 3. sırasında bulunan ve düzenlemeye yarayan özelliktir, .normal,italic veya
kısayol tu u H harfi olan bir menü olu turalım. oblique de erlerini alabilir.
Çözüm: FontName: Eksen çizgilerinin etiketleri ve çentik
hesap=uimenu('label','&Hesapla','position',3, de erleri için kullanılan yazı fontunu düzenlemeye
'parent',figure); yarayan özelliktir..
FontSize: Eksen çizgilerinin etiketleri ve çentik de erleri
5. axes Nesnesi için kullanılan yazı tipi boyutunu düzenlemeye yarayan
Üzerinde çizim, animasyon, resim ve video özelliktir.
görüntüleme gibi bir çok i lemler yapmaya yarayan FontUnits:.Fontsize özelli i ile belirlenen yazıtipi
nesnedir. büyüklü ünü birimini belirlemeye yarayan
özelliktir.De eri centimeters, inch, points veya
axes Nesnesinin Bazı Özellikleri: normalized olabilir.
Box: Grafi in, iki boyutlu çizimlerde bir dikdörtgen FontWeight: Eksen çizgilerinin etiketleri ve çentik
içinde, üç boyutlu çizimlerde bir küp içinde görünüp de erleri için kullanılan yazı tipinin a ırlı ını
görünmemesini sa layan özelliktir.De eri on ya da off düzenlemeye yarayan özelliktir.normal, bold veya light
olabilir. olabilir
CameraPosition: Eksen koordinatlarında kameranın GridLineStyle: Çizim alanını eksen çizgilerine dik olarak
sahneyi gördü ü pozisyonu tanımlayan 1x3 lük bir diziyi bölen çizgilerin (grid lines) stilini belirleyen
belirleyen özelliktir. özelliktir.De eri; -, --, :, -. ve none olabilir.
CameraPositionMode: Kamera pozisyonu ayarını Layer: Eksen çizgilerinin eksen çizim alanının üst ya da
düzenleyen özelliktir.De eri auto oldu unda Matlab alt tarıfında olmasını sa layan özelliktir.De eri top veya
pozisyonu otomatik belirler, manual oldu unda ise bottom olabilir.
CameraPosition daki de er geçerlidir. LineStyleOrder: Çoklu bir grafik çizimi yapıldı ında,
CameraTarget: Eksen koordinatlarında kameranın sırasıyla grafik çizgilerini belirlemeye yarayan
baktı ı noktayı tanımlamaya yarayan 1x3 lük diziyi tutan özelliktir.Örne in ilk grafik * lardan, ikincisi - lerden
özelliktir. üçüncüsü + lardan olu ması isteniyorsa; bu özelli e
CameraTargetMode: Kamera hedefini tayin etmeye atanan de er '*|-|+' olmalıdır.
yarayan özelliktir.De eri auto oldu unda Matlab kamera LineWidth: Eksen çizgilerinin kalınlıklarını düzenlemeye
hedefini otomatik belirler, manual oldu unda ise yarayan özelliktir.Varsayılan de er 0.5 noktadır.
CameraTarget daki de er geçerlidir.

29 Hasan KORKMAZ- zmir Fen Lisesi Matematik Ö retmeni


Matlab Ders Notları
NextPlot: Grafik i lemlerinin aktif eksen üzerindenasıl Örnek: Grafi in x ekseninin etiketini x Ekseni, y
gerçekle ece ini belirleyen özelliktir.Üç farklı de er ekseninin etiketini de y Ekseni olarak düzenleyen
alabilir bunlar: add,replace ve replacechildren dir. komutları yazalım.
Position: Eksen nesnesinin ekil penceresi üzerindeki
pozisyonunu belirleyen 1x4 boyutlu bir diziyi Çözüm:
düzenlemeye yarayan özelliktir. xetiket=get(eksen,'xlabel');yetiket=get(eksen,'ylabel');
Projection: Eksen üzerindeki grafi in üç boyutlu set(xetiket,'string','x Ekseni');set(yetiket,'string','y Ekseni');
görüntüleme yöntemini belirleyen özelliktir. ki de er
alabilir, bunlar: ortographic ve perspective dir. Örnek: x ekseninin sayı de erlerini 5 ile 25 arasında, y
Tag: Eksen nesnesine bir etiket ismi vermeye yarayan dekseninin sayı de erlerini de -10 ile 50 de erleri
özelliktir.get fonksiyonu ile de erini ö renebilir set arasında düzenleyelim.
fonksiyonu ile istedi imiz bir de eri atayabiliriz.
Title:Eksenin ba lık metninin tutamacıdır. Çözüm: set(eksen,'xlim',[5 25],'ylim',[-10 50])
Units: Eksen nesnesinin uzunlık ile ilgili birimini
düzenlemeye yarayan özelliktir.De eri centimeters, Örnek: Eksen çizgi kalınlıklarını 2 nokta yapan komutu
pixels , inches, characters ... olabilir. yazalım.
Visible: Eksen nesnesinin görünüp-görünmemesini
düzenleyen özelliktir.De eri on ise eksen görünür, off Çözüm: set(eksen,'linewidth',2)
ise görünmez.
XColor, YColor, ZColor: x, y, z eksenlerinin renklerini Örnek: x ekseni sayı de erlerini 5 ile 25 arasında 2 er
düzenleyen özelliktir. birim aralıklarla, y ekseni sayı de erlerini de -10 ile 50
XDir,YDir,ZDir: X,y,z eksen de erlerinin artı yönünü arasında 3 er birim aralıklarla i aretleyen komutu
belirler.De eri normal ise artı normal yöndedir, yazalım.
reverse ise artı ters yöndedir. Çözüm: set(eksen,'xtick',[5:2:25],'ytick',[-10:3:50])
XGrid,YGrid,ZGrid: Çizimalanı eksen çizgilerine dik
yönde bölen çizgilerin (gridlines) görünüp Örnek: Kamera pozisyonunu x=1, y=0, z=9 olacak
görünmemesini belirleyen özelliktir.De eri on ya da off biçimde düzenleyelim.
olabilir.
XLabel,YLabel,ZLabel: Eksen çizgi etiketlerini Çözüm:
düzenlemeye yarayan özelliktir. set(eksen,'box','on');set(eksen,'cameraposition',[1 0 9]);
XLim, YLim, ZLim: Eksenin x, y ve z çizgilerinin sayısal
aralıklarını belirleyen özelliktir.Örne in x çizgisinin Örnek:
sayısal de eri 10 ile 120 arasında olmasını istersek; a) Ekranda y= 25 - x² fonksiyonun (yarım çember)
XLim özelli inin de eri [10 120] olmalıdır. grafi ini çizdirelim.
XLimMode, YLimMode, ZLimMode: Eksen çizgi b) Grafi in tam bir çember parçası de il, U harfine
de erlerinin sayı aralıklarını düzenlemeye yarayan benzedi ini görürüz. ekil penceresinin boyutlarını
özelliktir.De eri auto oldu unda Matlab eksen kareye benzetti imizde ancak yarım çember tam olarak
çizgilerinin sayısal aralıkları otomatik olarak belirlenir, görünür.Sebebi de ekil penceresine göre de i en
manual oldu unda XLim, ZLim veya ZLim özelli inin dataaspectratio oranının 1 olmamasından
de eri geçerlidir. kaynaklanır.Yarım dairenin, ekil penceresinin
XScale, YScale, ZScale: Eksen çizgilerinin sayısal boyutlarına ba ımlı kalmaksızın tam olarak yarım daire
ölçe ini belirlemeye yarayan özelliktir.De eri linear görünmesini sa layan i lemleri yapalım.
oldu unda sayı artı ı düzgün artar, log oldu unda
logaritmik artar. Çözüm:
a) x=-5:0.1:5;y=sqrt(25-x.^2);plot(x,y);
Örnek: Adı eksen olan, ekil penceresinin sol alt b) sekil=get(0,'currentfigure');
kö esinden yatay ve dü ey olarak 1 cm, 1 cm uzaklıkta eksen=get(sekil,'currentaxes');
olan ve yatay uzunlu u 8 cm dü ey uzunlu u 5 cm olan get(eksen,'dataaspectratio');
bir eksen nesnesi olu turalım. set(eksen,'dataaspectratio',[1 1 1]);
Not: Aynı i lemi axis equal komutuyla da yapabiliriz.
Çözüm:
eksen=axes('units','centimeters','position',[1 1 8 5]); 6. image Nesnesi
Eksen nesnesi üzerinde resim dosyalarını
Örnek: Bir önceki örnekte tanımlanan eksen adlı eksen görüntülemeye yarayan grafik nesnesidir.Matlab'da
nesnesinin zemin rengini [0.3 0.4 0.5] kodlu (lacivert) , resimler indeksli (indexed) , gerçek renkli (true color)
yapan komutu yazalım. veya gri tonlu (gray scale) olabilirler.Bir resmin ölçüleri
geni lik ve yüksekli ine dü en piksel sayısı ile
Çözüm: set(eksen,'color',[0.3 0.4 0.5]) belirlenir.Örne in 150x140 ölçülerinde bir resim nesnesi,
yatay 150 piksel, dü ey 140 piksel büyüklü ündedir.Bu
Örnek: Eksen ba lı ına Grafik ba lı ını verelim. durumda bu resmi temsil edebilecek matris 150 satır,
Çözüm: 140 sütunlu yani 140x150 mertebesindedir.
baslik=get(eksen,'title');set(baslik,'string','Grafik');

30 Hasan KORKMAZ- zmir Fen Lisesi Matematik Ö retmeni


Matlab Ders Notları
a) ndeksi Resimler: ndeksli resimler, resmin Çözüm:
ölçülerinde bir matris ile birlikte mx3 boyutlu bir renk a) imfinfo('iflbmp.bmp')
haritası matrisi (Colormap) ile belirlenir.Resmi olu turan b) imread('iflbmp.bmp') komutu sonucu workspace
renk sayısı, renk haritasındaki satır sayısı kadardır. (çalı ma alanında) oluan ans de i keninin size
(boyutu) de erini incelersek; 239x324x3 oldu unu
b) Gri Tonlu Resimler: Bu resimler de, indeksli resimler görürüz.Buradan resim dosyasının 324 piksel yatay, 239
gibidir, ancak renk haritası 2x3 boyutunda bir matristir. dü ey piksel boyutlarında ve gerçek renkli (true color)
oldu unu anlayabiliriz.
c) Gerçek Renkli Resimler: 150x140 ebadında bir c) imageview('iflbmp.bmp');
gerçek renkli resim için Matlab 140x150x3 ölçülerinde bir d) res=imread('resume.tif');
matris ile temsil edilir. e) Resim dosyasının 2528 piksel yatay, 3296 dü ey
piksel boyutlarında oldu unu anlayabiliriz.
image Nesnesinin Bazı Özellikleri: res de ikenini görüntülemeye çalı tı ımızda, dosyanın
içinin 0 ve 1 lerden olutu unu görebiliriz.Bu da resmin 0
AlphaData: Resim ölçülerinde ve resmin her bir pixelinin (siyah), 1 (beyaz) renklerden olu an bir resim oldu unu
effaflı ını tutan bir dizidir. söyleyebilirz.
AlphaDataMapping: AlphaData dizisinin nasıl
yorumlanarak kullanılaca ını belirleyen özelliktir. Örnek: a) bmp resim formatlı iflbmp.bmp resim
CData: ndeksli resimlerde mxn, gerçek renkli dosyasını ve gif formatlı iflgif.gif adlı resim dosyalarını
resimlerde ise mxnx3 boyutlarında bir matristir sırasıyla res1 ve res2 de i kenlerine, colormap (renk
Parent:. Resim nesnesinin ebeveynini belirleyen haritalarını) da harita1 ve harita2 de i kenlerine
özelliktir.Daima ebeveyni eksen nesnesidir.Bu durumda atayalım.
parent özelli i resim nesnesinin üzerinde b) harita1 ve harita2 renk haritalarını inceledi imizde,
görüntülenecek eksen nesnesinin tutamacını harita1 de ikeninin bo bir dizi, harita2 de i keninin ise
belirlemeye yarar. 256x3 boyutlarında bir dizi oldu unu görebiliriz.res1 ve
Selected: Resmi seçili duruma getirmeye yarar.De eri res2 de ikenlerini resim olarak ekil penceresinde
on ise resim seçilir, off yapılırsa seçili durum iptal edilir. inceleyelim.res1 in normal görüntülenmesine ra men,
SelectionHighlight: Seçili olan resmin kenarlarına 8 res2 nin düzgün görüntülenmedi ini görürüz.res2 nin
adet kulp ile görselle tirmesi sa lanır.De eri on ise düzgün görünmesi için ne yapılması gerekti ini
resim kulp takılır , off yapılırsa kulp durumu iptal edilir. ara tıralım.
Tag: mage nesnesine bir etiket ismi vermeye yarayan
özelliktir.get fonksiyonu ile de erini ö renebilir set Çözüm:
fonksiyonu ile istedi imiz bir de eri atayabiliriz. a) [res1,harita1]=imread('iflbmp.bmp');
Type: Grafik nesnesinin türünü tutan özelliktir, her [res2,harita2]=imread('iflgif.gif');
zaman de eri image olur. b) Renk haritası olan resim dosyalarını düzgün
Visible: Resim nesnesinin görünüp-görünmemesini görüntülemek için imageview fonksiyonunu kullanırken
düzenleyen özelliktir.De eri on ise resim görünür, off ikinci parametre olarak renk haritası dosyasını
ise görünmez. belirtmektir.O halde komutu a a ıdaki gibi kullanmalıyız:
XData: Resim nesnesini olu turanCData dizisinin eksen imageview(res4,harita4);
nesnesinin x ekseni üzerinde hangi aralı a
konumlanaca ını belirleyen 1x2 lik bir dizidir. lk de er 7. line Nesnesi
balangıç, ikinci de er de biti de erini temsil
eder.Varsayılan olarak bu de er [1 size(CData,2)] dir. Eksen (axes nesnesi) üzerinde verilen x, y (ve z)
YData: Resim nesnesini olu turanCData dizisinin eksen koordinatları noktayı belirleyen grafik
nesnesinin y ekseni üzerinde hangi aralı a nesnesidir.Noktaların birle iminden de çizgi (line)
konumlanaca ını belirleyen 1x2 lik bir dizidir. lk de er olu ur.line nesnesi yardımıyla çizginin, rengi, biçimi,
balangıç, ikinci de er de biti de erini temsil kalınlı ı ... gibi bir çok özelli i düzenlenebilir.
eder.Varsayılan olarak bu de er [1 size(CData,1)] dir.
line Nesnesinin Bazı Özellikleri:
Örnek: a) iflbmp.bmp adlı resim dosyası hakkında bilgi Color: line nesnesinin rengini düzenlemeye yarar.
edinelim LineStyle: Çizgi stilini belirleyen özelliktir.Alabilece i
b) Bu resim dosyasını okutalım ve ans de i kenini de erler; -, --, -., :, ve none dir.De eri none olursa çizgi
inceleyerek dosyanın hangi tür resim dosyası oldu unu görünmez.
söyleyelim. LineWidth: Çizginin kalınlı ını düzenleyen özelliktir.
c) Bu resim dosyasını Matlab ekil penceresinde Marker: Çizginin i aretini belirleyen özelliktir.Marker ile
görüntüleyelim. ilgili de erler ve anlamı a a ıdaki tabloda gösterilmi tir.
d) resume.tif adlı dosyayı okutarak res adlı de i kene De er Anlamı
atayalım. + + i areti
e) res de i kenini inceledi imizde size de erinin o daire i areti
3296x2528 oldu unu varsayalım.Buradan resim dosyası * yıldız i areti
özellikleri hakkında ne diyebiliriz? . nokta i areti
x çarpı i areti
s kare (square) i areti
31 Hasan KORKMAZ- zmir Fen Lisesi Matematik Ö retmeni
Matlab Ders Notları
d elmas (diamond) i areti set(gra2,'linewidth',2,'marker','p');
^ yukarı gösteren üçgen i areti
v a a ı gösteren üçgen i areti 8. rectangle Nesnesi
> sa a do ru gösteren üçgen i areti
< sola do ru gösteren üçgen i areti Eksen (axes nesnesi) üzerinde belirlenen koordinat ve
p 5 noktalı (pentagon) yıldız i areti ölçülerde dikdörtgen çizmeye yarayan grafik nesnesidir.
h 6 noktalı (hexagram) yıldız i areti
none i aretsiz rectangle Nesnesinin Bazı Özellikleri:
Curvature: Dikdörtgenin kö elerini e riye dönü türme
MarkerEdgeColor: Çizgi ile çizilecek kapalı bölge oranlarını belirlemeye yarayan 1x2 lik bir dizidir .Sayılar
çeperinin (sınırının) rengini belirleyen özelliktir. 0 ile 1 arasında de i ir.[0 0] dizisi dikdörtgeni korur, [1 1]
MarkerFaceColor: Çizgi ile çizilecek kapalı bölgenin dizisi elipse dönütürür, dikdörtgen kare ise çembere
rengini belirleyen özelliktir. dönü ür.
MarkerSize: Çizgi i aretlaerinin büyüklü ünü belirleyen EdgeColor: Dikdörtgenin kenar çizgisinin (sınırının)
özelliktir.Matlab bu büyüklü ü 6 olarak varsayar. rengini belirleyen özelliktir.
Selected: Çizgiyi seçili konuma getirmeye yarayan FaceColor: Dikdörtgenin iç bölgesinin rengini belirleyen
özelliktir.De eri on veya off olabilir. özelliktir.
SelectionHighlight: Selected ile seçilmi çizginin LineStyle: Dikdörtgenin kenar stilini belirleyen
etrafına 8 adet kulp koymaya yarayan özelliktir.De eri özelliktir.Alabilece i de erler; -, --, -., :, ve none
on veya off olabilir. dir.De eri none olursa dikdörtgen görünmez.
Visible: Çizgi nesnesinin görünüp-görünmemesini LineWidth: Dikdörtgenin kenar kalınlı ını düzenleyen
düzenleyen özelliktir.De eri on ise çizgi görünür, off ise özelliktir.
görünmez. Position: Dikdörtgenin ekil penceresi üzerindeki
XData, YData, ZData: Çizginin x, y, z koordinatlarını pozisyonu ve ölçülerini belirleyen özelliktir. lk iki de er
belirleyen vektörlerdir. dikdörtgenin sol alt köesinin ekil penceresinin sol alt
köesine göre koordinatlarını, üçüncü sayı dikdörtgenin
Örnek: (20,30) noktasını grafik olarak gösteren komutu yatay uzunlu unu dördüncü sayı da dü ey uzunlu unu
yazalım. belirtir.
Selected, SelectionHighlight, Visible: Bu özellikler de
Çözüm: line(20,30); line nesnesinin özellikleri ile aynıdır.

Örnek: y=x^2-8x+5 fonksiyonunun grafi ini x de erlerini Örnek: Tutamaç de eri dd olan, ekil penceresinin sol
[-5 15] aralı ında, 0.01 artı ile çizdiren komutları alt köesine göre koordinatları 5 5, yatay uzunlu u 6
yazalım. dü ey uzunlu u 4 birim olan kırmızı kenarlı dikdörtgeni
çizdiren komutu yazalım..
Çözüm: Çözüm:dd=rectangle('position',[5 5 6 4],'edgecolor','r');
x=-5:0.01:15;y=x.^2-8*x+5; line(x,y);
Not: line(x,y); yerine plot(x,y); fonksiyonunu da Örnek: Eksen nesnesinin boyutları dikdörtgenin
kullanabilirdik. boyutlarında olu tu u için, dikdörtgen ekseni
kapladı.Eksen nesnesinin boyutlarını, x ekseni 15 birim,
Örnek: y ekseni 10 birim olarak düzenleyelim
a) f(x)=x^3-4x+7 fonksiyonu ile g(x)=xsinx-5cosx
fonksiyonlarının grafiklerini, x de erleri [-5 5] arasında Çözüm: Bunun için rectangle nesnesinin ebeveyni olan
çizdiren komutları yazalım. eksen nesnesinin tutamacına ihtiyacımız var.Daha sonra
b) f(x) in grafi inin rengini mavi, g(x) in grafi ini kırmızı xlim ve ylim de erlerini set fonksiyonu ile
renkte olmasını sa layalım. düzenleyebiliriz.Buna göre komut öyle olmalıdır:
c) f(x) in grafi inin çizgi biçimini :, g(x) in çizgi biçimini -. set(get(dd,'parent'),'xlim',[0 15],'ylim',[0 10]);
lmasını sa layalım.
d) Çizgi kalınlıklarını 2 er birim ve 1. grafi i yukarıya 9. patch (yama) Nesnesi
bakan üçgenlerle ,2. grafi i yıldızlarla i aretleyelim.
Çözüm: Bir çok kenarlardan olu an iki veya üç boyutlu
a) x=-5:0.1:5; karma ık ekli görselle tirmeye yarayan, Matlab'ın en
f=x.^3-4*x+7;g=x.*sin(x)-5*cos(x); zor kullanılan grafik nesnesidir.Bu nesne aslında çok
gra1=line(x,f); kenarlıdır.Bir yama en az üç olmak üzere bir çok
gra2=line(x,g); ba lantı noktasından (vertices) olu ur.Yama olarak
Not:gra1 ve gra2 tanımlamaları yapılmadan da grafikler adlandırılmasının sebebi, sadece düzlemsel de il üç
sadece line(x,f);line(x,g); komutları ile boyutlu olabilmesidir. lk ba lantı noktası ile son ba lantı
çizdirilebilir.Ancak grafiklerde ba ka de i iklikler noktası birle tirildi inde yama tamamlanmı
yapaca ımızdan dolayı gra1 ve gra2 de i kenlerine olur.Yamanın iç bölgesi ise yüz (face) olarak adlandırılır.
(tutamaçlarına) ihtiyaç duyarız.
b) set(gra1,'color','b');set(gra2,'color','r');
c) set(gra1,'linestyle',':');set(gra2,'linestyle','.-');
d) set(gra1,'linewidth',2,'marker','^');
32 Hasan KORKMAZ- zmir Fen Lisesi Matematik Ö retmeni
Matlab Ders Notları
patch Nesnesinin Bazı Özellikleri: surface Nesnesinin Bazı Özellikleri:
CData: Yama rengini tanımlayan özelliktir.Her bir CData, EdgeAlpha, EdgeColor, FaceAlpha,
ba lantı noktası (vertex), yüz (face) veya bütün yama FaceColor, LineStyle, LineWidth, Marker,
(patch) için ayrı ayrı renk tanımlanabilir. MarkerSize, Selected,SelectionHighlight,Visible,
DiffuseStrength: Yama üzerine dü en ı ı ın yayılma XData, YData, ZData: Bu özellikler patch nesnesinin
yo unlu unu belirten 0 ile 1 arasında bir sayıdır. özellkileri ile aynıdır.
EdgeAlpha: Yamanın kenar çizgilerinin effaflı ını Vertices: Yamanın ba lantı noktalarını koordinatlarını
belirleyen 0 ile 1 arasında de i en sayılara kar ılık tutan, (x, y, z) üçlülerinin matrisi.
gelen özelliktir. Örnek:
EdgeColor: Yamanın kenar çizgilerinin rengini Örnek: Bu kadar ö rendiklerimizle, basit bir grafik
belirleyen özelliktir. arabirimli program yazalım.Sol alt kö esi, ekranın sol alt
FaceAlpha: Yama yüzlerinin effaflı ını belirleyen 0 ile kö esinden yatay uzaklı ı 5 cm, dü ey uzaklı ı 8 cm,
1 arasında de i en sayılara kar ılık gelen özelliktir. yatay uzunlu u 15 cm, yüksekli i 10 cm olan sekil adlı
FaceColor: Yama yüzlerinin rengini belirleyen özelliktir. figure penceresinde, pencerenin sol alt kö esinden 1
Faces: Bir yüzeyin vertices dizisinin hangi satırındaki cm yatay, 5 cm dü ey uzaklı ında, 10 cm uzunlu unda,
ba lantı noktalarından olu turulaca ını belirleyen 1 cm yüksekli inde mesaj adlı static text nesnesine,
özelliktir. 20 punto büyüklü ünde zmir Fen Lisesi yazdıran
LineStyle, LineWidth: rectangle nesnesinde açıklanan program yazalım.
özelliklerle aynıdır.
Marker: Ba lantı noktalarının i aretini belirleyen Çözüm:
özelliktir. function mesaj;
MarkerEdgeColor: Ba lantı noktalarında görünmesi sekil=figure('units','centimeters','position',[5 8 15 10]);
istenen kapalı ekildeki i aretlerin çeper (sınır) rengini mesaj=uicontrol('style','text','units','centimeters','position',
[1 5 10 1],'string',' zmir Fen Lisesi','fontsize',20);
belirleyen özelliktir.
MarkerFaceColor: Ba lantı noktalarında görünmesi
Klavyeden Giri Alma:
istenen kapalı ekildeki i aretlerin iç bölgesi rengini
Bunun için inputdlg fonksiyonu kullanılır.
belirleyen özelliktir.
Genel kullanımı a a ıdaki gibidir:
MarkerSize: Ba lantı noktalarında görünmesi istenen
kapalı ekildeki i aretlerin büyüklü ünü belirleyen girdiler={'1.girdi ba lı ı','2. girdi ba lı ı','3. girdi ba lı ı'...};
özelliktir..Matlab bu büyüklü ü 6 olarak varsayar. de i ken=inputdlg(girdiler);
Selected,SelectionHighlight,Visible: Dikdörtgen
nesnesindeki özelliklerle aynıdır. Örnek: Klavyeden girilen bir mesajı, bir önceki örnekteki
XData, YData, ZData: Ba lantı noktalarının x, y, z figure penceresindeki pozisyonda, beyaz zeminde , mavi
koordinatlarını belirleyen vektörlerdir. renkli olarak yazdıran bir program yazalım.

Örnek: Düzlemde adı yama olan, (1,3), (2,5), (4,7), Çözüm:


(7,5), (3,2) koordinatlı noktalardan oluan yama esnesini function mesaj2;
olu turalım. sekil=figure('units','centimeters','position',[5 8 15 10]);
mesaj={'Mesaj: '};
Çözüm: Önce x ve y koordinatlarının dizilerini oluturalım cevap=inputdlg(mesaj);
yazi=uicontrol('style','text','units','centimeters',
x=[1;2;4;7;3];y=[3;5;7;5;2]; 'position',[1 5 10 1], 'fontsize',20,'backgroundcolor','w',
Yama düzlemsel olaca ından z koordinatları 0 lardan 'foregroundcolor','b'); set(yazi,'string',cevap);
olu acaktır.
z=[0;0;0;0;0]; Not: Matlab'da renk tanımlaması bir kaç yoldan
Sonra yamayı olu turan komutu yazabiliriz. yapılabilir.Birincisi, RGB (Red Green Blue) renk
yama=patch('xdata',x,'ydata',y,'zdata',z); oranlarını 0 ile 1 arasında olacak ekilde sayılar vererek
Not 1) z vektörünü; z=zeros(size(x,1),1); biçiminde de olu turmaktır. kinci olarak bazı özel renkleri, ister
olu turabiliriz. tamamını istenirse ba harfini yazarak
Not 2) Aynı yamayı, kö e koordinatlarından olu an k tanımlamaktır.Örne in; kırmızı 'red' veya 'r' ile, ye il
matrisinde tutarak ta gerçekle tirebiliriz. 'green' veya 'g' ile, mavi 'blue' veya 'b' ile,... belirtilebilir.
k=[1 3 0;2 5 0;4 7 0;7 5 0;3 2 0]; A a ıdaki tablo renk tanımlamaları için bir fikir verebilir:
yama=patch('vertices',k);
RGB de eri Kısa Kul. Uzun Kul.
Örnek: Önceki örnekte olu turulan tutamaç adı yama [1 0 0] 'r' 'red'
olan yamanın, dı çeper rengini kırmızı, iç bölge rengini [0 1 0] 'g' 'green'
mavi renkli yapalım.
[0 0 1] 'b' 'blue'
[1 1 0] 'y' 'yellow'
Çözüm: set(yama,'edgecolor','r','facecolor','b');
[1 0 1] 'm' 'magenta'
10. surface Nesnesi [0 1 1] 'c' 'cyan'
[1 1 1] 'w' 'white'
x ve y de i kenlerine ba lı z fonksiyonunun [0 0 0] 'black'
olu turdu u ( z=f(x,y) ) yüzeyi görselle tiren nesnedir.

33 Hasan KORKMAZ- zmir Fen Lisesi Matematik Ö retmeni


Matlab Ders Notları
Örnek: Klavyeden girilen iki sayının çarpımını, beyaz 'style','pushbutton','position',[3 3 3 1],'backgroundcolor',
zeminde , mavi renkli olarak; örne in sayılar, -13 ve 7 [1 1 1 ],'string','Çarp!','callback',@carpim);
girilmi se; figure penceresinde -13 x 7 = 91 biçiminde function carpim(tutamac,bos);
sayi1=findobj(gcbf,'Tag','sayi1');x=get(sayi1,'string');
yazdıran bir program yazalım.
x=str2num(x);
sayi2=findobj(gcbf,'Tag','sayi2');y=get(sayi2,'string');
Çözüm:
y=str2num(y);
function ikisayicarpimi;
sonuc=findobj(gcbf,'tag','sonuc');s=x*y;s=num2str(s);
sekil=figure('units','centimeters','position',[5 8 15 10]);
set(sonuc,'string',s);
sorular={'1. Sayı: ','2. sayı'};
cevaplar=inputdlg(sorular);
sayi1=cevaplar{1};sayi2=cevaplar{2}; Örnek: A a ıdaki ekil penceresinde görüldü ü gibi, 1.
sayi1=str2num(sayi1);sayi2=str2num(sayi2); sayı ve 2. sayıyı girdikten sonra, Topla!, Çıkar!, Çarp!
carpim=sayi1*sayi2;carpim=num2str(carpim); ve Böl! butonlarından hangisine basılırsa, ilgili i lemin
sonucunu Sonuç nesnesinde görüntüleyen bir program
yazi1=uicontrol('style','text','units','centimeters', yazalım.Örne in 1.sayı ve 2. sayı bölümlerine sırasıyla
'position',[1 5 2 1], 'fontsize',20,'backgroundcolor','w', 120 ve -15 girilip Böl! butonuna basıldı ında, Sonuç:
'foregroundcolor','b'); set(yazi1,'string',sayi1); bölümünde -8 görüntülensin.
yazi2=uicontrol('style','text','units','centimeters',
'position',[3 5 1 1], 'fontsize',20,'backgroundcolor','w',
'foregroundcolor','b'); set(yazi2,'string','x');
yazi3=uicontrol('style','text','units','centimeters',
'position',[4 5 2 1], 'fontsize',20,'backgroundcolor','w',
'foregroundcolor','b'); set(yazi3,'string',sayi2);
yazi4=uicontrol('style','text','units','centimeters',
'position',[6 5 1 1], 'fontsize',20,'backgroundcolor','w',
'foregroundcolor','b'); set(yazi4,'string','=');
yazi5=uicontrol('style','text','units','centimeters',
'position',[7 5 5 1], 'fontsize',20,'backgroundcolor','w',
'foregroundcolor','b'); set(yazi5,'string',carpim);
Çözüm:
Örnek: A a ıdaki ekil penceresinde görüldü ü gibi, 1. function dortislem;
sayı ve 2. sayıyı girdikten sonra, Çarp butonuna sekil=figure('units','centimeters',
basıldı ında çarpım sonucunu, Sonuç bölümünde 'position',[1 1 10 7],'color',[0.5 0.6 0.7]);
görüntüleyen bir program yazalım. uicontrol('units','centimeters','style','text',
'string','1. sayı ','position',[0.5 5.5 2 1]);
uicontrol('units','centimeters','style','text',
'string','2. sayı: ','position',[3 5.5 2 1]);
uicontrol('units','centimeters','style','text',
'string','Sonuç: ','position',[5.5 5.5 2 1]);
sayi1=uicontrol('units','centimeters','style','edit',
'position',[0.5 5 2 1],'tag','sayi1');
sayi2=uicontrol('units','centimeters','style','edit',
'position',[3 5 2 1],'tag','sayi2');
sonuc=uicontrol('units','centimeters','style','text',
'position',[5.5 5 2 1],'tag','sonuc');

topla=uicontrol('units','centimeters','style','pushbutton',
'position',[0.5 3.5 2 1],'tag','topla',
'string','Topla!','callback',@topla);
cikar=uicontrol('units','centimeters','style','pushbutton'
,'position',[3 3.5 2 1],'tag','cikar',
'string','Çıkar!','callback',@cikar);
carp=uicontrol('units','centimeters','style','pushbutton',
Çözüm: 'position',[5.5 3.5 2 1],'tag','carp',
function carpma; 'string','Çarp!','callback',@carp);
sekil=figure('units','centimeters','position',[1 1 12 8]); bol=uicontrol('units','centimeters','style','pushbutton','posi
uicontrol('units','centimeters','style','text', tion',[8 3.5 2 1],'tag','bol','string','Böl!','callback',@bol);
'position',[1 5.5 2 1],'string','1. Sayı');
uicontrol('units','centimeters','style','text', function topla(tut,bosver);
'position',[3.5 5.5 2 1],'string','2. Sayı'); sayi1=findobj(gcbf,'tag','sayi1');x=get(sayi1,'string');
uicontrol('units','centimeters','style','text', x=str2num(x);
'position',[6 5.5 2 1],'string','Sonuç'); sayi2=findobj(gcbf,'tag','sayi2');y=get(sayi2,'string');
sayi1=uicontrol('units','centimeters','style','edit','position',[ y=str2num(y);
1 5 2 1],'backgroundcolor',[0 1 0],'string','','tag','sayi1'); s=x+y;s=num2str(s);sonuc=findobj(gcbf,'tag','sonuc');
sayi2=uicontrol('units','centimeters','style','edit','position', set(sonuc,'string',s);
[3.5 5 2 1],'backgroundcolor',[0 1 0],'string','','tag','sayi2');
sonuc=uicontrol('units','centimeters','style','text','position', function cikar(tut,bosver);
[6 5 2 1],'backgroundcolor',[1 0 1 ],'tag','sonuc'); sayi1=findobj(gcbf,'tag','sayi1');x=get(sayi1,'string');
carpimdugmesi=uicontrol('units','centimeters', x=str2num(x);

34 Hasan KORKMAZ- zmir Fen Lisesi Matematik Ö retmeni


Matlab Ders Notları
sayi2=findobj(gcbf,'tag','sayi2');y=get(sayi2,'string'); Çözüm: Önce a a ıdaki m dosyasını yazalım.
y=str2num(y); clc; disp(' yi Günler!');
s=x-y;s=num2str(s); sonuc=findobj(gcbf,'tag','sonuc'); Bu dosyayı iyigun.m adıyla work dizinine
set(sonuc,'string',s); kaydedelim.Komut satırında iyigun yazıp (enter) tu una
function carp(tut,bosver);
basarak çalı ma sonucunu görebiliriz.
sayi1=findobj(gcbf,'tag','sayi1');x=get(sayi1,'string'); Bu dosyayı mcc -m iyigun komutuyla derlemeye
x=str2num(x); çalı tı ımızda; a a ıdaki hata mesajlarını görürüz:
sayi2=findobj(gcbf,'tag','sayi2');y=get(sayi2,'string');
y=str2num(y); mcc -m iyigun
s=x*y;s=num2str(s);sonuc=findobj(gcbf,'tag','sonuc'); ??? Error: File "iyigun" is a script M-file and cannot be
set(sonuc,'string',s); compiled with the current Compiler.
function bol(tut,bosver);
Error in ==> C:\MATLAB6P5\toolbox\compiler\mcc.dll
sayi1=findobj(gcbf,'tag','sayi1');x=get(sayi1,'string');
x=str2num(x);
sayi2=findobj(gcbf,'tag','sayi2');y=get(sayi2,'string'); Çünkü derlemeye çalı tı ımız dosya bir m dosyasıdır, m
y=str2num(y); fonksiyon dosyası de il!Bunun için bu dosyayı m
s=x/y;s=num2str(s);sonuc=findobj(gcbf,'tag','sonuc'); fonksiyon dosyası biçimine getirmemiz gerekir.Bunun
set(sonuc,'string',s); için a a ıdaki basit eklentileri yapıp dosyayı yeniden
kaydedelim:

... function laf=iyigun


Derleme Nedir ve Matlab Dosyaları Nasıl Derlenir? clc; disp(' yi Günler!');
laf=1;
Bir programlama dili ile yazılan bir programın,
hazırlanan ortamdan ba ımsız olarak çalı tırılması için, Sonra mcc -m iyigun komutuyla derleyelim.Bu durumda
yapılan i leme derleme (compile) denir.Böylece ilgili hiçbir hata mesajı ile karıla madan derlendi ini ve work
dilde yazılan komut ve deyimler, i letim sisteminin klasöründe iyigun.exe adlı dosyanın olutu unu
yorumlayıp çalı masını sa layan komutlar toplulu u görebiliriz.Dos ortamında iyigun yazıp entere basarak
haline gelir ki, bu dosyaların genel olarak uzantısı exe dosyanın çalı masını görebiliriz
(executable) olur.
Aynı mantıkla, Matlab dosyalarını da derleyerek,
matlab ortamı dı ında çalı tırılabilir dosyalar biçimine
getirmek için derlemek gerekir.Ancak matlab m
fonksiyon dosyaları derlenebilir, m dosyaları
derlenemezler!

Derleme komutu ve kullanımı:


Derleme komutu mcc (Matlab C/C++) dir.
Komut satırında kullanımı a a ıdaki gibidir:
mcc -seçenek dosyaadı

Burada dosyaadı yerine work klasörüne kaydedilmi m


fonksiyon dosyasının adı yazılır.Seçenek yerine ise
a a ıdaki
ifadeler yazılabilir.

Seçenek Açıklama
-m C tabanlı exe uzantılı uygulama
olu turmaya yarar
-p C++ tabanlı exe uzantılı uygulama
olu turmaya yarar
-B sgl C tabanlı grafik kütüphaneli ve grafik
arabirimli matlab uygulama dosyaları
olu turmaya yarar.
-B sglcpp C++ tabanlı grafik kütüphaneli ve grafik
arabirimli matlab uygulama dosyaları
olu turmaya yarar.

Örnek: Temiz ekrana yi Günler! Mesajı yazdıran bir


programı DOS ortamında çalı abilir biçime getiren
i lemleri yapalım.

35 Hasan KORKMAZ- zmir Fen Lisesi Matematik Ö retmeni

You might also like