**MATLAB** (**mat**rix **lab**oratory), çok paradigmalı sayısal hesaplama yazılımı ve dördüncü nesil programlama dilidir. Sahipli bir programlama dili olan MATLAB, MathWorks tarafından geliştirilmektedir. MATLAB kullanıcıya, matris işleme, fonksiyon ve veri çizme, algoritma uygulama, kullanıcı arayüzü oluşturma, C, C++, Java, ve Fortran gibi diğer dillerde yazılmış programlarla arabağlama imkânı tanır.

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 Simulink'i, 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.

Tarih
-----

Cleve Moler, New Mexico Üniversitesi'nde 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 Üniversitesi'ne 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 şu an 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.

Söz dizimi
----------

MATLAB uygulaması, MATLAB dili çerçevesinde geliştirilmiştir.

### 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. Örneğin:

```
>> x = 17
x =
 17
>> x = 'hat'
x =
hat
>> y = x + 0
y =
 104 97 116
>> x = [3\*4, pi/2]
x =
 12.0000 1.5708
>> y = 3\*sin(x)
y =
 -1.6097 3.0000

```

### Vektörler/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.

Basit bir dizi şunlar kullanılarak tanımlanır: *init*`:`*increment*`:`*terminator*. Örneğin:

```
>> dizi = 1:2:9
dizi =
 1 3 5 7 9

```

Değişken ismi `dizi` olarak tanımlanır (veya yeni değeri `dizi` adında mevcut bir değişkene atar). Bu dizi 1, 3, 5, 7, ve 9 değerlerinden oluşur. Diğer bir deyişle, dizi 1 değeri (*init* değeri) ile başlar, her adımda ikişer ikişer (2) (*increment* değeri) artar, ve 9'a (*terminator* değerine) ulaştığında durur (ya da aşılmasını önler).

```
>> dizi = 1:3:9
dizi =
 1 4 7

```

1 değerini varsayılan değer olarak kullanmak için, *increment* değeri aslında bu sözdiziminin dışında bırakılabilir (kolonlardan biri ile birlikte).

```
>> ari = 1:5
ari =
 1 2 3 4 5

```

1, 2, 3, 4, ve 5 değerlerini `ari` adındaki dizi değişkenine aktarır, varsayılan 'incrementer' (artırıcı) değer 1'dir.

Matrisler, satır elemanları ile boşluk veya virgül ile ayırarak tanımlanabilir ve her satırı sonlandırmak için noktalı virgül kullanılır. Liste elemanları köşeli parantez ile belirtilmeli: []. Parantezler: () elemanları ve altdizileri çağırır (bunlar, aynı zamanda, değişken listesini bağımsız bir işlem olarak belirtmek için kullanılır).

```
>> A = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1]
A =
 16 3 2 13
 5 10 11 8
 9 6 7 12
 4 15 14 1

>> A(2,3)
ans =
 11

```

Örneğin [2, 3, 4] indisi, "2:4" ifadesi ile belirtilebilir. Örneğin, bir submatrix, 2 satır 4 aracılığıyla ve 3 sütun 4 aracılığıyla şu şekilde yazılabilir:

```
>> A(2:4,3:4)
ans =
 11 8
 7 12
 14 1

```

*eye* fonksiyonu kullanılarak *n* boyutlu bir kare birim matrisi oluşturulabilir, ve *zeros* ve *ones* fonksiyonları sırasıyla, boyutu sıfır ya da bir olan matrisler üretebilir.

```
>> eye(3)
ans =
 1 0 0
 0 1 0
 0 0 1
>> zeros(2,3)
ans =
 0 0 0
 0 0 0
>> ones(2,3)
ans =
 1 1 1
 1 1 1

```

En çok MATLAB fonksiyonları matrisler kabul edebilir ve her öğeyi kendisi gibi kabul edecektir. Örneğin, `mod(2*J,n)` "J"deki her öğeyi çoklu olarak 2 ile çarpacaktır, ve sonra her eleman modulo "n"yi düşürecektir. MATLAB standart "for" ve "while" döngülerini içerir, fakat (R'ye benzer uygulamalarda olduğu gibi), genellikle vektör notasyonunu kullanarak daha hızlı çalıştırmak için kod üretir. Bu kod, *magic.m* fonksiyonunun bir bölümüdür, *n*nin tekli değerleri için *M* sihirli karesini oluşturur (burada, MATLAB *meshgrid* fonksiyonu I ve J'nin içerdiği 1:n kare matrisi oluşturmak için kullanılmıştır).

