instagram twitter linkedin github youtube

9.1.18

Matlab Ekranı

Komut Penceresi
Komut yazma
Geçerli dizin
M-file ve dosyaların
görünümü
Workspace
Program değişkenleri
Bir değişkeni Array editörde
görebilmek için çift tıklamak
gerekir.
Komut geçmişi
Geçmiş komutları görme
Bütün oturumu kaydetme

MATLAB komutları


MATLAB programı basit çözümlemelerin yanısıra ileri seviyedeki uygulamalara da cevap verebilecek nitelikte bir programdır. Kullanıcılar tarafından programlanabilir olması, MATLAB’in büyük avantajlarındandır. Aşağıda çok kullanılan temel MATLAB fonksiyonları tanıtılmıştır.
Roots: Bir polinomu sıfır yapan değerleri yani polinomun köklerini bulmak için kullanılan komuttur. Bu komutu aşağıdaki örnek ile açıklayalım.
Örnek :
Şekildeki eğri 3. dereceden bir polinoma aittir. Polinomun x eksenini kestiği noktaları (polinomun köklerini) bulmak için MATLAB programında komut satırında şu işlemlerin yapılması gerekmektedir.
>>a=[2,-3,-80,100]; Açıklama:Polinomun katsayıları a isimli vektöre atanıyor
>>roots(a) polinomun kökleri bulunuyor.
Satır sonunda kullanılan ; karakteri işlem sonucunun ekrana yazılmamasını sağlar. İşlem sonucunun ekranda görülmesi isteniyor ise satır sonunda ; işareti kullanılmamalıdır.
Roots komutu şu şekilde de kullanılabilir.
>>roots([2,-3,-80,100])
Komut sonucu : 6.4813
-6.2213
1.2400
Poly: Kökleri verilen polinomun katsayılarını bulmak için kullanılan komuttur.
Örnek :
>>r=[-8,2,8];
>>poly(r)
Polyval: Katsayıları ile tanımlanmış olan bir polinomun verilen değer için sonucunu hesaplamak için kullanılan fonksiyondur.
Örnek :
>>a=[3,-5,4,10];
>>polyval(a, 4.5)
Komut sonucu : 200.1250
Max: Verilen bir sayı dizisi içerisindeki en büyük değeri bulmak için kullanılan komuttur. Komutun kullanımına göre en büyük sayı değerinin dizi içerisindeki sırası da elde edilebilir.
Örnek :
>>x=[3,-5,4,10,5,20,4,15,12,-8];
>>max(x)
Komut sonucu : 20
>>[y,k]=max(x)
Komut sonucu : 20 (En büyük sayı)
6 (En büyük sayının dizideki yeri)
Min: Verilen bir sayı dizisi içerisindeki en küçük değeri bulmak için kullanılan komuttur. Komutun kullanımına göre en küçük sayı değerinin dizi içerisindeki sırası da elde edilebilir.
Örnek :
>>x=[3,-5,4,10,5,20,4,15,12,-8];
>>min(x)
Komut sonucu : -8
>>[y,k]=min(x)
Komut sonucu : -8
10
Sum: Verilen bir sayı dizisi içerisindeki elemanların toplamını bulmak için kullanılan komuttur.
Örnek :
>>x=[3,-5,4,10,5,20,4,15,12,-8];
>>sum(x)
Komut sonucu : 60
Mean: Verilen bir sayı dizisi içerisindeki sayıların ortalamasını bulmak için kullanılan komuttur.
Örnek :
>>x=[3,-5,4,10,5,20,4,15,12,-8];
>>mean(x)
Komut sonucu : 6
Sort: Verilen bir sayı dizisi içerisindeki sayıları küçükten büyüğe doğru sıralamak için kullanılan komuttur
Örnek :
>>x=[3,-5,4,10,5,20,4,15,12,-8];
>>sort(x)
Komut sonucu : -8 -5 3 4 4 5 10 12 15 20
Std: Verilen bir sayı dizisi içerisindeki sayıların standart sapmasını bulmak için kullanılan komuttur
Örnek :
>>x=[3,5,4,10,5,20,4,15,12,8];
>>std(x)
Komut sonucu : 5.6214
Hist: Verilen bir sayı dizisi içerisindeki sayıların dağılımını ekranda görüntülemek için kullanılan komuttur
Örnek :
>>x=[3,5,4,10,5,20,4,15,12,8,8,8,4,5,20,6,7,5,4,5,5,8,8];
>>hist(x)
Komut sonucu :

