MATLAB („MATrix LABoratory“[1] ning qisqartmasi yaʼni bu „Matritsa labararatoriyasi“) — bu MathWorks tomonidan ishlab chiqilgan xususiy koʻp paradigmali dasturlash tili va raqamli hisoblash muhiti. MATLAB matritsalarni manipulyatsiya qilish, funksiyalar va maʼlumotlarning chizmalarini tuzish, algoritmlarni amalga oshirish, foydalanuvchi interfeyslarini yaratish va boshqa tillarda yozilgan dasturlar bilan interfeyslarni oʻrnatish imkonini beradi.
MATLAB asosan raqamli hisoblash uchun moʻljallangan boʻlsa-da, ixtiyoriy asboblar toʻplami ramziy hisoblash qobiliyatlariga kirish imkonini beradi va MuPAD ramziy dvigatelidan foydalanadi. Simulink qoʻshimcha paketi dinamik va oʻrnatilgan tizimlar uchun grafik koʻp domenli simulyatsiya va modelga asoslangan dizaynni qoʻshadi.
2020-yil holatiga koʻra, MATLAB butun dunyo boʻylab 4 milliondan ortiq foydalanuvchiga ega[2].Ular turli muhandislik, fan va iqtisod sohalaridan kelib chiqqan. Eslatib oʻtamiz, 2017-yil holatiga koʻra, 5000 dan ortiq jahon kollejlari va universitetlari oʻqitish va tadqiqotlarni qoʻllab-quvvatlash uchun MATLAB’dan foydalanadilar[3].
MATLAB matematik va kompyuter dasturchisi Kliv Moler tomonidan ixtiro qilingan.[4]. MATLAB gʻoyasi uning 1960-yillardagi nomzodlik dissertatsiyasiga asoslangan edi.[4] .Moler Nyu-Meksiko universitetida matematika professori boʻldi va oʻz shogirdlari[4] uchun sevimli mashgʻulot sifatida MATLAB dasturini ishlab chiqa boshladi.[5] U 1967-yilda oʻzining bir martalik dissertatsiya boʻyicha maslahatchisi Jorj Forsit bilan MATLABning dastlabki chiziqli algebra dasturlashni ishlab chiqdi[4] .Shundan soʻng 1971-yilda chiziqli tenglamalar uchun Fortran kodi paydo boʻldi[4].
Dastlab (1.0 versiyasidan oldin) MATLAB "dasturlash tili emas edi, u oddiy interaktiv matritsa kalkulyatori edi. Hech qanday dasturlar, asboblar qutilari, grafikalar yoʻq edi. Va ODE yoki FFT yoʻq[6].
MATLAB ning birinchi dastlabki versiyasi 1970-yillarning oxirida tugallangan[4].Dasturiy taʼminot birinchi marta 1979-yil fevral oyida Kaliforniyadagi dengiz aspiranturasida ommaga oshkor qilingan[5].MATLABning dastlabki versiyalari 71 ta oldindan tuzilgan funksiyaga ega oddiy matritsali kalkulyatorlar edi[7].Oʻsha paytda MATLAB bepul[8][9] universitetlarga tarqatilgan[10].Moler oʻzi tashrif buyurgan universitetlarda nusxalarini qoldiradi va dasturiy taʼminot universitet kampuslarining matematika boʻlimlarida kuchli izdoshlar paydo boʻldi[11] :5.
1980-yillarda Kliv Moler Jon N. Little bilan uchrashdi. Ular MATLABni C tilida qayta dasturlashga va uni oʻsha paytdagi asosiy kompyuterlar oʻrnini bosgan IBM ish stollari uchun sotishga qaror qilishdi.[4].Jon Littl va dasturchi Stiv Bangert MATLABni C tilida qayta dasturlashdi, MATLAB dasturlash tilini yaratdilar va asboblar qutilari uchun funksiyalarni ishlab chiqdilar[5].
MATLAB birinchi marta 1984-yilda Las-Vegasda boʻlib oʻtgan Avtomatik boshqaruv konferensiyasida tijorat mahsuloti sifatida chiqarildi.[4][5] MathWorks, Inc. dasturiy taʼminotni ishlab chiqish uchun tashkil etilgan[9] va MATLAB dasturlash tili chiqarildi.[7] Birinchi MATLAB sotuvi keyingi yili Massachusets texnologiya institutidan Nik Trefeten oʻn nusxasini sotib olganida boʻldi[5][12].
1980-yillarning oxiriga kelib, MATLABning bir necha yuz nusxalari talabalar foydalanishi uchun universitetlarga sotildi.[5].
Dasturiy taʼminot asosan turli sohalardagi mutaxassislar tomonidan maxsus matematik vazifalarni bajarish uchun yaratilgan asboblar qutilari tufayli ommalashgan.[8] Koʻpgina asboblar qutilari Stenford talabalari tomonidan MATLAB dan akademik miqyosda foydalangan, keyin esa dasturiy taʼminotni xususiy sektorga olib kelganligi natijasida ishlab chiqian..[5]
Vaqt oʻtishi bilan MATLAB Digital Equipment Corporation, VAX, Sun Microsystems va Unix shaxsiy kompyuterlari tomonidan yaratilgan dastlabki operatsion tizimlar uchun qayta yozildi.[5][7] 3-versiya 1987-yilda chiqarilgan[13] Birinchi MATLAB kompilyatori 1990-yillarda Stiven S. Jonson tomonidan ishlab chiqilgan.[7]
2000-yilda MathWorks MATLAB 6 da chiziqli algebra uchun Fortranga asoslangan kutubxonani qoʻshib, dasturiy[7] C tilidagi LINPACK va EISPACK pastki dasturlarini almashtirdi. (GPU) 2010-yilda unga qoʻshilgan[7].
2012-yilda 8-versiyada dasturiy taʼminotga katta oʻzgarishlar kiritildi[14] Foydalanuvchi interfeysi qayta ishlandi va Simulink funksiyasi kengaytirildi.[15] 2016-yilga kelib MATLAB bir qancha texnik va foydalanuvchi interfeysi yaxshilanishlarini, jumladan MATLAB Live Editor notebookini va boshqa funksiyalarni taqdim etdi[7].
MATLAB ilovasi MATLAB dasturlash tili atrofida qurilgan. MATLAB ilovasidan keng tarqalgan foydalanish „Buyruqlar oynasi“ dan interaktiv matematik qobiq sifatida foydalanish yoki MATLAB kodini oʻz ichiga olgan matnli fayllarni bajarishni oʻz ichiga oladi[16].
Oʻzgaruvchilar tayinlash operatori, =
yordamida aniqlanadi. MATLAB zaif tiplangan dasturlash tilidir, chunki turlar bilvosita aylantiriladi[17].Bu taxmin qilingan tiplashtirilgan tildir, chunki oʻzgaruvchilar ularning turini eʼlon qilmasdan tayinlanishi mumkin, agar ular ramziy ob’ektlar sifatida koʻrib chiqilishi kerak boʻlsa[18] va ularning turi oʻzgarishi mumkin. Qiymatlar konstantalardan, boshqa oʻzgaruvchilar qiymatlarini oʻz ichiga olgan hisoblashdan yoki funksiyaning chiqishidan kelib chiqishi mumkin. Masalan:
>> x = 17
x =
17
>> x = 'hatʼ
x =
hat
>> x = [3*4, pi/2]
x =
12.0000 1.5708
>> y = 3*sin(x)
y =
-1.6097 3.0000
Oddiy massiv ikki nuqta sintaksisi yordamida aniqlanadi: boshlangʻich :
increment :
terminator . Masalan; misol uchun:
>> array = 1:2:9
array =
1 3 5 7 9
1, 3, 5, 7,9 va 11
L
9 qiymatlaridan tashkil topgan massiv nomli array
belgilaydi (yoki mavjud oʻzgaruvchiga array
nomi bilan yangi qiymat beradi). Yaʼni, massiv 1 dan (boshlangʻich qiymat) boshlanadi, har bir qadam bilan oldingi qiymatdan 2 ga (oʻsish qiymati) ortadi va 9 ga (yoki undan oshib ketishga yaqin) yetganda toʻxtaydi.
Birlamchi qiymat 1 dan foydalanish uchun oʻsish qiymati aslida ushbu sintaksisdan (koʻp nuqtalardan biri bilan birga) tashqarida qolishi mumkin.
>> ari = 1:5
ari =
1 2 3 4 5
ari
nomli oʻzgaruvchiga 1, 2, 3, 4 va 5 qiymatlari boʻlgan massivni tayinlaydi, chunki oʻsish sifatida standart qiymat 1 ishlatiladi.
Indekslash bir asosli boʻlib,[19] C, C++ va Java kabi boshqa dasturlash tillarida qoʻllaniladigan nolga asoslangan indekslashdan farqli oʻlaroq, matematikada matritsalar uchun odatiy qoidadir.
Matritsalar qator elementlarini boʻsh joy yoki vergul bilan ajratish va satrlarni ajratish uchun nuqta-vergul yordamida aniqlanishi mumkin. Elementlar roʻyxati kvadrat qavslar bilan oʻralgan boʻlishi kerak []
. Qavslar ()
elementlar va pastki qatorlarga kirish uchun ishlatiladi (ular funksiya argumentlari roʻyxatini belgilash uchun ham ishlatiladi).
>> 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
Indekslar toʻplamini [2, 3, 4]
ga baholovchi 2:4
kabi ifodalar bilan belgilash mumkin. Masalan, 2 dan 4 gacha satrlar va 3 dan 4 gacha ustunlardan olingan submatritsa quyidagicha yozilishi mumkin:
>> A(2:4,3:4)
ans =
11 8
7 12
14 1
n oʻlchamli kvadrat identifikatsiya matritsasi eye
funksiyasi yordamida yaratilishi mumkin va nol yoki birlarga ega boʻlgan istalgan oʻlchamdagi matritsalar mos ravishda zeros
va ones
funksiyalari bilan yaratilishi mumkin.
>> eye(3,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
Vektor yoki matritsani koʻchirish transpose
funksiyasi yoki matritsadan keyin nuqta-past qoʻshish orqali amalga oshiriladi (nuqtasiz, prime murakkab massivlar uchun konjugat transpozitsiyani amalga oshiradi):
>> ari = 1:5
ari =
1 2 3 4 5
Aksariyat funksiyalar massivlarni kirish sifatida qabul qiladi va har bir elementda elementlar boʻyicha ishlaydi. Masalan, mod(2*J,n)
J dagi har bir elementni 2 ga koʻpaytiradi va keyin har bir element modulini n ga kamaytiradi. MATLAB standart for
va while
sikllarini oʻz ichiga oladi, lekin (R kabi boshqa shunga oʻxshash ilovalarda boʻlgani kabi) vektorlashtirilgan yozuvdan foydalanish tavsiya etiladi va tez-tez bajariladi. Magic.m funksiyasidan olingan quyidagi kod n ning toq qiymatlari uchun sehrli M kvadrat hosil qiladi (MATLAB funksiyasi meshgrid
bu yerda 1:n ni oʻz ichiga olgan I va J kvadrat matritsalarini yaratish uchun ishlatiladi):
[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;
MATLAB strukturaviy maʼlumotlar turlarini qoʻllab-quvvatlaydi.[20] MATLAB-dagi barcha oʻzgaruvchilar massiv boʻlganligi sababli, massivning har bir elementi bir xil maydon nomlariga ega boʻlgan „struktura massivi“ yanada mosroq nomdir. Bundan tashqari, MATLAB dinamik maydon nomlarini qoʻllab-quvvatlaydi[21] (nom boʻyicha maydonlarni qidirish, maydonni manipulyatsiya qilish va h.k.).).
MATLAB funksiyasini yaratishda fayl nomi fayldagi birinchi funksiya nomiga mos kelishi kerak. Yaroqli funksiya nomlari alifbo belgisi bilan boshlanadi va harflar, raqamlar yoki pastki chiziqdan iborat boʻlishi mumkin. Oʻzgaruvchilar va funksiyalar katta-kichik harflarga sezgir.[22]Andoza:Sxhl
MATLAB lambda hisobining elementlarini funksiya tutqichlari,[23] yoki funksiya havolalarini kiritish orqali qoʻllab-quvvatlaydi, ular.m fayllarda yoki anonim[24] /ichiga qoʻyilgan funksiyalarda amalga oshiriladi[25].
MATLAB ob’ektga yoʻnaltirilgan dasturlashni qoʻllab-quvvatlaydi, jumladan sinflar, meros, virtual joʻnatish, paketlar, oʻtish-qiymat semantikasi va oʻtish-yoʻnaltiruvchi semantika.[26] Biroq, sintaksis va chaqiruv qoidalari boshqa tillardan sezilarli darajada farq qiladi. MATLABda qiymat sinflari va mos yozuvlar sinflari mavjud boʻlib, ular sinfning super-sinf (mos yozuvlar sinflari uchun) yoki yoʻqligiga (qiymat sinflari uchun) qarab[27].
Metodni chaqirish harakati qiymat va mos yozuvlar sinflari oʻrtasida farq qiladi. Masalan, usulga qoʻngʻiroq qilish:
object.method();
Ob’ektning har qanday aʼzosini faqat ob’ektga mos yozuvlar sinfining namunasi boʻlsa, oʻzgartirishi mumkin, aks holda qiymat klassi usullari ob’ektni oʻzgartirishi kerak boʻlsa, yangi namunani qaytarishi kerak. Oddiy sinfga misol quyida keltirilgan:
classdef Hello
methods
function greet(obj)
disp('Hello!')
end
end
end
Salom.m
nomli faylga qoʻyilganda, buni quyidagi buyruqlar bilan bajarish mumkin:
Yaʼni:
>> x = Hello();
>> x.greet();
Hello!
MATLAB (Matritsa Labararatoriyasi) qattiq integratsiyalangan grafik chizish xususiyatlariga ega. Masalan, funksiya grafigi ikkita vektor x va y dan grafik hosil qilish uchun ishlatilishi mumkin. Kod:
Masalan:
x = 0:pi/100:3*pi;
y = sin(x);
plot(x)
sinus funksiyasining quyidagi koʻrsatkichini hosil qiladi:
MATLAB uch oʻlchovli grafiklarni ham qoʻllab-quvvatlaydi:
MATLAB grafik foydalanuvchi interfeysi (GUI) ilovalarini ishlab chiqishni qoʻllab-quvvatlaydi[28].UI dasturlari yoki GUIDE va App Designer kabi vizual dizayn muhitlari yordamida yaratilishi mumkin[29][30].
MATLAB C yoki Fortran dasturlash tillarida yozilgan funksiyalar va pastki dasturlarni chaqirishi mumkin[31].MATLAB maʼlumotlar turlarini uzatish va qaytarish imkonini beruvchi oʻrash funksiyasi yaratiladi. MEX fayllari (MATLAB bajariladigan fayllar) bu kabi funksiyalarni kompilyatsiya qilish orqali yaratilgan dinamik yuklanadigan obyekt fayllari[32][33]. 2014-yildan boshlab Python bilan ikki tomonlama interfeys qoʻshildi[34][35].
Perl, Java, ActiveX va . NET kutubxonalarida yoziladi va toʻgʻridan-toʻgʻri MATLAB dan chaqirilishi mumkin[36][37].MATLAB kutubxonalari (masalan, XML yoki SQL- ni qoʻllab-quvvatlash) Java yoki ActiveX kutubxonalari atrofida oʻralgan holda amalga oshiriladi. Java-dan MATLAB-ga qoʻngʻiroq qilish ancha murakkab, lekin MathWorks tomonidan alohida sotiladigan MATLAB asboblar toʻplami[38] yoki JMI (Java-to-MATLAB Interface) deb nomlangan hujjatsiz mexanizm[39][40] (u) yordamida amalga oshirilishi mumkin. JMI deb ham ataladigan bogʻliq boʻlmagan Java metadata interfeysi bilan adashtirmaslik kerak). Java uchun rasmiy MATLAB API 2016-yilda qoʻshilgan[41].
MathWorks-da mavjud boʻlgan MuPAD- ga asoslangan SMT (Symbolic Math Toolbox)-ga alternativa sifatida MATLAB Maple yoki Mathematica -ga ulanishi mumkin[42][43].
MathML ni import va eksport qilish uchun kutubxonalar ham mavjud[44].
2020-yilda MATLAB AQSh sanktsiyalari natijasida Xitoyning ikkita universiteti xizmatlaridan voz kechdi. Universitetlar bunga ochiq manbali muqobillardan koʻproq foydalanish va mahalliy alternativalarni ishlab chiqish orqali javob berishini aytishdi[45].
MATLAB yiliga ikki marta yangilanadi[46] :517[15].Yangi xususiyatlar va boshqa yaxshilanishlarga qoʻshimcha ravishda, har bir versiyada yangi xatolar tuzatilgan va kichikroq oʻzgarishlar mavjud[47].
Version[48] | Release name | Number | Bundled JVM | Year | Release date | Notes |
---|---|---|---|---|---|---|
1.0 | 1984 | |||||
2 | 1986 | |||||
3 | 1987 | First Matlab toolbox introduced; support for ordinary differential equations added.[7]:81 | ||||
3.5 | 1990 | Ran on DOS, Lowest requirement is an Intel 8088; Math Processor is supported, however had compatibility issues with NEC v20 + Intel 8087 combination. | ||||
4 | 1992 | Ran on Windows 3.1x and Macintosh. | ||||
4.2c | 1994 | Ran on Windows 3.1x; needed a math coprocessor. | ||||
5.0 | Volume 8 | 1996 | December 1996 | Unified releases across all platforms. | ||
5.1 | Volume 9 | 1997 | May 1997 | |||
5.1.1 | R9.1 | |||||
5.2 | R10 | 1998 | March 1998 | Last version working on classic Macs. | ||
5.2.1 | R10.1 | |||||
5.3 | R11 | 1999 | January 1999 | |||
5.3.1 | R11.1 | November 1999 | ||||
6.0 | R12 | 12 | 1.1.8 | 2000 | November 2000 | First release with bundled Java virtual machine (JVM). |
6.1 | R12.1 | 1.3.0 | 2001 | June 2001 | Last release for Windows 95. | |
6.5 | R13 | 13 | 1.3.1 | 2002 | July 2002 | |
6.5.1 | R13SP1 | 2003 | ||||
6.5.2 | R13SP2 | Last release for Windows 98, Windows ME, IBM/AIX, Alpha/TRU64, and SGI/IRIX.[49] | ||||
7 | R14 | 14 | 1.4.2 | 2004 | June 2004 | Introduced anonymous and nested functions,[50] and integer and single-precision arithmetics;[51] re-introduced for Mac (under Mac OS X). |
7.0.1 | R14SP1 | October 2004 | ||||
R14SP1+ | 2004 | November 2004 | Parallel Computing Toolbox introduced.[7]:4[52]:3 | |||
7.0.4 | R14SP2 | 1.5.0 | 2005 | March 7, 2005 | Support added for memory-mapped files.[53] | |
7.1 | R14SP3 | 1.5.0 | September 1, 2005 | First 64-bit version available for Windows XP 64-bit. | ||
7.2 | R2006a | 15 | 1.5.0 | 2006 | March 1, 2006 | |
7.3 | R2006b | 16 | 1.5.0 | September 1, 2006 | HDF5-based MAT-file support added. | |
7.4 | R2007a | 17 | 1.5.0_07 | 2007 | March 1, 2007 | New bsxfun function added to apply element-by-element binary operation with singleton expansion enabled.[54]
|
7.5 | R2007b | 18 | 1.6.0 | September 1, 2007 | Last release for Windows 2000 and PowerPC Mac; License Server support for Windows Vista;[55] new internal format for P-code. | |
7.6 | R2008a | 19 | 1.6.0 | 2008 | March 1, 2008 | Major enhancements to object-oriented programming abilities with a new class definition syntax;[56] ability to manage namespaces with packages.[57] |
7.7 | R2008b | 20 | 1.6.0_04 | October 9, 2008 | Last release for processors w/o SSE2; New Map data structure;[58] upgrades to random number generators.[59] | |
7.8 | R2009a | 21 | 1.6.0_04 | 2009 | March 6, 2009 | First release for Microsoft 32-bit & 64-bit Windows 7; new external interface to.NET Framework.[60] |
7.9 | R2009b | 22 | 1.6.0_12 | September 4, 2009 | First release for Intel 64-bit Mac, and last for Solaris SPARC; new use for the tilde operator (~ ) to ignore arguments in function calls.[61][62]
| |
7.9.1 | R2009bSP1 | 1.6.0_12 | 2010 | April 1, 2010 | Bug fixes. | |
7.10 | R2010a | 23 | 1.6.0_12 | March 5, 2010 | Last release for Intel 32-bit Mac. | |
7.11 | R2010b | 24 | 1.6.0_17 | September 3, 2010 | Added support for enumerations;[63] added features for running MATLAB code on NVIDIA CUDA-based GPUs.[64] | |
7.11.1 | R2010bSP1 | 1.6.0_17 | 2011 | March 17, 2011 | Bug fixes and updates. | |
7.11.2 | R2010bSP2 | 1.6.0_17 | April 5, 2012[65] | Bug fixes. | ||
7.12 | R2011a | 25 | 1.6.0_17 | April 8, 2011 | New rng function to control random number generation.[66][67][68]
| |
7.13 | R2011b | 26 | 1.6.0_17 | September 1, 2011 | Added ability to access/change parts of variables directly in MAT-files, without loading into memory;[69] increased maximum local workers with Parallel Computing Toolbox from 8 to 12.[70] | |
7.14 | R2012a | 27 | 1.6.0_17 | 2012 | March 1, 2012 | Last version with 32-bit Linux support.[71] |
8 | R2012b | 28 | 1.6.0_17 | September 11, 2012 | First release with Toolstrip interface;[72] MATLAB Apps introduced;[73] redesigned documentation system. | |
8.1 | R2013a | 29 | 1.6.0_17 | 2013 | March 7, 2013 | New unit testing framework.[74] |
8.2 | R2013b | 30 | 1.7.0_11 | September 6, 2013[75] | Built in Java Runtime Environment (JRE) updated to version 7;[76] New table data type.[77] | |
8.3 | R2014a | 31 | 1.7.0_11 | 2014 | March 7, 2014[78] | Simplified compiler setup for building MEX-files; USB Webcams support in core MATLAB; number of local workers no longer limited to 12 with Parallel Computing Toolbox. |
8.4 | R2014b | 32 | 1.7.0_11 | October 3, 2014 | New class-based graphics engine (a.k.a. HG2);[79] tabbing function in GUI;[80] improved user toolbox packaging and help files;[81] new objects for time-date manipulations;[82] Git-Subversion integration in IDE;[83] big data abilities with MapReduce (scalable to Hadoop);[84] new py package for using Python from inside MATLAB;[85] new engine interface to call MATLAB from Python;[86] several new and improved functions: webread (RESTful web services with JSON/XML support), tcpclient (socket-based connections), histcounts , histogram , animatedline , and others.
| |
8.5 | R2015a | 33 | 1.7.0_60 | 2015 | March 5, 2015 | |
8.5 | R2015aSP1 | 1.7.0_60 | October 14, 2015 | Last release supporting Windows XP and Windows Vista. | ||
8.6 | R2015b | 34 | 1.7.0_60 | September 3, 2015 | New MATLAB execution engine (a.k.a. LXE);[87] graph and digraph classes to work with graphs and networks;[88] MinGW-w64 as supported compiler on Windows;[89] last version with 32-bit support.
| |
9.0 | R2016a | 35 | 1.7.0_60 | 2016 | March 3, 2016 | Released Live Scripts: interactive documents that combine text, code, and output (in the style of Literate programming);[90] App Designer introduced: a new development environment for building apps (with new kind of UI figures, axes, and components);[91] pause execution of running programs using a Pause Button. |
9.1 | R2016b | 36 | 1.7.0_60 | September 15, 2016 | Added ability to define local functions in scripts;[92] automatic expansion of dimensions (previously provided via explicit call to bsxfun ); tall arrays for Big data;[93] new string type;[94] new functions to encode/decode JSON;[95] official MATLAB Engine API for Java.[41]
| |
9.2 | R2017a | 37 | 1.7.0_60 | 2017 | March 9, 2017 | Released MATLAB Online: cloud-based MATLAB desktop accessed in a web browser;[96] double-quoted strings; new memoize function for Memoization; expanded object properties validation;[97] mocking framework for unit testing;[98] MEX targets 64-bit by default; new heatmap function for creating heatmap charts.[99]
|
9.3 | R2017b | 38 | 1.8.0_121 | September 21, 2017 | new decomposition object for solving linear systems; new geobubble , wordcloud , and binscatter graphics functions; object-oriented C++ Engine API[100] and MATLAB Data API;[101] Introduced a GPU Coder that converts MATLAB code to CUDA code for Nvidia.[102]
| |
9.4 | R2018a | 39 | 1.8.0_144 | 2018 | March 15, 2018[103] | Live Functions in interactive documents;[104] support for adding interactive controls in live scripts; create deployed intranet web apps using MATLAB Compiler;[105] custom tab completion for user functions;[106] C++ MEX API;[107] interleaved storage for complex numbers in C MEX files.[108] |
9.5 | R2018b | 40 | 1.8.0_152 | September 12, 2018 | new stackedplot , scatterhistogram , and imtile graphics functions; more I/O functions support accessing remote data from cloud sources (like AWS, Azure, Hadoop);[109] grid layout manager for uifigure apps; Neural Network Toolbox replaced with Deep Learning Toolbox.[110]
| |
9.6 | R2019a | 41 | 1.8.0_181 | 2019 | March 20, 2019 | MATLAB Projects; xcorr and xcov function are now in core MATLAB; new readmatrix , readvars , and readcell I/O functions as well as the write variants; new parallelplot graphics function; colors can be specified in hexadecimal format (#FF8800) in graphics objects; new clibgen package for generating wrapper interfaces to C++ libraries;[111] out-of-process execution mode for MEX functions;[112] added state machine programming with Stateflow.[113]
|
9.7 | R2019b | 42 | 1.8.0_202 | September 11, 2019 | Live Editor Tasks;[114] hexadecimal and binary literals;[115] dot-indexing into function outputs;[116] arguments block for function input validation;[117] Bluetooth LE interface;[118] new tiled chart layout functions (tiledlayout and nexttile ); out-of-process execution mode for Python.[119]
| |
9.8 | R2020a | 43 | 2020 | March 19, 2020 | Improved Intel MKL support for AMD CPUs (AVX2);[120] UTF-8 encoding by default for text files and I/O; new exportgraphics function; new boxchart graphics function; removal of Mupad notebook; ability to create stand-alone applications with Simulink.[121]
| |
9.9 | R2020b | 44 | September 17, 2020 | build pattern expressions similar to regular expressions for text;[122] readstruct and writestruct I/O functions for structures in XML files; Bluetooth interface;[123] new bubblechart and swarmchart graphics functions; new turbo colormap; new exportapp function; introduced custom UI component class;[124] online version of Simulink.[125]
| ||
9.10 | R2021a | 45 | 2021 | March 11, 2021 | new name=value syntax for passing function arguments;[126] new Class Diagram tool;[127] new MATLAB API for XML Processing (MAXP) matlab.io.xml.* ; new bubblecloud graphics function.
| |
9.11 | R2021b | 46 | September 22, 2021 | improvements to code editor (block editing, automatic suggestions/completions, refactoring, etc.); new sftp function.
| ||
9.12.0 | R2022a | 47 | 2022 | March 9, 2022 | Windows 7 is no longer supported; UTF-8 used as system encoding on Windows, including system calls made from MEX files; enhanced P-code obfuscation; support for.opus audio files; create custom Live Editor Tasks.[128] | |
9.13 | R2022b | 48 | 1.8.0_202 | August 24, 2022 | new dictionary data type (associative array);[129] output validation in arguments block; build automation task runner using a buildfile.m file;[130] support for both .NET (Core) and .NET Framework in MATLAB Interface to.NET and Engine API.[131][132]
| |
9.14.0 | R2023a | 49 | 2023 | March 16, 2023 | Live Editor Tasks: Import data in live scripts; interactively find and remove periodic and polynomial trends from data;
pivot Function: Summarize tabular data in pivot tables; Python Interface: Support for conversions of Python and NumPy data types; use Python objects as keys in a MATLAB dictionary; Unit Testing Framework: Run tests using the Test browser |
Raqam (yoki nashr raqami) FLEXlm Concurrent License Manager dasturi tomonidan bildirilgan versiyadir. MATLAB va rasmiy asboblar qutilaridagi oʻzgarishlarning toʻliq roʻyxati uchun MATLAB nashri eslatmalariga murojaat qiling[133].
MATLAB haqida Vikipediyaning qardosh loyihalarida koʻproq bilib oling | |
![]() |
Media fayllar Vikiomborda |
![]() |
Taʼlim resurslari Vikiversitetda |
![]() |
Kitob va darsliklar Vikikitobda |
Andoza:Numerical analysis softwareAndoza:Computer algebra systemsAndoza:Statistical softwareAndoza:Image Processing SoftwareAndoza:Linear algebra
((cite magazine))
: CS1 maint: date format ()