```
[J,I] = meshgrid(1:n);
A = mod(I + J - (n + 3) / 2, n);
B = mod(I + 2 \* J - 2, n);
M = n \* A + B + 1;

```

### Yapılar

MATLAB, yapısal veri tiplerine sahiptir. MATLAB dizilerindeki bütün değişkenlerden itibaren, daha uygun bir adı "structure array"dır, dizinin bütün elemanları aynı ada sahiptir. Buna ek olarak, MATLAB dinamik alan adlarını destekler (look-up alan adları, alan manipülasyonları, vb.). Fakat maalesef, MATLAB JIT (Just In Time) MATLAB yapılarını desteklemez, bu yüzden çeşitli yapısal değişkenlerin sadece basit bir paketi bile maliyetli olacaktır.[*kaynak belirtilmeli*]

### Fonksiyon kolları

MATLAB, fonksiyon tanıtan kollar tarafından lambda-calculus elemanlarını veya referans fonksiyonlarını destekler, .m uzantılı ya da uzantısı olmayan dosyaları/yuvalanmış işlevleri, her ikisini de destekler.

### Sınıflar

MATLAB birçok sınıfa sahip olmasına rağmen, söz dizimi ve arama kuralları diğer programlama dillerine göre farklı ve düzenlidir.
MATLAB, değişken sınıflarına ve referans sınıflarına sahiptir, sınıflar super-class olarak *handle*ye sahip olabilir (referans sınıfları için) ya da olmayabilir (değişken sınıfları için).

Metot çağırma, ara değişken ve referans sınıflarından farklıdır. Örneğin, metot çağırma,

```
object.method();

```

referans sınıfının bir örneği olan *object* yalnızca kendisinin bir üyesini değiştirebilir.

Grafik ve grafiksel kullanıcı arayüzü programlama
-------------------------------------------------

MATLAB, geliştirme uygulamalarıyla beraber grafiksel kullanıcı arayüzü özelliklerini de destekler.
Ayrıca graph-plotting özellikleri de sıkıca entegre edilmiştir. Örneğin *plot* fonksiyonunda 2 vektör ile grafik üretilebilir. *x* ve *y*. Kod:

```
x = 0:pi/100:2\*pi;
y = sin(x);
plot(x,y)

```

Ardından sinüs fonksiyonu ile şekiller üretilebilir:

MATLAB programı 3 boyutlu grafikler oluşturmak için *surf*, *plot3* ya da *mesh* fonksiyonlarını kullanır.

|  |  |  |
| --- | --- | --- |
| 
```
[X,Y] = meshgrid(-10:0.25:10,-10:0.25:10);
f = sinc(sqrt((X/pi).^2+(Y/pi).^2));
mesh(X,Y,f);
axis([-10 10 -10 10 -0.3 1])
xlabel('{\bfx}')
ylabel('{\bfy}')
zlabel('{\bfsinc} ({\bfR})')
hidden off

```
 |     | 
```
[X,Y] = meshgrid(-10:0.25:10,-10:0.25:10);
f = sinc(sqrt((X/pi).^2+(Y/pi).^2));
surf(X,Y,f);
axis([-10 10 -10 10 -0.3 1])
xlabel('{\bfx}')
ylabel('{\bfy}')
zlabel('{\bfsinc} ({\bfR})')

```
 |
| Bu kod sinüs fonksiyonu ile normalleştirilmemiş 2 boyutlu 3D **wireframe** grafiğini üretir: |     | Bu kod sinüs fonksiyonu ile normalleştirilmemiş 2 boyutlu 3D **surface** grafiğini üretir: |
|  |     |  |

MATLAB'da GUI tasarım araçlarıyla (GUIDE) grafiksel kullanıcı arayüzleri oluşturulabilir.

Nesne yönelimli programlama
---------------------------

MATLAB'ın nesne yönelimli programlama için desteklediği sınıflar, inheritance, virtual dispatch, paketler, pass-by-value semantikleri, ve pass-by-reference semantikleridir.