MATLAB’e ait yardımcı komutlar

pogram büyük/küçük harf duyarlıdır (case sensitive). Bu nedenle komutlar küçük harfler ile kullanılmalı, değişken tanımlamalarında da küçük ve büyük harf değişkenlerin farklı rakamları isimlendirmek için kullanılabileceğine dikkat edilmelidir.

dir : DOS işletim sisteminde kullanıldığı gibi aktif dizin içerisindeki dosyaların listesini görmek için kullanılan komuttur.

>>dİr Enter(Enter)

pwd : Aktif dizini görüntülemek için kullanılan komuttur.

>>pwd Enter (Enter)

clc : DOS işletim sistemindeki CLS (CLear Screen) komutu ile aynı işlevi gören komuttur. Ekranı temizlemek için kullanılır.

>>clc Enter (Enter)

whos: MATLAB programında o ana kadar tanımlanmış tüm değişkenleri görüntüler.

>>whos Enter (Enter)

clear : MATLAB programında o ana kadar tanımlanmış tüm değişkenleri hafızadan silmek için kullanılan komuttur.

>>clear Enter (Enter)

cd : MATLAB programı komut satırından aktif dizini değiştirmek için kullanılan komuttur.

>>cd dizinadı Enter (Enter)

help : MATLAB programında bir komuta ait yardım istenildiğinde komut satırında yardım alınacak komut ile birlikte kullanılır.

>>help komutadı  (Enter)

lookfor : MATLAB programı içerisinde genel bir arama yapmak için kullanılan komuttur.

>>lookfor konuadı (Enter)

MATLAB (MATrix LABoratuary)

MATLAB, yüksek performanslı bir uygulama yazılımı ve bir programlama
dilidir.
MATLAB’in temelindeki yapı, boyutlandırma gerektirmeyen matrislerdir.
Yaptığımız tüm girdi ve çıktılar, belirteç gerektirmeksizin bir matris
tanımlar.
İlk olarak Fortran dili ile yazılan MATLAB, daha sonra C ile yazılmıştır.

Matlab’de hazır programlar vardır. Bu programlara fonksiyon adı
verilir.
Matlab fonksiyonlarının kullanımı, matematikteki y=f(x) fonksiyonunun
kullanımıyla özdeştir.

Örneğin, a=sin(x) fonksiyonunda, sin fonksiyonu, x açısının (input-
girdi) değerini hesaplar; kullanıcı bu değeri, örneğin, bir a değişkenine

atar. a değeri sin fonksiyonunun bir çıktısıdır (output).

Avantajları:
Kullanım kolaylığı,
İşletim sistemi uyumluluğu,
Sayısal analiz işlemlerindeki kolaylıklar,
Hazır fonksiyonlar (function files),
Görüntüleme (visualization) kolaylığı (grafik çizim),
GUI geliştirme kolaylığı,
MATLAB derleyicisi (exe: executable dosya ile win32 uygulamaları),
Toolboxes (Araç kutuları) :hazır programlar!

Temel Komutlar

clc Command window’u temizler.
clear İlgili oturumda atanmış tüm değişkenleri siler.
clear a Yalnızca “a” değişkenini siler.
demo Matlab demosunu çalıştırır.
date Gün-Ay-Yıl’ı görüntüler (Örneğin, 17-Oct-2009)
exit Matlab oturumundan çıkar.
help Yardım menüsünü açar.
help f_na f_na fonksiyonu hakkında bilgi verir.
save d a a değişkenini d dosya ismiyle mat uzantılı olarak kaydeder.
load d a değişkenini d dosyasından geri çağırır.

Temel Dosya Türleri

*.m MATLAB program dosyaları

*.fig Grafik dosyaları ve GUI’lerin grafik parçaları

*.mat Değişken ve matris dosyaları

*.p pre-parsed pseudo-code dosyaları (bu dosyaların içeriği
görüntülenemez ancak program olarak çağrılabilir, yani MATLAB’de
çalıştırılabilir!)

