İçeriğe atla

MATLAB

MATLAB
Geliştirici(ler)MathWorks
Güncel sürümR2024b[1] Bunu Vikiveri'de düzenleyin / Eylül 12, 2024
Programlama diliC/C++, MATLAB
İşletim sistemiWindows, macOS ve Linux[2]
PlatformIA-32, x86-64
TürTeknik hesaplama
LisansÖzel mülk yazılım
Resmî sitesiMATLAB ana sayfa
MATLAB (programlama dili)
ParadigmasıÇok paradigmalı: emirli, yordamsal, nesne yönelimli, sıralı, fonksiyonel
İlk çıkışı1970 sonları
TasarımcıCleve Moler
GeliştiriciMathWorks
Kararlı sürüm9.9 (R2020b) (17 Eylül 2020 (4 yıl önce) (2020-09-17))
Etkilendikleri
Etkiledikleri
Olağan dosya uzantıları.m, .p,[11] mex*,.[12] mat,[13] fig,[14] mlx,[15] mlapp,[16] mltbx,[17] mlappinstall,[18] mlpkginstall[19]

MATLAB (matrix laboratory), çok paradigmalı sayısal hesaplama yazılımı ve dördüncü nesil programlama dilidir. Özel mülk 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ı.[20] 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ı.[21] 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.[22] 2000'de, LAPACK matris işleme için yeni kütüphane kümeleri oluşturmak için MATLAB yeniden yazılmıştır.[23]

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.[21]

Söz dizimi

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

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.[25] Dinamik tipli bir dildir çünkü değişkenler, değişken türü yazılmadan da atanabilirler, sembolik nesne olarak kabul edilip işlenirler,[26] 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, nnin 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.[]

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 handleye 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.[27]

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.[28]

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" (MATLAB executable) olarak adlandırılır.[29][30]

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,[31] MathWorks tarafından ayrı olarak satılır ya da JMI adlı belgelenmemiş bir mekanizma kullanılır (Java-to-MATLAB Interface),[32] 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.[33]

MathML giriş ve çıkışları için kütüphanelerin bulunması gerekmektedir.[34]

Lisans

MATLAB, MathWorks şirketinin tescilli bir üründür, bu yüzden kullanıcılar satıcıya bağlıdır.[20][35] 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[]. 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.[36]

Alternatifler

Alternatif olarak MATLAB'ın rakibi olan firmalar var.[37] 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![38] Sürüm adıSürüm numarasıBundled JVMYılSürüm tarihiSü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[39]
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

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

Üçüncü parti

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

Ayrıca bakınız

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. []
  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. ^ a b 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. ^ a b 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. []
  24. ^ "MATLAB technical documentation". Mathworks.com. Erişim tarihi: 7 Haziran 2010. []
  25. ^ [1][] 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. []
  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

Dış bağlantılar

Vikikitap
Vikikitap
Vikikitapta bu konu hakkında daha fazla bilgi var:

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">C (programlama dili)</span> programlama dili

C, yapısal bir programlama dilidir. Bell Laboratuvarları'nda, Ken Thompson ve Dennis Ritchie tarafından UNIX işletim sistemini geliştirebilmek amacıyla B dilinden türetilmiştir. Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian Kernighan ve Dennis M. Ritchie tarafından yayımlanan "C Programlama Dili" kitabından sonra hızlanmıştır. Günümüzde neredeyse tüm işletim sistemlerinin yapımında %95'lere varan oranda kullanılmış, hâlen daha sistem, sürücü yazılımı, işletim sistemi modülleri ve hız gereken her yerde kullanılan oldukça yaygın ve sınırları belirsiz oldukça keskin bir dildir. Keskinliği, programcıya sonsuz özgürlüğün yanında çok büyük hatalar yapabilme olanağı sağlamasıdır. Programlamanın gelişim süreciyle beraber programlamanın karmaşıklaşması, gereksinimlerin artması ile uygulama programlarında nesne yönelimliliğin ortaya çıkmasından sonra C programcıları büyük ölçüde nesne yönelimliliği destekleyen C++ diline geçmişlerdir.

<span class="mw-page-title-main">JavaScript</span> programlama dili

JavaScript, HTML ve CSS ile birlikte World Wide Web'in temel teknolojilerinden biri olan programlama dilidir. Web sitelerinin %97'sinden fazlası, web sayfası hareketleri için istemci tarafında JavaScript kullanırlar ve kullanılan kodlar genellikle üçüncü taraf kitaplıkları içerir. Tüm büyük web tarayıcılarında, kaynak kodunu kullanıcıların cihazlarında yürütebilmek için özel bir JavaScript motoru bulunur.

Python, nesne yönelimli, yorumlamalı, birimsel (modüler) ve etkileşimli yüksek seviyeli bir programlama dilidir.