```
classdef merhaba
 methods
 function doit(this)
 disp('Merhaba!')
 end
 end
end

```

merhaba.m adlı bir dosyanın içine koyduğunuzda, aşağıdaki komutlarla çalışacaktır:

```
>> x = merhaba;
>> x.doit;
Merhaba!

```

Diğer dillerle etkileşim
------------------------

MATLAB ile C programlama dili ya da Fortran'daki 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" (**M**ATLAB **ex**ecutable) olarak adlandırılır.

Java, ActiveX ya da .NET ile yazılan kütüphaneler, direkt olarak MATLAB'dan ç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. MATLAB'da, Java'dan ç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 Metadata Interface ile karıştırılmamalıdır.

Alternatif olarak, MathWorks'un 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.

Lisans
------

MATLAB, MathWorks şirketinin tescilli bir üründür, bu yüzden kullanıcılar satıcıya bağlıdır. MATLAB Builder kütüphane dosyalarıyla MATLAB fonksiyonları dağıtılıp, .NET veya Java uygulaması oluşturulabiliyor olmasına rağmen, ileriki gelişimi MATLAB diline bağlı olacaktır.

Her araç kutusu ayrı olarak satın alınmaktadır. Eğer değerlendirme lisansı talep edilirse, MATLAB değerlendirmesi için MathWorks satış departmanı proje hakkında detaylı bilgi talep eder. Bir lisans edinmenin tüm süreçleri, para ve zaman şartlarından dolayı çok pahalıdır[*kaynak belirtilmeli*]. Değerlendirme lisansı 2 veya 4 hafta içinde değerlendirilip verilir. MATLAB'ın öğrenci versiyonu da mevcuttur.

Şikayet eden AB antitröst düzenleyicileri Mathworks'ün rakip lisansları satmayı reddedip reddetmediğini araştırıyor.

Alternatifler
-------------

Ayrıca bakınız: Sayısal analiz
Alternatif olarak MATLAB'ın rakibi olan firmalar var. Ticari rakipleri de dahil olmak üzere, Mathematica, Maple, NAG, ITT Visual Information Solutions tarafından geliştirilen IDL, masaüstü alternatifi olarak ise Metlynx ve GNU Octave Xoctave13 Mart 2020 tarihinde Wayback Machine sitesinde arşivlendi. vardır.

Ayrıca diğer alternatif yazılımlar ücretsiz ve açık kaynakdır, özellikle GNU Octave, FreeMat, ve Scilab MATLAB dili ile son derece uyumlu olarak tasarlanmıştır.

NCLab16 Eylül 2020 tarihinde Wayback Machine sitesinde arşivlendi. Octave'nin bulut arayüzü olmasını sağlar, kullanıcıların web tarayıcısında MATLAB dosyalarını kaydetmesine ve çalıştırmasına izin verir. NCLab, kişisel, ticari amaç ile kullanmayan kullanıcılar için ücretsizdir ve hemen hemen hiçbir kısıtlama yoktur. Kurumlar ise sembolik bir abonelik ücretini öderler.

Diğer diller arasında basit olarak davranan diziler(dizi programlama dilleri), APL ve J, Fortran 90'dan daha yüksektir, istatistiksel bir dil olan S kadar iyidir (S'in ana uygulamaları S-PLUS ve popüler açık kaynak olan R).

Ayrıca, IT++ için C++, Perl Data Language için Perl, *ScalaLab* için Scala ve SciPy ile birlikte NumPy ve Matplotlib için Python gibi mevcut dillerdeki çeşitli kütüphanelere benzer fonksiyonlar eklenebilir.

Sürüm geçmişi
-------------