Matris ve vektörler [ ] köşeli parantezleri ile tanımlanır.
Matris ve vektör girmenin 3 farklı yolu vardır:
Örneğin:

A=[1   3  5  ]
     [7   8 11 ]
     [10 1  4   ]
matrisin yazılışı
A=[1 3 5;7 8 11;10 1 4]

Temel Lineer komutları

inv(a) Bir a kare matrisinin tersini (inversini) alır.
a’ a matrisinin devriğini (transpozesini) alır.
det(a) a matrisinin determinantını hesaplar.
a+b Boyutları aynı olan a ve b matrisini toplar.
a-b Boyutları aynı olan a ve b matrislerinin farkını alır.
a*b Sütun sayısı m olan a matrisiyle satır sayısı m olan b matrisini çarpar.
a/b b düzenli kare bir matrisse (determinantı sıfırdan farklıysa), aynı boyutlu

a matrisiyle; a*inv(b) işlemini yapar.

a.*b Boyutları aynı olan a ve b matrislerinin elemanlarını karşılıklı olarak

çarpar.

a./b Boyutları aynı olan a ve b matrislerinin elemanlarını karşılıklı oranlar.
trace(a) Bir a matrisinin izini (köşegen elemanlarının toplamını) hesaplar.
diag(a) Bir kare a matrisinin köşegen elemanlarını bir sütun vektöre atar. Ya da
a bir vektör ise köşegenleri bu vektörün elemanlarından oluşan bir
köşegen matris oluşturur.

sum(a) a matrisinin her bir sütununun toplamını hesaplar. a bir vektör ise

sonuç, vektör elemanlarının toplamı olur.
triu(a) Bir matrisin üst üçgen matrisini oluşturur.
tril(a) Bir matrisin alt üçgen matrisini oluşturur.
zeros(m,n) m×n boyutlu sıfır matrisi oluşturur.
ones(m,n) m×n boyutlu elemanları “1” olan matris oluşturur.
eye(m) m×m boyutlu birim matris oluşturur.

a(:) a matrisinin sütunlarının ard arda dizilmesinden oluşan bir sütun

vektör oluşturur (vec operatörü)
a(:,i) a matrisinin i. sütununu alır.
a(j,:) a matrisinin j. satırını alır.
a(:,[i j]) a matrisinin i ve j. sütununu alır.
a([i j],:) a matrisinin i ve j. satırını alır.
e=a:b:n a, (a+b),...,n sayılarından oluşan bir satır vektör oluşturur.

Temel Matris Komutları

length(a) a matrisinin sütun sayısını verir. a bir vektör ise sonuç, a vektörünün

eleman sayısıdır.

[m,n]=size(a)a matrisinin satır sayısını (m) ve sütun sayısını (n) verir.
max(a) Bir a vektörünün en büyük elemanını gösterir.
min(a) Bir a vektörünün en küçük elemanını gösterir.
[m,i]=max(a) Bir a sütun vektörünün en büyük elemanını (m) ve bunun satır

numarasını verir.

[m,i]=min(a) Bir a sütun vektörünün en küçük elemanını (m) ve bunun satır

numarasını verir.

sort(a) Bir a vektörünün elemanlarını küçükten büyüğe sıralar.
a(:,i)=[] A’nın i. sütununu siler.
a(i,:)=[] A’nın i. satırını siler.

if (eğer) yapısı bir koşulun gerçekleşmesi durumunda bir işlemi yaptırmak için sıklıkla kullanılır.
Bu ifade,

if koşul
işlem
end

biçimindedir.

for,end döngüsü bir işlemin birden daha fazla sayıda yaptırılmasında kullanılır. (Örneğin, kök bulma problemlerinde kullanılan iterasyon çözümleri). Kullanımı,

for i=1:n (i→Tam sayı (integer))
işlem
end
biçimindedir.

Örnek: 1’den N’ye kadar olan sayıların toplamını yapan bir program düşünelim.

clear,clc
N=input('bir sayi giriniz=');
say=0; %sayac
for i=1:N
say=say+i; %birikimli (kümülatif toplam)
end
say


while,end döngüsü, belirli bir durumun gerçekleşmesi durumunda bir işlemin birden
daha fazla sayıda yaptırılmasında kullanılır.

