MATLAB

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

Tarixi

Kelib chiqishi

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

Tijorat rivojlanishi

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

Yaqin tarix

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

Sintaksis

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

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 = 17x = 17>> x = 'hatʼx =hat>> x = [3*4, pi/2]x =  12.0000  1.5708>> y = 3*sin(x)y =  -1.6097  3.0000

Vektorlar va matritsalar

Oddiy massiv ikki nuqta sintaksisi yordamida aniqlanadi: boshlangʻich : increment : terminator . Masalan; misol uchun:

>> array = 1:2:9array = 1 3 5 7 9

1, 3, 5, 7,9 va 11

L9 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:5ari = 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:5ari = 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;

Tuzilmalar

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.).).

Funksiyalar

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

Funksiya tutqichlari

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

Sinflar va ob’ektga yoʻnaltirilgan dasturlash

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  endend

Salom.m nomli faylga qoʻyilganda, buni quyidagi buyruqlar bilan bajarish mumkin:Yaʼni:

>> x = Hello();>> x.greet();Hello!

Grafik va grafik foydalanuvchi interfeysi dasturlash

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:

[X,Y] = meshgrid(-10:0.2500:10,-10:0.2500:10);f = sinc(sqrt((X/pi).²+(Y/pi).²));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).²+(Y/pi).²));surf(X,Y,f);axis([-10 10 10 10 0.3 1])xlabel('{\bfx}')ylabel('{\bfy}')zlabel('{\bfsinc} ({\bfR})')
Ushbu kod ikki oʻlchovli normallashtirilmagan sinc funksiyasining simli 3D syujetini ishlab chiqaradi:Ushbu kod ikki oʻlchovli normallashtirilmagan sinc funksiyasining sirt 3D chizmasini hosil qiladi:
</img> </img>

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 va boshqa tillar

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

AQSh sanksiyalariga munosabat

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 nameNumberBundled JVMYearRelease dateNotes
1.01984
21986
31987First Matlab toolbox introduced; support for ordinary differential equations added.[7]:81
3.51990Ran on DOS, Lowest requirement is an Intel 8088; Math Processor is supported, however had compatibility issues with NEC v20 + Intel 8087 combination.
41992Ran on Windows 3.1x and Macintosh.
4.2c1994Ran on Windows 3.1x; needed a math coprocessor.
5.0Volume 81996December 1996Unified releases across all platforms.
5.1Volume 91997May 1997
5.1.1R9.1
5.2R101998March 1998Last version working on classic Macs.
5.2.1R10.1
5.3R111999January 1999
5.3.1R11.1November 1999
6.0R12121.1.82000November 2000First release with bundled Java virtual machine (JVM).
6.1R12.11.3.02001June 2001Last release for Windows 95.
6.5R13131.3.12002July 2002
6.5.1R13SP12003
6.5.2R13SP2Last release for Windows 98, Windows ME, IBM/AIX, Alpha/TRU64, and SGI/IRIX.[49]
7R14141.4.22004June 2004Introduced anonymous and nested functions,[50] and integer and single-precision arithmetics;[51] re-introduced for Mac (under Mac OS X).
7.0.1R14SP1October 2004
R14SP1+2004November 2004Parallel Computing Toolbox introduced.[7]:4[52]:3
7.0.4R14SP21.5.02005March 7, 2005Support added for memory-mapped files.[53]
7.1R14SP31.5.0September 1, 2005First 64-bit version available for Windows XP 64-bit.
7.2R2006a151.5.02006March 1, 2006
7.3R2006b161.5.0September 1, 2006HDF5-based MAT-file support added.
7.4R2007a171.5.0_072007March 1, 2007New bsxfun function added to apply element-by-element binary operation with singleton expansion enabled.[54]
7.5R2007b181.6.0September 1, 2007Last release for Windows 2000 and PowerPC Mac; License Server support for Windows Vista;[55] new internal format for P-code.
7.6R2008a191.6.02008March 1, 2008Major enhancements to object-oriented programming abilities with a new class definition syntax;[56] ability to manage namespaces with packages.[57]
7.7R2008b201.6.0_04October 9, 2008Last release for processors w/o SSE2; New Map data structure;[58] upgrades to random number generators.[59]
7.8R2009a211.6.0_042009March 6, 2009First release for Microsoft 32-bit & 64-bit Windows 7; new external interface to.NET Framework.[60]
7.9R2009b221.6.0_12September 4, 2009First 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.1R2009bSP11.6.0_122010April 1, 2010Bug fixes.
7.10R2010a231.6.0_12March 5, 2010Last release for Intel 32-bit Mac.
7.11R2010b241.6.0_17September 3, 2010Added support for enumerations;[63] added features for running MATLAB code on NVIDIA CUDA-based GPUs.[64]
7.11.1R2010bSP11.6.0_172011March 17, 2011Bug fixes and updates.
7.11.2R2010bSP21.6.0_17April 5, 2012[65]Bug fixes.
7.12R2011a251.6.0_17April 8, 2011New rng function to control random number generation.[66][67][68]
7.13R2011b261.6.0_17September 1, 2011Added 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.14R2012a271.6.0_172012March 1, 2012Last version with 32-bit Linux support.[71]
8R2012b281.6.0_17September 11, 2012First release with Toolstrip interface;[72] MATLAB Apps introduced;[73] redesigned documentation system.
8.1R2013a291.6.0_172013March 7, 2013New unit testing framework.[74]
8.2R2013b301.7.0_11September 6, 2013[75]Built in Java Runtime Environment (JRE) updated to version 7;[76] New table data type.[77]
8.3R2014a311.7.0_112014March 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.4R2014b321.7.0_11October 3, 2014New 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.5R2015a331.7.0_602015March 5, 2015
8.5R2015aSP11.7.0_60October 14, 2015Last release supporting Windows XP and Windows Vista.
8.6R2015b341.7.0_60September 3, 2015New 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.0R2016a351.7.0_602016March 3, 2016Released 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.1R2016b361.7.0_60September 15, 2016Added 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.2R2017a371.7.0_602017March 9, 2017Released 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.3R2017b381.8.0_121September 21, 2017new 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.4R2018a391.8.0_1442018March 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.5R2018b401.8.0_152September 12, 2018new 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.6R2019a411.8.0_1812019March 20, 2019MATLAB 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.7R2019b421.8.0_202September 11, 2019Live 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.8R2020a432020March 19, 2020Improved 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.9R2020b44September 17, 2020build 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.10R2021a452021March 11, 2021new 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.11R2021b46September 22, 2021improvements to code editor (block editing, automatic suggestions/completions, refactoring, etc.); new sftp function.
9.12.0R2022a472022March 9, 2022Windows 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.13R2022b481.8.0_202August 24, 2022new 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.0R2023a492023March 16, 2023Live 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].

Yana qarang

  • Raqamli-tahlil dasturlarini taqqoslash
  • Raqamli-tahlil dasturlari roʻyxati

Eslatmalar

  

Havolalar

Andoza:Numerical analysis softwareAndoza:Computer algebra systemsAndoza:Statistical softwareAndoza:Image Processing SoftwareAndoza:Linear algebra