| Sürüm!! Sürüm adı | Sürüm numarası | Bundled JVM | Yıl | Sürüm tarihi | Sürüm notu |
| --- | --- | --- | --- | --- | --- |
| MATLAB 1.0 |  |  |  | 1984 |  |
| MATLAB 2 |  |  |  | 1986 |  |  |
| MATLAB 3 |  |  |  | 1987 |  |
| MATLAB 3.5 |  |  |  | 1990 |  | MS-DOS üzerinde çalışır fakat en az 386 işlemcisi gerekmektedir. 3.5m sürümü olan bir matematik işlemcisi gereklidir. |
| MATLAB 4 |  |  |  | 1992 |  |
| MATLAB 4.2c | R7 |  |  | 1994 |  | Windows 3.1 üzerinde çalışır. Matematik işlemcisi gereklidir. |
| MATLAB 5.0 | R8 |  |  | 1996 | Aralık, 1996 |
| MATLAB 5.1 | R9 |  |  | 1997 | Mayıs, 1997 |
| MATLAB 5.1.1 | R9.1 |  |  |  |
| MATLAB 5.2 | R10 |  |  | 1998 | Mart, 1998 |
| MATLAB 5.2.1 | R10.1 |  |  |  |
| MATLAB 5.3 | R11 |  |  | 1999 | Ocak, 1999 |
| MATLAB 5.3.1 | R11.1 |  |  | Kasım, 1999 |
| MATLAB 6.0 | R12 | 12 | 1.1.8 | 2000 | Kasım, 2000 | Bundled Java machine(JVM)'nin ilk sürümü. |
| MATLAB 6.1 | R12.1 |  | 2001 | Haziran, 2001 |
| MATLAB 6.5 | R13 | 13 |  | 2002 | Temmuz, 2002 |
| MATLAB 6.5.1 | R13SP1 |  | 2003 |  |
| MATLAB 6.5.2 | R13SP2 |  |  |
| MATLAB 7 | R14 | 14 | 1.4.2 | 2004 | Haziran, 2004 |
| MATLAB 7.0.1 | R14SP1 |  | Ekim, 2004 |
| MATLAB 7.0.4 | R14SP2 | 1.5.0 | 2005 | 7 Mart, 2005 |
| MATLAB 7.1 | R14SP3 | 1.5.0 | 1 Eylül, 2005 |
| MATLAB 7.2 | R2006a | 15 | 1.5.0 | 2006 | 1 Mart, 2006 |
| MATLAB 7.3 | R2006b | 16 | 1.5.0 | 1 Eylül, 2006 | HDF5 tabanlı MAT dosya desteği |
| MATLAB 7.4 | R2007a | 17 | 1.5.0\_07 | 2007 | 1 Mart, 2007 |
| MATLAB 7.5 | R2007b | 18 | 1.6.0 | 1 Eylül, 2007 | PowerPC, Mac ve Windows 2000 için son sürüm. Windows Vista için lisans server desteği |
| MATLAB 7.6 | R2008a | 19 | 1.6.0 | 2008 | 1 Mart, 2008 |
| MATLAB 7.7 | R2008b | 20 | 1.6.0\_04 | 9 Ekim, 2008 |
| MATLAB 7.8 | R2009a | 21 | 1.6.0\_04 | 2009 | 6 Mart, 2009 | 32-bit ve 64-bit Microsoft Windows 7 için ilk sürüm. |
| MATLAB 7.9 | R2009b | 22 | 1.6.0\_12 | 4 Eylül, 2009 | Intel 64-bit Mac için ilk sürüm. SPARC ve Solaris için son sürüm. |
| MATLAB 7.9.1 | R2009bSP1 | 1.6.0\_12 | 2010 | 1 Nisan, 2010 |  |
| MATLAB 7.10 | R2010a | 23 | 1.6.0\_12 | 5 Mart, 2010 | Intel 32-bit Mac için son sürüm. |
| MATLAB 7.11 | R2010b | 24 | 1.6.0\_17 | 3 Eylül, 2010 |
| MATLAB 7.11.1 | R2010bSP1 | 1.6.0\_17 | 2011 | 17 Mart, 2011 |
| MATLAB 7.12 | R2011a | 25 | 1.6.0\_17 | 8 Nisan, 2011 |  |
| MATLAB 7.13 | R2011b | 26 | 1.6.0\_17 | 1 Eylül, 2011 |
| MATLAB 7.14 | R2012a | 27 |  | 2012 | 1 Mart, 2012 |
| MATLAB 8 | R2012b | 28 |  | 11 Eylül, 2012 |

Sürüm numarası, Concurrent License Manager programı olan FlexLM tarafından bildirilen sürümdür.

Dosya uzantıları
----------------

### Yerel

.figMATLAB figürü
.mMATLAB fonksiyonu, scripti, ya da sınıfı
.matMATLAB depolama değişkenleri için binary dosyası
.mex...MATLAB executable (belirli platform, ör. Mac için ".mexmac", Linux için ".mexglx" vb.)
.pMATLAB content-obscured .m dosyası (result e())
### Üçüncü parti