done=0;
while done==0
işlem
end

Örnek: 1’den N’ye kadar olan sayıların toplamını while,end döngüsü ile yapan bir
program düşünelim.
clear,clc
N=input('bir sayi giriniz=');
say=0; i=0;done=0;
while done==0
i=i+1; %bir önceki örnekte for,end döngüsündeki “i” ye karşılık gelir.
if i==N
done=1;
end
say=say+i;
end
say


Matlab’de en temel çizim fonksiyonu plot’dur.
Örneğin, x=0:0.1:5 olan bir dizi vektör elemanlarına karşılık, y=x.^3+x.^2
fonksiyon değerleri hesaplatılsın.
plot(x,y) ile aşağıdaki grafik çizdirilir.

Çizilen grafiğin üzerinde birçok değişiklik
yapmak mümkündür.
Bunun için “Edit plot” düğmesi tıklanır.
İlgili nesne (çizdirilen eğri, eksenler vb.) iki
kez tıklanarak beliren “Property Editor”
penceresinden istenilen değişiklikler
yapılabilir.
Property Editor penceresinden yapılan her
türlü değişikliği, komut olarak yaptırmak
mümkündür.
Örneğin, plot(x,y,'-o') hem ardışık
noktaları şekildeki gibi birleştirir, hem de
x,y nokta çiftlerini grafik üzerinde bir “o”
sembolü ile işaretler.


Aynı eksen takımına farklı grafikleri çizdirmek için hold on ve hold off komutları
kullanılır. Bu iki komut arasına yazılan her türlü grafiğin çizimi aynı eksen
takımında gösterilir.
Örneğin, ya=[1;1.2;2.4;4.5] ve yb=[0.5;0.8;1.8;0] vektörleri ile ifade
edilen iki farklı ölçü grubunu x=[1;2;3;4] vektörüne göre aynı eksen takımında
çizdirmek için aşağıdaki komutları yazmak yeterlidir:
hold on, plot(ya), plot(yb,'r'),hold off

Not: Eğer x ekseni, bu örnekte
olduğu gibi, y değerlerinin indisini,
yani kaçıncı değer olduğunu,
gösteriyorsa, plot fonksiyonunda
x’in yeniden belirtilmesine gerek
yoktur.

Temel Komutlar
help y Bir y fonksiyonu için yardım
clear Atanan tüm değişkenlerin

silinmesi

clear x Bir x değişkeninin silinmesi
pwd Çalışma klasörü yolu
demo Matlab demo penceresi
save Matris kaydetme
load Matris geri çağırma
clc Çalışma penceresinin
temizlenmesi
Matematiksel Operatörler
+ Toplama
- Çıkarma
* Çarpma
/ Bölme
^ Üst alma
.* Elemanter çarpım
./ Elemanter bölme
.^ Elemanter üst alma
sqrt Kök alma
abs Mutlak değer
Mantıksal Operatörler
& Ve
| Veya
~ Değil
/ Bölme
Karar Operatörleri
> Büyüktür
< Küçüktür
>= Büyük eşittir
<= Küçük eşittir
== Eşittir
~= Eşit değildir

Semboller
% Açıklama getirme ifadesi
[ ] Matris girme ifadesi
( ) İndis ve değer girme ifadesi
= Değişken atama ifadesi
; Matrislerde satır ayıracı.
Ayrıca, içinde "=" bulunan
bir işlemin gösterilmemesi

: Kolon ifadesi
ans Değişken atanmamış en son
işlem için varsayılan
değişken ismi (answer)

{ } Hücre dizisi
x.adi x yapı dizisi
Sabit terimler
pi π sayısı
eps 2.2204e-016 sayısı
inf Sonsuz (belirsiz) ifadesi
Trigonometrik Fonksiyonlar
sin,cos,tan,cot Trig. Fonksiyonlar
asin,acos,atan,acot Ters Trig. ifadeler
Logaritmik Fonksiyonlar
log Doğal logaritma
exp Eksponansiyel
Lineer Cebir Fonksiyonları
det(x) Bir x matrisinin determinantı
inv(x) Bir x matrisinin tersi
trace(x) Bir x matrisinin izi
diag(x) Bir x matrisinin köşegen

elemanları