<span class="mw-page-title-main">Haskell</span> matematiksel, fonksiyonel programlama dili

Haskell, isim babası matematikçi Haskell Curry olan arı işlevsel programlama dilidir. Haskell'i birçok programlama dilinden ayıran özellikleri tembel değerlendirme, monadlar ve tür sınıflarıdır. Haskell, Miranda dilinin semantikleri üzerine kuruludur. Akademide ve endüstride yoğun olarak kullanılmaktadır.

<span class="mw-page-title-main">Sinüs (matematik)</span>

Matematikte sinüs, trigonometrik bir fonksiyon. Sin kısaltmasıyla ifade edilir.

<span class="mw-page-title-main">Monte Carlo yöntemi</span>

Monte Carlo benzetimi, çok sayıda tekrarlanan rastgele örneklemelerle, bir takım nümerik sonuçlar elde etmeye yarayan ve bilimin birçok alanında yaygın olarak kullanılan bir sayısal hesaplama algoritmaları sınıfıdır. Stokastik olayların yer aldığı fiziksel süreçlerin sonuçlarının tahmin edilmesinde çok kullanışlıdır. Ayrıca, rastgele seçimlerin işe yaradığı ve prensipte deterministik olan bir takım problemlerin çözümünde de kullanılmaktadır. Monte-Carlo yöntemi, Nicholas Constantine Metropolis (1915-1999) tarafından bulunmuştur ve Atom bombasının geliştirildiği Los Alamos Ulusal Labratuvarında, bombanın patlamasından sonra dağılan nötronlara karşı kalkan modellemek için Stanislaw Ulam tarafından günümüze taşınmıştır.

Matematikte matematiksel programlama, eniyileme ya da optimizasyon terimi; bir gerçel fonksiyonu minimize ya da maksimize etmek amacı ile gerçek ya da tam sayı değerlerini tanımlı bir aralıkta seçip fonksiyona yerleştirerek sistematik olarak bir problemi incelemek ya da çözmek işlemlerini ifade eder. Örneğin bu problem şöyle olabilir:

<span class="mw-page-title-main">Fonksiyonel programlama</span> programlama pradigması

Bilgisayar biliminde fonksiyonel programlama programların fonksiyonları uygulayarak ve oluşturarak yapıldığı bir programlama paradigmasıdır.

Rassal değişken kavramının geliştirilmesi ile, sezgi yoluyla anlaşılan şans kavramı, soyutlaştırarak teorik matematik analiz alanına sokulmuş ve bu geliştirilen matematik kavram ile olasılık kuramı ve matematiksel istatistiğin temeli kurulmuştur.

Matematik biliminde, özellikle yöneylem araştırması uygulamalı dalında, doğrusal programlama problemleri bir doğrusal amaç fonksiyonunun doğrusal eşitlik ve/veya eşitsizlik kısıtlamalarını sağlayacak şekilde optimizasyon yapılmasıdır. Bir optimizasyon modeli eğer sürekli değişkenlere ve tek bir doğrusal amaç fonksiyonuna sahipse ve tüm kısıtlamaları doğrusal eşitlik veya eşitsizliklerden oluşuyorsa, doğrusal (lineer) program olarak adlandırılır. Başka bir deyişle, modelin tek-amaçlı fonksiyonu ve tüm kısıtlamaları, süreklilik gösteren karar değişkenlerinin ağırlıklı toplamlarından oluşmalıdır.

Olasılık teorisi ya da ihtimaliyet teorisi rastgele olayların analizi ile ilgilenen bir matematik bilim dalıdır. Olasılık teorisinin ana ögeleri rassal değişkenler, saf rassal süreçler, olaylar olarak sayılabilir. Bunlar ya tek olarak ortaya çıkan veya bir zaman dönemi içinde gelişerek meydana gelen, ilk görünüşü rastgele bir şekilde olan deterministik olmayan olayların veya ölçülebilir miktarların matematiksel soyutlamalarıdır. Bir madeni parayı yazı-tura denemesi için havaya atmak veya bir zarı atmak ile ortaya çıkan sonuç ilk bakışta rastgele bir olay olarak görülebilirse bile eğer birbirini takip eden rastgele olaylar tekrar tekrar ortaya çıkartılırsa incelenebilecek ve tahmin edilebilecek belirli bir istatistiksel seyir takip ettikleri görülecektir. Bu türlü olaylar ve sonuçların seyirlerini betimleyen iki temsilci matematiksel sonuç büyük sayılar yasası ve merkezsel limit teoremidir.

<span class="mw-page-title-main">Harmonik fonksiyon</span>