.jktMATLAB için Jacket tarafından oluşturulan GPU önbellek dosyası (AccelerEyes)
.mumMATLAB CAPE-OPEN Unit Operation Model File (AmsterCHEM)

Ayrıca bakınız
--------------

* Sayısal analiz
* Görüntü işleme

Notlar
------

1. ↑  Hata: Referans düzgün görüntülenemiyor. Bilgi için belgeleme sayfasına bakınız.
2. ↑  "Requirements". MathWorks. Erişim tarihi: 7 Haziran 2010. [*ölü/kırık bağlantı*]
3. ↑  "An interview with CLEVE MOLER Conducted by Thomas Haigh On 8 and 9 March, 2004 Santa Barbara, California" (PDF). Computer History Museum. 27 Aralık 2014 tarihinde kaynağından (PDF) arşivlendi. Erişim tarihi: 6 Aralık 2016. So APL, Speakeasy, LINPACK, EISPACK, and PL0 were the predecessors to MATLAB.
4. ↑  Bezanson, Jeff; Karpinski, Stefan; Shah, Viral; Edelman, Alan (14 Şubat 2012). "Why We Created Julia". Julia Language. 19 Şubat 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 1 Aralık 2016.
5. ↑  Eaton, John W. (21 Mayıs 2001). "Octave: Past, Present, and Future" (PDF). *Texas-Wisconsin Modeling and Control Consortium*. 9 Ağustos 2017 tarihinde kaynağından (PDF) arşivlendi. Erişim tarihi: 1 Aralık 2016.
6. ↑  "History". Scilab. 1 Aralık 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 1 Aralık 2016.
7. ↑  S.M. Rump: INTLAB – INTerval LABoratory. In Tibor Csendes, editor, Developments in Reliable Computing, pages 77–104. Kluwer Academic Publishers, Dordrecht, 1999.
8. ↑  Moore, R. E. Kearfott, R. B. & Cloud, M. J. (2009). Introduction to Interval Analysis. Society for Industrial and Applied Mathematics.
9. ↑  Rump, S. M. (2010). Verification methods: Rigorous results using floating-point arithmetic. Acta Numerica, 19, 287–449.
10. ↑  Hargreaves, G. I. (2002). Interval analysis in MATLAB. Numerical Algorithms, (2009.1).
11. ↑  "Protect Your Source Code". MathWorks. 7 Ekim 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 1 Kasım 2019.
12. ↑  "MEX Platform Compatibility". MathWorks. 11 Mart 2014 tarihinde kaynağından arşivlendi. Erişim tarihi: 1 Kasım 2019.
13. ↑  "MAT-File Versions". MathWorks. 11 Kasım 2013 tarihinde kaynağından arşivlendi. Erişim tarihi: 1 Kasım 2019.
14. ↑  "Save Figure to Reopen in MATLAB Later". MathWorks. 15 Mart 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 1 Kasım 2019.
15. ↑  "Live Code File Format (.mlx)". MathWorks. 1 Nisan 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 1 Kasım 2019.
16. ↑  "MATLAB App Designer". MathWorks. 27 Nisan 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 1 Kasım 2019.
17. ↑  "Toolbox Distribution". MathWorks. 18 Eylül 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 1 Kasım 2019.
18. ↑  "MATLAB App Installer File". MathWorks. 17 Ocak 2014 tarihinde kaynağından arşivlendi. Erişim tarihi: 1 Kasım 2019.
19. ↑  "Support Package Installation". MathWorks. 6 Ekim 2014 tarihinde kaynağından arşivlendi. Erişim tarihi: 1 Kasım 2019.
20. 1 2  Richard Goering, "Matlab edges closer to electronic design automation world 29 Eylül 2007 tarihinde Wayback Machine sitesinde arşivlendi." *EE Times*, 10/04/2004
21. 1 2  Cleve Moler, the creator of MATLAB (Aralık 2004). "The Origins of MATLAB". 16 Ekim 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 15 Nisan 2007.
22. ↑  "MATLAB Programming Language". 2 Ocak 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Aralık 2010.
23. ↑  Note from Cleve Moler in a Mathworks newsletter Cleve Moler, the creator of MATLAB (2000). "MATLAB Incorporates LAPACK". Erişim tarihi: 20 Aralık 2008. [*ölü/kırık bağlantı*]
24. ↑  "MATLAB technical documentation". Mathworks.com. Erişim tarihi: 7 Haziran 2010. [*ölü/kırık bağlantı*]
25. ↑  [*ölü/kırık bağlantı*] Documentation on MATLAB in relation to other languages
26. ↑  sym function 3 Mart 2009 tarihinde Wayback Machine sitesinde arşivlendi. Documentation for the MATLAB Symbolic Toolbox
27. ↑  Scott T. Smith (2006). *Matlab: Advanced GUI Development*. Dog Ear Publishing. ISBN 9781598581812.
28. ↑  "MATLAB Class Overview". Mathworks.com. Erişim tarihi: 7 Haziran 2010.
29. ↑  "MATLAB external interface guide". Erişim tarihi: 25 Mayıs 2008. [*ölü/kırık bağlantı*]
30. ↑  Spielman, Dan (10 Şubat 2004). "Connecting C and Matlab". Yale University, Computer Science Department. 3 Temmuz 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 20 Mayıs 2008.
31. ↑  "MATLAB Builder JA". MathWorks. Erişim tarihi: 7 Haziran 2010.
32. ↑  "Java-to-Matlab Interface". Undocumented Matlab. 14 Nisan 2010. 5 Eylül 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Haziran 2010.
33. ↑  Mathsource item #618 for calling MATLAB from Mathematica 22 Ekim 2012 tarihinde Wayback Machine sitesinde arşivlendi. Roger Germundsson from Wolfram Research
34. ↑  "Arşivlenmiş kopya". 8 Şubat 2013 tarihinde kaynağından arşivlendi. Erişim tarihi: 16 Ekim 2012.
35. ↑  Jan Stafford, "The Wrong Choice: Locked in by license restrictions 23 Haziran 2009 tarihinde Wayback Machine sitesinde arşivlendi." *SearchOpenSource.com*, 21 May 2003
36. ↑  Mathworks software license probed by EU antitrust regulators 15 Haziran 2012 tarihinde Wayback Machine sitesinde arşivlendi. Bloomberg news
37. ↑  Comparison of mathematical programs for data analysis 18 Mayıs 2016 tarihinde Portuguese Web Archive sitesinde arşivlendi ScientificWeb
38. ↑  Cleve Moler (Ocak 2006). "The Growth of MATLAB and The MathWorks over Two Decades" (PDF). 19 Ocak 2012 tarihinde kaynağından arşivlendi (PDF). Erişim tarihi: 18 Ağustos 2008.
39. ↑  "Do MATLAB versions prior to R2007a run under Windows Vista?". Eylül 2010. 5 Nisan 2013 tarihinde kaynağından arşivlendi. Erişim tarihi: 8 Şubat 2011.

Kaynakça
--------

* Gilat, Amos (2004). *MATLAB: An Introduction with Applications 2nd Edition*. John Wiley & Sons. ISBN 978-0-471-69420-5.
* Quarteroni, Alfio (2006). *Scientific Computing with MATLAB and Octave*. Springer. ISBN 978-3-540-32612-0.
* Ferreira, A.J.M. (2009). *MATLAB Codes for Finite Element Analysis*. Springer. ISBN 978-1-4020-9199-5.
* Lynch, Stephen (2004). *Dynamical Systems with Applications using MATLAB*. Birkhäuser. ISBN 978-0-8176-4321-8.

Dış bağlantılar
---------------

VikikitapVikikitap
Vikikitapta bu konu hakkında daha fazla bilgi var:
***MATLAB Programming***

|  |  |
| --- | --- |
|  | Wikimedia Commons'ta ***MATLAB*** ile ilgili ortam dosyaları bulunmaktadır. |

* MATLAB overview, at the MathWorks website
* System Requirements - Platform Roadmap22 Aralık 2012 tarihinde Wayback Machine sitesinde arşivlendi. at the MathWorks website.
* MATLAB Central File Exchange22 Aralık 2012 tarihinde Wayback Machine sitesinde arşivlendi. - library of over 12,000 MATLAB files and toolboxes, mostly distributed under BSD License.
* Curlie'de MATLAB (DMOZ tabanlı)
* comp.soft-sys.matlab
* Official blogs13 Nisan 2016 tarihinde Wayback Machine sitesinde arşivlendi.
* *Writing Fast MATLAB Code* by P. Getreuer
* Calling MATLAB from Java: MatlabControl JMI Wrapper, The MatlabJava Server, MatlabControl31 Ağustos 2012 tarihinde Wayback Machine sitesinde arşivlendi.

| * g
* t
* d
Bilgisayarlı cebir sistemi |
| --- |
| Özgür / açık kaynak |  Axiom **·**  Eigenmath **·**  Mathomatic **·**  Maxima **·**  PARI/GP **·**  Reduce **·**  Sage **·**  SymPy **·**  Yacas **·**  Xcas **·**  GAP **·**  Cadabra **·**  CoCoA **·**  DoCon **·**  FriCAS **·**  GiNaC **·**  Macaulay **·**  SINGULAR **·**  DCAS |
| Ücretli sahipli yazılım | Maple **·**  Mathcad **·**  Mathematica **·**  Algebrator **·**  ClassPad Manager **·**  Magma **·**  LiveMath **·**  TI Interactive!  **·**  Symbolic Math Toolbox |
| Geliştirilmesi sona ermiş |  Macsyma **·**   Derive **·**  muMATH **·**  MuPAD  |
| Ücretsiz / deneme süreli |  SMath Studio **·**  Fermat  |
| **Kategori**  •  **Karşılaştırma** |

| * g
* t
* d
Sayısal analiz yazılımları |
| --- |
| Özgür | 
* Advanced Simulation Library
* ADMB
* Chapel
* Euler
* Fortress
* FreeFem++
* FreeMat
* Genius
* Gmsh
* GNU Octave
* gretl
* Julia
* Jupyter (*Ju*lia, *Pyt*hon, *R*; IPython)
* MFEM
* OpenFOAM
* Python
* R
* SageMath
* Salome
* ScicosLab
* Scilab
* X10
* Weka

 |
| Sahipli | 
* DADiSP
* FEATool Multiphysics
* GAUSS
* LabVIEW
* Maple
* Mathcad
* Mathematica
* MATLAB
* Speakeasy
* VisSim

 |
| **Karşılaştırma** |

| * g
* t
* d
Programlama dilleri |
| --- |
| 
* Karşılaştırma
* Zaman Çizelgesi
* Tarihçe

 |
| 
* Ada
* ALGOL
* APL
* Assembly
* BASIC
* C
* C++
* C#
* Classic Visual Basic
* COBOL
* Erlang
* Forth
* Fortran
* Go
* Haskell
* Java
* JavaScript
* Kotlin
* Lisp
* Lua
* MATLAB
* ML
* Object Pascal
* Pascal
* Perl
* PHP
* Prolog
* Python
* R
* Ruby
* Rust
* SQL
* Scratch
* Shell
* Simula
* Smalltalk
* Swift
* Visual Basic
* *dahası...*

 |
| 
* Liste **Listeler:** Alfabetik
* Kategoriik
* Nesilsel
* İngilizce temelli olmayan
* Kategori Kategori

 |

| * g
* t
* d
Derin öğrenme yazılımları |
| --- |
| Açık kaynak | 
* Apache MXNet
* Apache SINGA
* Caffe
* Deeplearning4j
* DeepSpeed
* Dlib
* Keras
* Microsoft Cognitive Toolkit
* ML.NET
* OpenNN
* PyTorch
* TensorFlow
* Theano
* Torch
* ONNX
* OpenVINO

 |
| Sahipli | 
* Apple Core ML
* IBM Watson
* Neural Designer
* Wolfram Mathematica
* MATLAB Deep Learning Toolbox

 |
| 
* **Kategori**
* **Karşılaştırma**

 |

|  |  |
| --- | --- |
| Otorite kontrolü Bunu Vikiveri'de düzenleyin | 
* BIBSYS: 90605893
* BNF: cb12488192g (data)
* LCCN: n92036881
* NKC: ph117047
* NLG: 59208
* NLI: 987007289707705171
* SUDOC: 03409038X
* VIAF: 178697808
* WorldCat (LCCN): n92-036881

 |