diag(y) Köşegenleri, bir y vektörünün
elemanları olan köşegen matris

zeros Sıfır matris
ones Birler matrisi
eye Birim matris
eig Özdeğer ve özvektör bulma

Matlab Hızlı Erişim Kılavuzu

2

Yazdırma Fonksiyonları
fprintf Bir ifadenin yazdırılması
sprintf Bir ifadenin bir karakter dizisine

atanması

disp Bir ifadenin ekran çıktısı olarak

gösterilmesi
Karakter dizisi fonksiyonları
num2str(x) Bir x sayısını bir karaktere

atama

str2num(x) Karakter olan bir x sayısını
sayı değerine atama
char(a) a hücresini bir karaktere

atama

char(s1,s2,...) s1,s2,... karakterlerinden
yeni bir karakter dizisi
oluşturma

lower(s) Bir s karakter dizisinin tüm
elemanlarını küçük harf
yapma

upper(s) Bir s karakter dizisinin tüm
elemanlarını büyük harf
yapma

isnumeric Bir değişkenin sayı olup
olmadığını sorgulama
ischar Bir değişkenin karakter
olup olmadığını sorgulama
iscell Bir değişkenin hücre olup
olmadığını sorgulama

Hazır GUI'ler

msgbox İleti penceresi
inputdlg Değer girme penceresi
questdlg Soru diyalog penceresi
uigetfile Open file diyalog penceresi
uigetdir Open directory diyalog pen.
Uiputfile Save file diyalog penceresi
Sayı yuvarlatma fonksiyonları
fix Sıfıra yuvarlatma
floor Negatif sonsuza yuvarlatma
ceil Pozitif sonsuza yuvarlatma
round En yakın tam sayıya
yuvarlatma

Bazı matematiksel fonksiyonlar
sum(x) Bir x vektör elemanlarının

toplamı

diff(x) Bir x vektör elemanlarının
ardışık farklandırılması
mean(x) Bir x vektör elemanlarının

ortalaması

median(x) Bir x vektör elemanlarının
orta değeri (medyanı)
sort(x) Bir x vektör elemanlarının
küçükten büyüğe sıralanması
max,min En büyük ve en küçük değer

bulma

sortrows İlgili sütuna göre küçükten
büyüğe sıralama

Programlama
if/end Eğer koşulu
for/next Döngü
while/end while döngüsü
input Değişken girdirme
Çizim
plot 2 boyutlu grafik
plot3 3 boyutlu grafik
hist,bar Histogram ve bar grafikleri
surf,mesh Yüzey grafikleri
figure Çizim penceresi oluşturma
(İki veya daha fazla sayıdaki
grafikleri ayrı pencerelerde
göstermek için)

hold on,
hold off

Farklı grafikleri aynı eksen
takımında çizdirme
komutları
axis Eksen komutu
axis equal Eksenleri eşit ölçek katsayısı

ile ölçeklendirme
stem Çubuk grafik
plotyy Çift y eksenli grafik
errorbar Hata bar grafiği



2.1.18

Javada Metod Örnekler

public class Hex2Decimal {

    public static int hex2Decimal(String s) {
        String digits = "0123456789ABCDEF";
        s = s.toUpperCase();
        int val = 0;
        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            int d = digits.indexOf(c);
            val = 16*val + d;
        }
        return val;
    }
   public static String decimal2Hex(int d) {
        String digits = "0123456789ABCDEF";
        if (d == 0) return "0";
        String hex = "";
        while (d > 0) {
            int digit = d % 16;                // rightmost digit
            hex = digits.charAt(digit) + hex;  // string concatenation
            d = d / 16;
        }
        return hex;
    }

    public static void main(String[] args) {
        int decimal = hex2Decimal(args[0]);
        StdOut.println(decimal);

        String hex = decimal2Hex(decimal);
        StdOut.println(hex);
    }
}
package metodlar;

public class Metodlar {

    public static void main(String[] args) {
        
        EkranaYaz();
                static void EkranaYaz(){
                    System.out.println("EkranaYaz metodu çağrıldı");
                }


    }
    
}
package metodlar;

public class Metodlar {

    public static void main(String[] args) {
        
        carp();
                static void carp(){
                    System.out.println(3*5);
                }


    }
    
}
package metodlar;

public class Metodlar {

    public static void main(String[] args) {
        System.out.println(isim());
static String isim(){
    return "Harun";
}


    }
    
}
package metodlar;

public class Metodlar {

    public static void main(String[] args) {
        System.out.println(fark());
static int fark(){
    return 10-5;
}


    }
    
}
package metodlar;

public class Metodlar {

    public static void main(String[] args) {
        EkranaYaz("EkranaYaz metodu çağrıldı");

static void EkranaYaz(String yazılacak){
    System.out.println(yazılacak);
}
    }    
}
package metodlar;

public class Metodlar {

    public static void main(String[] args) {
        carp(10,13);

static void carp(int sayi1,int sayi2){
    System.out.println(sayi1*sayi2);
}
    }    
}
package metodlar;

public class Metodlar {

    public static void main(String[] args) {
        int a,b;
        a=islem(5,3);
        b=islem(10,8);
        System.out.println("a="+a+"b="+b);

static int islem(int x,int y){
    return ((x*x)-(y*y));
}
    }    
}
package metodlar;

public class Metodlar {

    public static void main(String[] args) {
        System.out.println("Büyük olan"+BüyükSayi(158, 153));

        static int BüyükSayi(int a,int b){
            int büyükolan;
            if(a>b)
                büyükolan=a;
            else
                büyükolan=b;
            return büyükolan;
            
}
    }    
}
package metodlar;

public class Metodlar {

    public static void main(String[] args) {
        kökler(1, -2, 1);

        static void kökler(int a,int b,int c){
            double delta=(b*b)-(4*a*c);
            if(delta>0){
                System.out.println("denklemin iki kökü var bunlar:");
            System.out.println((-b+Math.sqrt(delta))/(2*a));
            System.out.println((-b-Math.sqrt(delta))/(2*a));
            }
            else if(delta==0){
                System.out.println("denklemin tek kökü vardır bunlar:");
                System.out.println(-b/(2*a));
            }
            else if(delta<0){
                System.out.println("kök yoktur");
            }
}
    }    
}
package metodlar;

public class Metodlar {

    public static void main(String[] args) {
        System.out.println("5'in faktoriyeli: "+faktoriyel(5));

   static int faktoriyel(int sayi){   
       int faktöriyeli=1;
        for(int i=1;i<=sayi;i++){
          faktöriyeli=faktöriyeli*i;
        }
        return faktöriyeli;
}
    }    
}
package metodlar;

public class Metodlar {

    public static void main(String[] args) {
        int []dizi={1,2,3};
        KareAl(dizi);
        for(int i:dizi){
            System.out.println(i);
        }
        
}
    static void KareAl(int []dizi){
        for(int i=0;i<dizi.length;i++){
            dizi[i]=dizi[i]*dizi[i];
            
        }
    }    
}
package metodlar;

public class Metodlar {

    public static void main(String[] args) {
        int []dizi={1,2,3};
        KareAl(dizi);
        for(int i:dizi){
            System.out.println(i);
        }
        elemanYaz(dizi[2],2);
}
    static void KareAl(int []dizi){
        for(int i=0;i<dizi.length;i++){
            dizi[i]=dizi[i]*dizi[i];
            
        }
    }   
    static void elemanYaz(int sayi,int indis){
        System.out.println("Dizinin"+indis+".indisindeki eleman"+sayi);
    }
}

import java.util.Scanner;
public class Metodlar {
    
    public static void faktoriyel(){
        Scanner klavye=new Scanner(System.in);
        System.out.println("Sayi:");
        int sayi=klavye.nextInt();
        int faktoriyel=1;
        while(sayi>0){
            faktoriyel*=sayi;
        sayi--;
    }
        System.out.println("Faktoriyel: "+faktoriyel);
    }

    public static void main(String[] args) {
        faktoriyel();
  
    }
}
public class Metodlar {
    
    public static void selamlama(String isim){
        System.out.println("Naber"+isim);
    }


    public static void main(String[] args) {
        selamlama("Harun");
        selamlama("Aygün");
    }
public class Metodlar {
    
    public static void toplama(int a,int b,int c){
        System.out.println("Toplamları: "+(a+b+c));
    }


    public static void main(String[] args) {
        toplama(3, 4, 5);
    }
        
    }