MATLABın açılımı matrix laboratorydir. Sayısal hesaplama ve dördüncü nesil programlama dilidir. MathWorks tarafından geliştiriliyor. MATLAB, matris işlenmesine, fonksiyonlar ve veri çizilmesine, algoritmalar uygulanmasına, kullanıcı arayüzü oluşturulmasına ve diğer dillerle yazılmış programlar ile etkileşim oluşturulmasına izin verir.
C, C++, Java, ve Fortran dillerini içerir. İstatistik veya Nümerik Analizi dersi görenler büyük ihtimal ile MATLAB programını kullanırlar.
MATLAB, öncelikli olarak sayısal işleme yönelik üretilmiş olmasına rağmen, isteğe bağlı olarak sembolik hesaplama yapabilen MuPAD sembolik motorunu kullanır. Ek paket, dinamik ve gömülü sistemler için Simulinki, grafiksel çoklu alan simülasyonunu ve model tabanlı tasarımı ekler.
2004′te, MATLAB akademik ve endüstriyel alandaki kullanıcı sayısı bir milyon civarındaydı. MATLAB kullanıcıları mühendislik, bilim, ve ekonomi gibi çeşitli alanlardan gelmektedir. MATLAB, yaygın olarak akademik ve araştırma kurumlarında olduğu kadar endüstriyel işletmelerde de çok kullanılmaktadır.
MATLABin Tarihi
Cleve Moler, New Mexico Üniversitesinde bilgisayar bilimi bölümünün başkanıydı, 1970′lerin sonunda MATLABı geliştirmeye başladı. Cleve Moler, öğrencilerine öğretmek için LINPACK ve EISPACKı tasarlamıştır, bunların dışında Fortran programlama dilini de öğrencilerine öğretmiştir. Uygulamalı matematik, yakın bir zaman içerisinde diğer üniversiteler ve toplum içinde güçlü bir kitle tarafından benimsenmiştir.
Moler, 1983 yılında Stanford Üniversitesine yaptığı bir ziyaret sırasında Jack Little ile tanışmıştır. Ticari potansiyeli gören Steve Bangert da onlara katılmıştır. MATLABı C ile tekrar yazmışlar ve geliştirmeye devam etmek için 1984′te MathWorksü kurmuşlardır. Yeniden yazılan kütüphaneler JACKPAC olarak bilinir. 2000′de, LAPACK matris işleme için yeni kütüphane kümeleri oluşturmak için MATLAB yeniden yazılmıştır.
MATLAB, ilk olarak kontrol mühendisliğindeki araştırmacılar ve uygulayıcılar tarafından kabul edildi. Ayrıca şuan eğitim alanında da kullanılmaktadır, özellikle doğrusal cebir, sayısal analiz öğretiminde ve görüntü işleme bilim adamları arasında popülerdir.
MATLAB Değişkenler
Değişkenler, = atama operatörü kullanılarak tanımlanır. MATLAB zayıf ve dinamik tipli bir programlama dilidir. Zayıf tipli bir dildir çünkü tipler dolaylı olarak dönüştürülür. Dinamik tipli bir dildir çünkü değişkenler, değişken türü yazılmadan da atanabilirler, sembolik nesne olarak kabul edilip işlenirler ve tipleri değiştirilebilir. Değişkenler, sabitlerden, diğer değişkenlerin değerlerini içeren işlemlerden, ya da bir fonksiyonun çıkışından tanımlanabilir.
MATLAB Vektörler ve Matrisler
MATLAB ile 1, 2 veya daha fazla boyutlarda dizileri oluşturup işleyebilirsiniz. MATLAB lehçesinde, bir vektör tek boyutlu bir matris anlamına gelir, diğer programlama dillerinde genellikle bir dizi olarak adlandırılır. Bir matris, genel olarak, 2-boyutlu bir dizi anlamına gelir, örnek vermek gerekirse, m ve n, 1′den daha büyük bir m×n dizisidir. İkiden daha büyük boyuttaki diziler, çok boyutlu diziler olarak adlandırılır. Diziler, açık döngüler olmadan, temel tipli ve birçok standart fonksiyonları yerel olarak destekleyip işlemler yapılmasına izin verir. Bu nedenle MATLAB dili, aynı zamanda bir dizi programlama dili örneğidir.
MATLABın Diğer Diller ile Etkileşimi
MATLAB ile C programlama dili ya da Fortrandaki fonksiyonlar çağırılabilir ve altprogramlar yazılabilir. Çevirici bir fonksiyon MATLAB veri tiplerini geçişli ve devamlı olarak oluşturabilir. Bu şekilde derlenen fonksiyonlar tarafından oluşturulan dinamiksel yüklenebilir nesne dosyaları, MEX-files (MATLAB executable) olarak adlandırılır.
Java, ActiveX ya da .NET ile yazılan kütüphaneler, direkt olarak MATLABdan çağrılabilir ve bir çok MATLAB kütüphanesi (örneğin XML ya da SQL desteği), Java veya ActiveX kütüphaneleri çerçevesinde wrapper olarak uygulanabilir. MATLABda, Javadan çağrışım yapmak çok karmaşıktır, fakat MATLAB ile genişletilebilir, MathWorks tarafından ayrı olarak satılır, ya da JMI adlı belgelenmemiş bir mekanizma kullanılır (Java-to-MATLAB Interface), JMI, Java Met@data Interface ile karıştırılmamalıdır.
Alternatif olarak, MathWorksun geliştirdiği, MuPAD tabanlı Symbolic Math Toolbox (Sembolik Matematik Araç Seti) kullanılabilir, MATLAB Maple ya da Mathematica ile bağlantı kurabilir.
MathML giriş ve çıkışları için kütüphanelerin bulunması gerekmektedir.