Matematiğin matematiksel fizik alanında ve rassal süreçler teorisinde bir harmonik fonksiyon, Rn'nin U gibi açık bir kümesi üzerinde f : UR şeklinde tanımlı, Laplace denklemini, yani

Olasılık kuramı bilim dalında matematiksel beklenti veya beklenen değer veya ortalama birçok defa tekrarlanan ve her tekrarda mümkün tüm olasılıklarını değiştirmeyen rastgele deneyler sonuçlarından beklenen ortalama değeri temsil eder. Bir ayrık rassal değişkennin alabileceği bütün sonuç değerlerin olasılıklarıyla çarpılması ve bu işlemin bütün değerler üzerinden toplanmasıyla elde edilen değerdir. Bir sürekli rassal değişken için rassal değişken ile olasılık yoğunluk fonksiyonunun çarpımının aralığı belirsiz integralidir. Fakat dikkat edilmelidir ki bu değerin genel pratik anlamla rasyonel olarak beklenmesi pek uygun olmayabilir, çünkü matematiksel beklentiin olasılığı çok düşük belki sıfıra çok yakın olabilir ve hatta pratikte matematiksel beklenti bulunmaz. Ağırlıklı ortalama olarak da düşünülebilir ki değerler ağırlık katsayıları verilen olasılık kütle fonksiyonu veya olasılık yoğunluk fonksiyonudur.

<span class="mw-page-title-main">GNU Octave</span>

GNU Octave ya da kısaca Octave, öncelikli olarak sayısal hesaplamalar için tasarlanmış yüksek seviyeli bir dildir. Octave, özgür ve ücretsiz bir yazılımdır. Ticari karşılığı olan MATLAB ile çoğunlukla uyumlu bir dil kullanır. Doğrusal ve doğrusal olmayan matematiksel problemleri sayısal olarak çözmeye ve başka sayısal deneyler yapmaya elverişli bir komut satırı arayüzü sunmaktadır. Komut ekranı ve görsel arayüzleri destekler. Batch-uyumlu bir dil olarak da kullanılabilir. GNU Octave, GNU Projesi kapsamında olup 1988 yılından beri geliştirilmektedir.

<span class="mw-page-title-main">R (programlama dili)</span> istatistik analizi için kullanılan programlama dili

R, istatistiksel hesaplama ve grafikler için yazılım ortamı olup aynı zamanda programlama dilidir. R Foundation tarafından desteklenen ve GNU Tasarısının parçası olan bir özgür yazılımdır. Yeni Zelanda Auckland Üniversitesinden Ross Ihaka ve Robert Gentleman tarafından ortaya çıkarılan R, hâlihazırda R Geliştirme Çekirdek Ekibi tarafından geliştirilmektedir. S programlama diline benzeyen R, S'nin uyarlaması olarak değerlendirilebilir.

Bilgisayar programlamada dinamik iletim, altyordam çağrılarının ilişkin altyordam başlangıç adresine dinamik olarak bağlanmasıdır. Bir diğer deyişle, dinamik iletim program metnindeki bir çağrı ile işletilen altyordamın programın çalışması sırasında birbirine bağlanması durumudur. Geri çağrı ve çokbiçimliliğin realize edilmesinde kullanılan bu bağlama yöntemi, yordamsal programlama dillerinde altyordam göstericileriyle gerçekleştirilirken, nesne yönelimli dillerde kalıtlama ve gerçekleştirme ilişkilerinin kullanılmasıyla otomatikman sağlanır. Altyordamların birinci sınıf dil öğesi olarak ele alındığı fonksiyonel programlama dillerinde ise, aynı işlevsellik altyordamların argüman olarak geçirilmesi ile sağlanabilir.

Matematiksel modellerin çözümünde kullanılır. Model kısıtlarından en az birisinin = veya => olması gerekir. Bu çözüm yönteminin bir türevide iki aşamalı yöntemdir. Büyük M yönteminde amaç satırındaki katsayılar M katsayısını alırlar. M katsayısı model içerisindeki hiçbir katsayının ulaşamayacağı kadar büyük bir sayı kabul edilmektedir.

Dart, ilk kez Google tarafından geliştirilen ve daha sonraları ECMA tarafından standart (ECMA-408) haline getirilen açık kaynaklı ve genel-amaçlı bir programlama dilidir. Dart dili kullanılarak web, sunucu, mobil uygulamalar ve IoT cihazları geliştirilebilir.

Bilgisayar biliminde dizi programlama, işlemlerin bir kerede tüm değerler kümesine uygulanmasına izin veren çözümleri ifade eder. Bu tür çözümler, bilimsel ve mühendislik ortamlarında yaygın olarak kullanılmaktadır.

Burada, sayısal analiz veya veri analizi için kullanılmak üzere tasarlanmış önemli son kullanıcı bilgisayar uygulamaları listelenmiştir: