Professional Documents
Culture Documents
1
Programlama dilleri verileri değişkenler olarak adlandırılan veri yapıları üzerinde saklar.
Veriler sayısal veya sözel olabilir. Sayısal veriler sınırlı bir aralık için tanımlanabilir. Örneğin
bir sayı grubu sadece 0 veya 1 değerini alacak şekilde kısıtlanabilir. Bir diğer sayı grubu ise 0
ve 255 arasında ve sadece tam sayılardan oluşabilir.
MATLAB'daki sayısal sınıflar, işaretli ve işaretsiz tam sayıları ve tek kesinlikli ve çift kesinlikli
kayan noktalı sayıları içerir. MATLAB varsayılan olarak tüm sayısal değerleri çift duyarlıklı
kayan nokta olarak saklar. Herhangi bir sayıyı veya sayı dizisini tamsayı veya tek duyarlık
olarak saklamayı seçebilirsiniz. Tamsayı ve tek duyarlıklı diziler, çift kesinliğe göre bellek
açısından daha verimli depolama sunar. Tüm sayısal türler, dizin oluşturma, yeniden
şekillendirme ve matematiksel işlemler gibi temel dizi işlemlerini destekler.
double, MATLAB®'daki varsayılan sayısal veri tipidir (sınıf), çoğu hesaplama görevi için
yeterli kesinlik sağlar. Sayısal değişkenler otomatik olarak 64 bit (8 bayt) çift duyarlıklı kayan
nokta değerleri olarak depolanır. Özet : Nokta dahil 16 basamaktan oluşan sayıları ifade eder.
Şekil 1: Bir sayısı, örneğin x sayısını, double tipine çevirirseniz; oluşan yeni değerin nokta dahil
sadece 16 basamağı anlamlıdır.
MATLAB'daki single kesinlikli değişkenler, tek veri tipinin (sınıf) 4 baytlık (32 bit) kayan
nokta değerleri olarak saklanır. Özet : Nokta dahil 8 basamaktan oluşan sayıları ifade eder.
single Tek-duyarlı
2
Matlab’de, yaklaşık 3.4 ⋅ 1038 'den büyük veya yaklaşık −3.4 ⋅ 1038 'den küçük değerleri
depolamak için double kesinlik kullanılmalıdır. Bu iki sınır arasında kalan sayılar için double
veya single kesinlik kullanılabilir, ancak single daha az bellek gerektirir.
int8 [128; 127] arasında tamsayıları ifade etmek için kullanılan bir değişken tipi’dir.
int8 8-bit işaretli tamsayı ; 𝑥~[−27 ; 27 − 1] = [128; 127]
Şekil 2: int8 için sınır değerleri taşmasının etkisine dikkat ediniz. Bu durum değişken tipi
tanımlamanın neden özen gösterilmesi gereken bir konu olduğunu göstermektedir.
MATLAB, çift duyarlıklı veya tek duyarlıklı biçimde kayan noktalı sayıları temsil eder.
Varsayılan, çift duyarlıktır, ancak basit bir dönüştürme işleviyle herhangi bir sayıda tek duyarlık
yapabilirsiniz.
3
Şekil 1 : Bir değişkenin sınıfının değiştirilmesi.
MATLAB’de kayan nokta doğruluğu default olarak; > eps komutuyla öğrenilebilir;
MATLAB’de, değişken tiperi arasında dönüşüm > cast fonksiyonu kullanılarak yapılabilir ;
4
isinf Değer inf ise 1 döndürür.
isa(x, 'integer')
isa(x, 'uint64')
isa(x, 'float')
isa(x, 'double')
isa(x, 'single')
5
MATLAB’de kompleks sayılar kullanabilirsiniz. Kompleks sayılar 𝑧 = 𝑥 + √−1 ⋅ 𝑦 formunda
ifade edilen sayılardır. Matlab default olarak i değerini √−1 olarak tanımlar. Dolayısıyla i için
bir değer atarsanız; i için atanan √−1 değeri değişir.
Kompleks sayılar oluşturmak için ilk yöntem > complex fonksiyonundan yararlanmaktır ;
Kompleks sayıların reel bileşenine > real komutunu kullanarak ve imajiner bileşenine > imag
komutunu kullanarak ulaşabilirsiniz ;
6
Değişken sorgulama > whos komutu kullanılarak kod içerisinde de yapılabilir;
7
MATLAB, sayısal / nümerik değerleri ekranda görüntülemek için biçimlendirmenize izin verir.
Workspace üzerindeki biçimlendirme > format <Stil> komutuyla belirtilir.
Stil Örnek
short (default) 3.1416
long 3.141592653589793
shortE 3.1416e+00
longE 3.141592653589793e+00
shortG 3.1416
longG 3.14159265358979
shortEng 3.1416e+000
longEng 3.14159265358979e+000
+ +
bank 3.14
hex 400921fb54442d18
rat 355/113
Örnek ;
8
Bir matriste farklı tamsayı türlerini birleştirirseniz (örneğin, işaretsiz ile işaretli veya 8 bit
tamsayılar ile 16 bit tamsayılar), MATLAB tüm öğelerin tek bir ortak türden olduğu bir matris
döndürür. MATLAB, sonuç matrisinin tüm öğelerini, girdi matrisindeki en soldaki öğenin veri
türüne ayarlar. Örneğin, aşağıdaki birleştirmenin sonucu, üç adet 16 bitlik işaretli tam sayıdan
oluşan bir vektördür;
Nümerik ve nümerik olmayan değerleri bir satır vektörde ifade edecek olursanız; sonuç ilgili
sayılar arasındaki sol-en büyük tamsayı tipine döndürülür.
9
x matrisini; > compose(‘%x’,x) komutunu kullanarak matris formunda hexadecimal string
formuna dönüştürebiliriz;
En son cevap
ans
En son yaptığınız işlemin cevabı ans değişkeninde saklanır.
Komut Penceresini Temizle
clc
Workspace ekranını temizler
10
Komut Penceresi metnini dosyaya kaydet
Workspace’te gerçekleştirdiğiniz tüm işlemleri ve ekrana
raporlanan sonuçları bir dosya aktarmanızı sağlar. Örnek ;
diary
iskeyword
;
more Komut Penceresinde disk belleği çıktısını kontrol edin
commandwindow Komut Penceresini Seçin
commandhistory Komut Geçmişi penceresini aç
11
Veri girişinde > input komutu kullanılabilir ; Örnek alfanümerik ve nümerik veri girişi aşağıda
gösterilmiştir ;
Workspace üzerinde bir ad altında değişken olup olmadığını > exist komutuyla öğrenebilirsiniz.
12
MATLAB’de temel matris işleme komutları aşağıda verilmiştir ;
Tüm sıfırlardan oluşan bir dizi oluşturun
zeros
ones
rand
Mantıksal 1 (doğru)
true
false
Mantıksal 0 (yanlış) ;
birim matrisi
eye
Köşegen matris oluşturmak veya matrisin köşegen elemanlarını almak için kullanılır.
diag
13
Dizileri yatay olarak birleştir
horzcat
repmat
MATLAB’de grid formlu veri oluşturmak için aşağıda verilen komutlardan yararlanabilirsiniz;
14
2-B ve 3-B ızgara verisi oluşturur.
meshgrid
15
Bir dizinin şekil, boyut ve derecesini belirlemek için aşağıdaki komutlardan yararlanabilirsiniz;
length
dizi boyutu
size
ndims
numel
isscalar
16
Dizinin sıralanıp sıralanmadığını belirler
issorted
issortedrows
isvector
17
MATLAB’de verileri yeniden boyutlandırma işlevilerini aşağıdaki komutlar sağlar;
end
ind2sub
sub2ind
18
MATLAB yapısallaştırılmış -record / structure- değişkenler sağlamaktadır;
TOPLAMA
+ Toplama
Toplama
sum
Ardışık toplam
cumsum
Hareketli toplam
movsum
ÇIKARTMA
- Çıkartma
Fark veya sayısal türev
diff
ÇARPMA
Multiplication
.*
* Matris çarpımı
19
Dizindeki tüm elemanların çarpım sonucunu üret
prod
cumprod
.^
Matris üssü
TRAZPOZE
.' Vemtör veya matris transpozu
' Kompleks konjugate transpozu
20
Eşitliği belirle
==
>=
>
~=
isequaln Nan değerlerini eşit olarak ele alarak dizi eşitliğini belirleyin
MATLAB platformunda karakter tablosu işlemleri için UTF-16 karakter kodlarına ve tersine
aşağıdaki komutları kullanarak ulaşabilirisniz.
21
FOR-NEXT LOOP
Kullanılan sayaç (örnekte; i ) tarafından verilen adımlar boyunca for-end arasındaki işlemleri
tekrarlar. for-end döngüsüne, ‘ > continue’ komutuyla adım atlatabilirisniz.
IF-THEN
Koşullu işlem yapar
> 5045
IF-ELSE THEN
Çift koşulu işlem yapar
22
TRY-CATCH LOOP
> y=3
SWITCH-CASE LOOP
WHILE-END LOOP
23
PLOT komutu
24
Çok satırlı eksen adlandırma
25
BAR komutu ile çizim. Örneği inceleyiniz.
26
DOSYAYA VERİ YAZMAK
27
Eş-Yükseklik eğrilerinin etiketlenmesi için > <label komutundan yararlanabilirsiniz.
28
Yüzey çizimleri
Yüzey için basit bir render oluşturma işlemi aşağıdaki gibi yapılabilir.
29
İSTATİSTİKSEL HESAPLAMALAR
Ortalama (m) ve standart sapma (s) değerlerini aşağıda verildiği gibi hesaplayabilirsiniz ;
Aşağıda verilen örnekte gösterildiği gibi bir veri setine (x) , bir dağılım modeli uydurabilirsiniz.
MATLAB’de bir komut hakkında ayrıntılı bilgiye > help <KOMUT> yazarak erşebilirsiniz.
Örnek
30
İlgili komut hakkında daha fazla ayrıntıyı > help komutunun en altındaki dökümanlar
bölümünde bulabilirsiniz.
YÜZEY İNTERPOLASYONU
31
Gürültü Filtreleme
32
EĞRİ UYDURMAK
33
KÖKLERİ BİLİNEN POLİNOMU BULMAK
𝑥2 + 3 ⋅ 𝑥 − 4 = 0
34
BİR GÖRÜNTÜYE MEDIAN FİLTRE UYGULANMASI
35
K-MEANS METODUNA GÖRE GÖRÜNTÜ KÜMELEME
36
TEMEL İSTATİSTİKLER
5 0 −3
Örnek uygulama için ; x = 2 7 6 olarak tanımlansın.
−5 12 0
DETERMİNANT
ans = -537
ORTALAMA
>> mean2(x)
ans =2.66666666666667
ORTANCA (MEDİAN)
>> median(x(:))
ans =2
EN-BÜYÜK DEĞER
>> max(x(:))
ans = 12
EN-KÜÇÜK DEĞER
>> min(x(:))
ans = -5
>> std(x)
>> std(x(:))
ans =5.33853912601566
37
TRİGONOMETRİK FONKSİYONLAR
𝑡 𝑎çı𝑠ı = 450 ve 0 verilsin.
>> t=45;
>> beta=linspace(0,pi,1000);
SIN, COS, TAN VE COTAN
>> k=[sind(t) cosd(t); tan(t) cos(t)./sin(t)]
k= 0.707106781186548 0.707106781186548
1.61977519054386 0.617369623783555
DERECE→ GRAD ve DERECE → RADYAN açı dönüşümleri
>> grad=45*200/180
grad = 50
>> radyan=45*pi/180
radyan = 0.785398163397448
TRİGONOMETRİK FONKSİYONLARLA GRAFİK ÇİZİM ÖRNEKLERİ
38