Մաթլաբ (անգլ.՝ MATLAB), ՄաթՎորքսի կողմից մշակված թվային հաշվողական միջավայր և ծրագրավորման լեզու։ Մաթլաբը թույլ է տալիս իրականացնել մատրիցային մանիպուլյացիաներ, ֆունկցիաների և տվյալների գրաֆիկների կառուցում, ալգորիթմների իրականացում, օգտատերերի անհատական ինտերֆեյսների ստեղծում և այլ լեզուներով գրված ծրագրերի փոխազդեցություն։

Մաթլաբ (ծրագրավորման լեզու)
Изображение логотипа
Տեսակծրագիր, mathematical software? և ծրագրավորման լեզու
Առաջացել է1970-ականների վերջ
ՍտեղծողՄաթՎորքս
ՆախագծողՔլիվ Մոլեր
Ընդլայնումներ.m, .p, .mat, .mlapp, .mltbx, .mlx, .mlappinstall և .mlpkginstall
ՕՀWindows[1], մաքՕՍ[1] և Լինուքս[1][2]
Արտոնագիրոչ ազատ ծրագրային ապահովման արտոնագիր[3]
Կայքmathworks.com
 MATLAB Վիքիպահեստում

Չնայած Մաթլաբը հիմնականում նախատեսված է թվային հաշվարկների համար, սակայն լրացուցիչ գործիքների հավաքածուն օգտագործում է ՄաՓադ շարժիչ, որը թույլ է տալիս օգտագործել սիմվոլիկ հաշվողական նոր ունակություններ։ Սիմուլինկի լրացուցիչ փաթեթը դինամիկ և ներդրված համակարգերի համար ավելացնում է գրաֆիկական բազմաբնույթ տիրույթների մոդելավորում, ինչպես նաև այդ մոդելի վրա հիմնված դիզայն։

2020 թվականի դրությամբ, Մաթլաբն ունի ավելի քան 4 միլիոն օգտագործող ամբողջ աշխարհում[4]։ Մաթլաբի հիմնական օգտագործողներ են համարվում ճարտարագիտության, գիտության և տնտեսագիտության ոլորտի ներկայացուցիչները։

Պատմություն խմբագրել

Նյու Մեքսիկոյի համալսարանի համակարգչային գիտությունների ամբիոնի վարիչ Քլիվ Մոլերը սկսեց զարգացնել Մաթլաբը 1970-ականների վերջին[5]։ Նա մշակեց այն, որպեսզի ուսանողներին հնարավորություն ընձեռի օգտվել Լինփաքից և Էիսփաքից` առանց Ֆորտրան սովորելու։ Շուտով այն տարածվեց նաև այլ համալսարաններում և ուժեղ լսարան գտավ կիրառական մաթեմատիկայի համայնքում։ Ինժեներ Ջեք Լիթլը, առաջին անգամ բախվել է Մաթլաբի հետ 1983 թվականին Սթենֆորդի համալսարանում Մոլերի հետ այցի ժամանակ։ Գիտակցելով նրա կոմերցիոն ներուժը ՝ նա միավորվեց Մոլերի և Սթիվ Բանգերտի հետ։ Նրանք վերաշարադրել են Մաթլաբը C-ում և 1984-ին հիմնել ՄաթՎորքսը `շարունակելու դրա զարգացումը[6]։ 2000 թ.-ին Մաթլաբը վերագրվեց`գրադարանների նոր հավաքածու օգտագործելու համար` մատրիցային մանիպուլյացիաների համար[7]։

Մաթլաբն առաջին անգամ ընդունվել է հետազոտողների և մասնագետների կողմից՝ ինժեներության մեջ, բայց արագորեն տարածվել է շատ այլ ոլորտներում։ Ներկայումս այն նաև օգտագործվում է կրթության մեջ, մասնավորապես գծային հանրահաշվի ուսուցման և թվային վերլուծության մեջ և հանրաճանաչ է պատկերների մշակմամբ զբաղվող գիտնականների շրջանում[5]։

Շարահյուսություն խմբագրել

Մաթլաբ հավելվածը գրված է Մաթլաբ ծրագրավորման լեզվով։ Մաթլաբ հավելվածի ընդհանուր օգտագործումը ներառում է «հրամանի պատուհան»-ի օգտագործում որպես ինտերակտիվ մաթեմատիկական վահանակ կամ Մաթլաբի ծածկագիր պարունակող տեքստային ֆայլերի իրականացում[8]։

Փոփոխականներ խմբագրել

Փոփոխականները սահմանվում են հավասարման օպերատորի միջոցով՝ =։ Մաթլաբը թույլ տիպացված ծրագրավորման լեզու է, քանի որ տիպերը անուղղակիորեն փոխակերպվում են[9]։ Սա ենթադրում է թույլ տիպացված լեզու, քանի որ փոփոխականները կարող են նշանակվել`առանց դրանց տիպը հայտարարելու, բացառությամբ այն դեպքերի, երբ դրանք պետք է դիտվեն որպես սիմվոլիկ օբյեկտներ[10], և որ նրանց տեսակը կարող է փոխվել։ Արժեքները կարող են առաջանալ կոնստանտներից, այլ փոփոխականների արժեքների հաշվարկից կամ ֆունկցիաների արդյունքից։ Օրինակ՝

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

Վեկտորներ և մատրիցներ խմբագրել

Սովորական զանգվածը սահմանվում է՝ օգտագործելով երկու կետերի կառուցվածքը՝ սկիզբ՝ :աճ՝:ավարտ. Օրինակ՝

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

վերևում սահմանված է մի փոփոխական՝ array անունով (կամ վերագրված է նոր արժեք արդեն գոյություն ունեցող փոփոխականի՝ arrayանունով), որը զանգված է՝ կազմված 1, 3, 5, 7 և 9 արժեքներից։

Այսինքն, զանգվածը սկսվում է 1-ից (նախնական արժեքը), հետո յուրաքանչյուր քայլով ավելանում է 2-ով (աճի արժեքը) և կանգ է առնում, երբ այն հասնում է 9-ի (վերջին արժեքը)։

>> array = 1:3:9
array =
 1 4 7

աճի արժեքը, ըստ էության, կարող է դուրս մնալ այս շարահյուսությունից (երկու կետերից մեկի հետ միասին) օգտագործելով 1-նախնական արժեքը։

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

ari անունով զանգվածին վերագրված է 1, 2, 3, 4 և 5 թվային արժեքներ, և քանի որ աճի արժեք չկա, այն ավելանում է 1-ով։

Ինդեքսավորումը 1-ից է սկսում[11], ինչը սովորական է մաթեմատիկական մատրիցների համար, ի տարբերություն զրոյի վրա հիմնված ինդեքսավորման, որը սովորաբար օգտագործվում է այլ հայտնի ծրագրավորման լեզուներում, ինչպիսիք են C, C ++ և Ջավա։

Մատրիցաները կարող են սահմանվել տողի տարրերը դատարկ տարածության կամ ստորակետով բաժանելու միջոցով և յուրաքանչյուր շարքի ավարտի համար կետ-ստորակետ օգտագործելով։ Էլեմենտների ցանկը պետք է քառակուսի փակագծերի մեջ լինի []։ Փակագծերը () օգտագործվում են էլեմենտներին մուտք ունենալու և հետո դրանցով աշխատելու համար (նաև ֆունկցիաներում են հանդիպում)։

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

Ինդեքսների հավաքածուները կարող են սահմանվել 2:4տիպի արտահայտություններով, որոնք գնահատվում են [2, 3, 4]։

Օրինակ, 2-ից 4-րդ տողերից և 3-ից 4-րդ սյուներից կազմված ենթամատրիցան կարելի է գրել հետևյալ կերպ՝

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

N չափի քառակուսի մատրից կարող է ստեղծվել eyeֆունկցիայի միջոցով, և ցանկացած չափի մատրիցներ, որոնք կազմված են զրոներից կամ մեկերից կարող են ստեղծվել zeros և ones ֆունկցիաների միջոցով, համապատասխանաբար՝

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

Վեկտոր կամ մատրիցա տեղափոխելը կատարվում է կա՛մ transpose ֆունկցիայով, կա՛մ մատրիցից հետո կետ-շտրիխ ավելացնելով (առանց կետի, շտրիխը կկատարի բարդ զանգվածների փոխկապակցված փոխադրում).

>> A = [1 ; 2],  B = A.', C = transpose(A)
A =
     1
     2
B =
     1     2
C =
     1     2

>> D = [0 3 ; 1 5], D.'
D =
     0     3
     1     5
ans =
     0     1
     3     5

Ֆունկցիաներից շատերն ընդունում են զանգվածներ որպես մուտքային տվյալներ և գործողություններ են կատարում յուրաքանչյուր տարրի հետ առանձին-առանձին։ Օրինակ, mod(2*J,n) բազմապատկում է J- ի յուրաքանչյուր տարր 2-ով, այնուհետև յուրաքանչյուր տարրը նվազեցնում է n մոդուլով։ Մաթլաբը ներառում է ստանդարտ for և while ցիկլեր, բայց (ինչպես R- ի նման այլ ծրագրերում), վեկտորիզացված նոտայի օգտագործումը ևս խրախուսվում է և հաճախ ավելի արագ է իրականացվում։ Հետևյալ կոդը, ստացված magic.m ֆունկցիայից, n -ի կենտ արժեքների համար ստեղծում է մեջիք քառակուսի M (Մաթլաբի meshgrid ֆունկցիան օգտագործվում է այստեղ՝ 1:n պարունակող I և J քառակուսի մատրիցներ ստեղծելու համար).

[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;

Կառուցվածք խմբագրել

Մաթլաբն աջակցում է կառուցվածքի տվյալների տիպերին[12]։ Քանի որ Մաթլաբի բոլոր փոփոխականները զանգվածներ են, ավելի համարժեք անուն է «կառուցվածքային զանգված», որտեղ զանգվածի յուրաքանչյուր տարր ունի նույն դաշտային անունները։ Բացի այդ, Մաթլաբն աջակցում է դինամիկ դաշտային անվանումներին[13] (դաշտի որոնումներին անունով, դաշտերի մանիպուլյացիաներով և այլն)։

Ֆունկցիաներ խմբագրել

Մաթլաբի ֆունկցիա ստեղծելիս ֆայլի անունը պետք է համապատասխանի ֆայլում առաջին ֆունկցիայի անվանմանը։ Ֆունկցիայի թույլատրելի անունները կարող են պարունակել տառեր, թվեր կամ ընդգծման նշաններ։ Փոփոխականները և ֆունկցիաները զգայուն են նիշերի ռեգիստրի նկատմամբ[14]։

Ֆունկցիայի նկարագրություն խմբագրել

Մաթլաբն աջակցում է լամբդա հաշվարկային տարրերին` ներկայացնելով ֆունկցիայի նկարագրություն[15], կամ ֆունկցիայի մասին ծանոթագրություններ, որոնք իրականացվում են կա՛մ .m ֆայլերում, կա՛մ անանուն[16]/ ներդրված ֆունկցիաներում[17]։

Կլասսներ և օբյեկտի վրա հիմնված ծրագրավորման լեզու խմբագրել

Մաթլաբն աջակցում է օբյեկտի վրա հիմնված ծրագրավորմանը` ներառյալ կլասսերը, ժառանգությունը, վիրտուալ ուղարկումը, փաթեթները, անցումային արժեքի իմաստաբանությունը և անցումային նշման իմաստաբանությունը[18]։ Այնուամենայնիվ, շարահյուսությունը և տարրերի կանչերը զգալիորեն տարբերվում են այլ լեզուներից։ Մաթլաբն ունի ինչպես արժեքների կլասսներ, այնպես էլ հղումների կլասսներ, կախված նրանից, թե արդյոք կլասսի նկարագրությունը որպես սուպեր կլասս է (հղման կլասսերի համար), թե` ոչ (արժեքների կլասսերի համար)[19]։

Մեթոդի կանչելը տարբերվում է արժեքի և հղման կլասսերից։ Մեթոդի կանչի օրինակ՝

object.method();

Այն կարող է փոխել օբյեկտի ցանկացած անդամ միայն այն դեպքում, եթե օբյեկտը հանդիսանում է հղման կլասսի օրինակ, այլապես արժեքի կլասսի մեթոդները պետք է վերադարձնեն նոր օրինակ, եթե անհրաժեշտ է փոփոխել օբյեկտը։

Ստորև բերված է պարզ կլասսի օրինակ՝

classdef Hello
    methods
        function greet(obj)
            disp('Hello!')
        end
    end
end

Hello.m անունով ֆայլի մեջ դնելիս դա կարող է իրականացվել հետևյալ հրամաններով.

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

Գրաֆիկներ և գրաֆիկական ինտերֆեյսի ծրագրավորում խմբագրել

Մաթլաբը սերտորեն ինտեգրված է գրաֆիկային-գծապատկերային հատկանիշներով։

Օրինակ, plot ֆունկցիան կարող է օգտագործվել երկու x և y վեկտորներից գրաֆիկ ստեղծելու համար։ Կոդը՝

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

Սա ստեղծում է սինուս ֆունկցիայի հետևյալ ցուցանիշը.

 

Մաթլաբն աջակցում է նաև եռաչափ գրաֆիկայի ՝

[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})')
Այս կոդը ստեղծում է 3Դ սինուս ֆունկցիա․     Այս կոդը ստեղծում է երկչափ սինուսային ֆունկցիայի մակերեսային 3Դ պատկեր.
       

Մաթլաբն աջակցում է նաև գրաֆիկական ինտերֆեյսի (GUI)[20]։

Ինտերֆեյս կարող է ստեղծվել ծրագրային կոդի միջոցով կամ վիրտուալ դիզայնի միջավայրում, ինչպիսիք են GUIDE և App Designer միջավայրերը[21][22]։

Ինտերֆեյս այլ լեզուների հետ խմբագրել

Մաթլաբը կարող է կանչել C կամ Ֆորտրան ծրագրավորման լեզուներով գրված ֆունկցիաներ[23]։ Ստեղծվում է ֆունկցիա-վահանակ, որը թույլ է տալիս փոխանցել և վերադարձնել Մաթլաբի տվյալների տեսակները։ MEX-ֆայլերը (գործարկվող Մաթլաբ ֆայլեր) դինամիկ կերպով վերբեռնված օբյեկտ ֆայլեր են, որոնք ստեղծվել են նման ֆունկցիաների կազմման միջոցով[24][25]։ 2014 թվականից ավելացավ երկկողմանի ինտերֆեյս Փայթոնի հետ[26][27]։

Perl-ի, Ջավայյի, ԷքթիվԻքս-ի կամ .Նեթ-ի վրա գրված գրադարանները կարող են ուղղակիորեն կանչվել Մաթլաբից[28][29], և շատ Մաթլաբ գրադարաններ (օրինակ XML կամ SQL), օգտագործվում են Ջավայի կամ ԷքթիվԻքս-ի գրադարանների շուրջ։ Մաթլաբից Ջավա կանչելն ավելի բարդ է, բայց կարող է կատարվել Մաթլաբի գործիքների հավաքածուով[30], որը վաճառվում է առանձին ՄաթՎորքսով կամ jmi-իի (Ջավա-Մաթլաբ ինտերֆեյս)[31][32] մեխանիզմով (որը չպետք է շփոթել Ջավայի մետատվյալների ոչ կապակցված ինտերֆեյսի հետ, որը ևս կոչվում է JMI): Ջավայի համար պաշտոնական Մաթլաբի API- ն ավելացվել է 2016 թվականին[33]։

Որպես այլընտրանք Մաթվորքսում հասանելի ՄաՓադ շարժիչի վրա հիմնված սիմվոլիկ մաթեմատիկայի գործիքիով Մաթլաբը կարող է միացված լինել Մափըլին[34][35]։

Գրադարաններ կան նաև ՄաթՄԼ ներմուծելու և արտահանելու համար[36]։

Չինաստանի արգելքը խմբագրել

2020 թվականին չինական պետական ԶԼՄ-ները հայտնում են, որ Մաթլաբը ԱՄՆ պատժամիջոցներով չեղարկել է Չինաստանի երկու համալսարանների ծառայություններ, և Չինաստանը հայտարարել է, որ դրան կպատասխանեն բաց աղբյուրների այլընտրանքների օգտագործմամբ և ներքին այլընտրանքների զարգացմամբ[37]։

Այլընտրանքներ խմբագրել

Մաթլաբին մի շարք մրցակիցներ կան։ Որոշ ուշագրավ օրինակներ են.

  • Մափըլ
  • ԻԴԼ
  • Վոլֆրամ Մաթեմատիկա։

Մաթլաբի համար կան նաև անվճար բաց կոդով այլընտրանքներ, մասնավորապես.

  • ԳՆՈՒ Օքթավ
  • Սքիլաբ
  • ՖրիՄաթ
  • Ջուլիա
  • ՍեյջՄաթ

որոնք որոշ չափով համատեղելի են Մաթլաբ լեզվի հետ։ ԳՆՈՒ Օքթավն առանձնահատուկ է մյուսներից, քանի որ այն նպատակ ունի զուգակցվել Մաթլաբի շարահյուսության հետ։

Կան նաև գրադարաններ, որոնք գոյություն ունեցող լեզուներին նման ֆունկցիոնալություն են ավելացնում, ինչպիսիք են.

  • ՆամՓայ/ՍքիՓայ/մաթփլոթլիբ Փայթոնի համար
  • Perl Տվյալների լեզու Perl-ի համար
  • ՍքիՌուբի Ruby-ի համար
  • IT++ C++-ի համար
  • Նյումերիք.ջէյես Ջավասկրիպտ-ի համար։

Թողարկման պատմություն խմբագրել

Տարբերակ[38] Թողարկման անվանումը Թիվ Կոմպլեկտ JVM Տարի Թողարկման ամսաթիվ Գրառումներ
Մաթլաբ 1.0 1984
Մաթլաբ 2 1986
Մաթլաբ 3 1987
Մաթլաբ 3.5 1990 Աշխատացնել ԴՕՍ-ի վրա, բայց պետք է առնվազն 386 պրոցեսոր; 3․5 տարբերակի համար անհրաժեշտ է մաթեմատիկական պրոցեսոր
Մաթլաբ 4 1992 Աշխատեցնել Վինդոուզ 3.1x-ի և Մաքինթոշի վրա
Մաթլաբ 4.2c 1994 Աշխատեցնել Վինդոուզ 3.1x-ի, բայց պետք է նաև մաթեմատիկական պրոցեսոր
Մաթլաբ 5.0 Հատոր 8 1996 Դեկտեմբեր,1996 Համատեղ թողարկումներ բոլոր հարթակներում
Մաթլաբ 5.1 Հատոր 9 1997 Մայիս, 1997
Մաթլաբ 5.1.1 R9.1
Մաթլաբ 5.2 R10 1998 Մարտ,1998 Դասական Mac-երի վրա աշխատող վերջին տարբերակը
Մաթլաբ 5.2.1 R10.1
Մաթլաբ 5.3 R11 1999 Հունվար, 1999
Մաթլաբ 5.3.1 R11.1 Նոյեմբեր,1999
Մաթլաբ 6.0 R12 12 1.1.8 2000 Նոյեմբեր, 2000 Առաջին թողարկումը՝ կապված Ջավայի վիրտուալ մեքենայի հետ (JVM)
Մաթլաբ 6.1 R12.1 1.3.0 2001 Հունիս, 2001 Վերջին թողարկումը Վինդոուզ 95-ի համար
Մաթլաբ 6.5 R13 13 1.3.1 2002 Հուլիս, 2002
Մաթլաբ 6.5.1 R13SP1 2003
Մաթլաբ 6.5.2 R13SP2 Վերջին թողարկումը Վինդոուզ 98-ի, Վինդոուզ ՄԵ-ի համար[39]
Մաթլաբ 7 R14 14 1.4.2 2004 Հունիս 2004 Ավելացվեցին անանուն և ներդրված ֆունկցիաները[40]
Նորից ներկայացվեց Mac- ի համար (Մաք Օէս Տաս -ի տակ)
Մաթլաբ 7.0.1 R14SP1 Հոկտեմբեր, 2004
Մաթլաբ 7.0.4 R14SP2 1.5.0 2005 Մարտի 7, 2005 Հիշողության մեջ ցուցադրվող ֆայլերի աջակցություն[41]
Մաթլաբ 7.1 R14SP3 1.5.0 Սեպտեմբերի 1, 2005 Առաջին 64-բիթանոց տարբերակը հասանելի Վինդոուզ XP 64-բիթի համար
Մաթլաբ 7.2 R2006a 15 1.5.0 2006 Մարտի 1, 2006
Մաթլաբ 7.3 R2006b 16 1.5.0 Սեպտեմբերի 1, 2006
Մաթլաբ 7.4 R2007a 17 1.5.0_07 2007 Մարտի 1, 2007 Նոր bsxfun ֆունկցիա էլեմենտ-էլեմենտ երկուական գործողություն կիրառելու համար[42]
Մաթլաբ 7.5 R2007b 18 1.6.0 Սեպտեմբերի 1, 2007 Վերջին թողարկումը Windows 2000 Վինդոուզ 2000-ի և ՓավըրՓիՍի Մաք- ի համար, Վինդոուզ Վիստա սերվերի լիցենզիայի աջակցություն[43], P- կոդի համար նոր ներքին ձևաչափ
Մաթլաբ 7.6 R2008a 19 1.6.0 2008 Մարտի 1, 2008 Օբեկտների վրա հիմնված ծրագրավորման ունակությունների հիմնական բարելավում` կլասսների սահմանման նոր շարահյուսությամբ[44] և փաթեթներով անվանման տեղերը կառավարելու ունակությամբ[45]
Մաթլաբ 7.7 R2008b 20 1.6.0_04 Հոկտեմբերի 9, 2008 SSE2- ի պրոցեսորների վերջին թողարկումը, քարտեզի տվյալների նոր կառուցվածք.[46] պատահական թվերի գեներատորի թարմացում[47]
Մաթլաբ 7.8 R2009a 21 1.6.0_04 2009 Մարտի 6, 2009 Առաջին թողարկումը Մայքրոսոֆթ 32-բիթ և 64-բիթ Վինդուուզ 7-ի համար, նոր արտաքին ինտերֆեյս ՝ ․ՆԵԹ ֆրեյմվորք[48]
Մաթլաբ 7.9 R2009b 22 1.6.0_12 Սեպտեմբերի 4, 2009 Առաջին թողարկումը Ինթել 64-բիթանոց Mac- ի համար, և վերջինը ՝ Սոլարիս ՍՊԱՐՔ- ի համար, նոր հնարավորություն (~) օպերատորի համար՝ ֆունկցիայի կանչերում արգումենտներն անտեսելու համար[49][50]
Մաթլաբ 7.9.1 R2009bSP1 1.6.0_12 2010 Ապրիլի 1, 2010 բագերի շտկումներ
Մաթլաբ 7.10 R2010a 23 1.6.0_12 Մարտի 5, 2010
Մաթլաբ 7.11 R2010b 24 1.6.0_17 Սեպտեմբերի 3, 2010 Ցանկերի ավելացում[51]
Մաթլաբ 7.11.1 R2010bSP1 1.6.0_17 2011 Մարտի 17, 2011 բագերի շտկումներ և թարմացումներ
Մաթլաբ 7.11.2 R2010bSP2 1.6.0_17 Ապրիլի 5, 2012[52] բագերի շտկումներ
Մաթլաբ 7.12 R2011a 25 1.6.0_17 Ապրիլի 8, 2011 Նոր rng ֆունկցիա՝ պատահական թվերի առաջացումը վերահսկելու համար[53][54][55]
Մաթլաբ 7.13 R2011b 26 1.6.0_17 Սեպտեմբերի 1, 2011 Փոփոխականների արժեքների մուտք-փոփոխում ուղղակիորեն MAT- ֆայլերում, առանց հիշողության մեջ բեռնելու[56], զուգահեռ հաշվարկային գործիքատուփի հետ տեղական առավելագույն աշխատողների ավելացումը 8-ից 12-ի սահմաններում[57]
Մաթլաբ 7.14 R2012a 27 1.6.0_17 2012 Մարտի 1, 2012 32-բիթանոց Լինուքսի համար վերջին տարբերակը[58]
Մաթլաբ 8 R2012b 28 1.6.0_17 Սեպտեմբերի 11, 2012 Առաջին թողարկումը Թուլսթրիպ ինտերֆեյսով[59], Մաթլաբի նոր ծրագրեր[60]
Մաթլաբ 8.1 R2013a 29 1.6.0_17 2013 Մարտի 7, 2013 Նոր ֆրեյմվորք՝ թեստավորման համար[61]
Մաթլաբ 8.2 R2013b 30 1.7.0_11 Սեպտեմբերի 6, 2013[62] Ներկառուցված Ջավա միջավայրի(JRE) թարմացված 7-րդ տարբերակ[63], աղյուսակի տվյալների նոր տեսակ[64]
Մաթլաբ 8.3 R2014a 31 1.7.0_11 2014 Մարտի 7, 2014[65] Պարզեցված կոմպիլյատոր MEX-ֆայլերի կառուցման համար, USB տեսախցիկների աջակցում, տեղական աշխատատեղերի թիվը այլևս սահմանափակվում է 12-ով զուգահեռ հաշվարկային գործիքատուփի համար
Մաթլաբ 8.4 R2014b 32 1.7.0_11 Հոկտեմբերի 3, 2014 Նոր կլասսների վրա հիմնված գրաֆիկական շարժիչ[66], նոր ֆունկցիաներ GUI-ում[67], բարելավված գործիքատուփ և օգնության ֆայլեր[68] , ժամանակի մանիպուլյացիաների համար նոր օբյեկտներ[69], Git-ի ինտեգրում IDE-ում[70], տվյալների մեծ հնարավորություններ with ՄափՌեդյուսի հետ[71], նոր py փաթեթ Մաթլաբի ներսում Փայթոն օգտագործելու համար[72], նոր շարժիչի միջերես Մաթլաբը Փայթոնից կանչելու համար[73], մի քանի նոր և կատարելագործված ֆունկցիաներ՝ webread, tcpclient , histcounts, histogram, animatedlineև այլն
Մաթլաբ 8.5 R2015a 33 1.7.0_60 2015 Մարտի 5, 2015
Մաթլաբ 8.5 R2015aSP1 1.7.0_60 Հոկտեմբերի 14, 2015
Մաթլաբ 8.6 R2015b 34 1.7.0_60 Սեպտեմբերի 3, 2015 Մաթլաբի նոր գործարկման շարժիչ[74], graph և digraph կլասսներ՝ գրաֆիկների և ցանցերի հետ աշխատելու համար[75], MinGW-w64-ը որպես Վինդոուզի օժանդակվող կոմպիլյատոր[76]
Մաթլաբ 9.0 R2016a 35 1.7.0_60 2016 Մարտի 3, 2016 Կենդանի գրություններ. Ինտերակտիվ փաստաթղթեր, որոնք համատեղում են տեքստը, կոդը և վերջնական արդյունքը(գրագետ ծրագրավորման ոճով)[77], Ծրագրերի դիզայներ. ծրագրերի զարգացման նոր միջավայր (նոր տեսակի UI գործիքներով[78])
Մաթլաբ 9.1 R2016b 36 1.7.0_60 Սեպտեմբերի 15, 2016 ֆունկցիաների սահմանում սկրիպտում[79] չափերի ավտոմատ ընդլայնում (նախկինում նախատեսված էր bsxfunֆունկցիա դա անելու համար); tall նոր զանգվածներ մեծ տվյալների համար[80], նորstring տեսակ;[81] նոր ֆունկցիաներ JSON կոդավորելու / վերծանելու համար[82], պաշտոնական Մաթլաբ API Ջավայիի համար[33]
Մաթլաբ 9.2 R2017a 37 1.7.0_60 2017 Մարտի 9, 2017 Օնլայն Մաթլաբ. Քլաուդի վրա հիմնված Մաթլաբ աշխատասեղան, որը հասանելի է վեբ բրաուզերում[83], կրկնակի չակերտներով տողեր, նոր memoize ֆունկցիա նախատեսված հիշողության համար, օբյեկտների հատկությունների ընդլայնում[84], մոդուլային փորձարկման համար հարթակ[85] MEX- ը թիրախավորում է 64-բիտ, նոր heatmap ֆունկցիա դիագրամների ստեղծման համար[86]
Մաթլաբ 9.3 R2017b 38 1.8.0_121 Սեպտեմբերի 21, 2017
Մաթլաբ 9.4 R2018a 39 1.8.0_144 2018 Մարտի 15, 2018[87]
Մաթլաբ 9.5 R2018b 40 1.8.0_152 Սեպտեմբերի 12, 2018
Մաթլաբ 9.6 R2019a 41 1.8.0_181 2019 Մարտի 20, 2019 Մաթլաբ նախագծեր
Մաթլաբ 9.7 R2019b 42 1.8.0_202 Սեպտեմբերի 11, 2019
Մաթլաբ 9.8 R2020a 2020 Մարտի 19, 2020 ՄաՓադ շարժիչի հեռացումը

Մաթլաբի և իր պաշտոնական գործիքատուփերի փոփոխությունների ամբողջական ցուցակի համար կարդացեք Մաթլաբի թողարկման պատմություն աղյուսակի գրառումներ դաշտը[88]։

Ծանոթագրություններ խմբագրել

  1. 1,0 1,1 1,2 http://www.mathworks.com/products/availability/index.html#ML
  2. https://de.mathworks.com/support/requirements/platform-road-map.html
  3. https://fr.mathworks.com/pricing-licensing.html
  4. The MathWorks (February 2020). «Company Overview» (PDF). Արխիվացված է օրիգինալից (PDF) 2020 թ․ հուլիսի 19-ին.
  5. 5,0 5,1 Cleve Moler (December 2004). «The Origins of MATLAB». Վերցված է 2007 թ․ ապրիլի 15-ին.
  6. «MATLAB Programming Language». Altius Directory. Արխիվացված է օրիգինալից 2017 թ․ հունվարի 3-ին. Վերցված է 2010 թ․ դեկտեմբերի 17-ին.
  7. Moler, Cleve (January 2000). «MATLAB Incorporates LAPACK». Cleve's Corner. MathWorks. Վերցված է 2008 թ․ դեկտեմբերի 20-ին.
  8. «MATLAB Documentation». MathWorks. Վերցված է 2013 թ․ օգոստոսի 14-ին.
  9. «Comparing MATLAB with Other OO Languages». MATLAB. MathWorks. Վերցված է 2013 թ․ օգոստոսի 14-ին.
  10. «Create Symbolic Variables and Expressions». Symbolic Math Toolbox. MathWorks. Վերցված է 2013 թ․ օգոստոսի 14-ին.
  11. «Matrix Indexing». MathWorks. Վերցված է 2013 թ․ օգոստոսի 14-ին.
  12. «Structures». MathWorks. Վերցված է 2013 թ․ օգոստոսի 14-ին.
  13. «Generate Field Names from Variables». MathWorks. Վերցված է 2013 թ․ օգոստոսի 14-ին.
  14. «Case and Space Sensitivity». MathWorks. Վերցված է 2019 թ․ նոյեմբերի 1-ին.
  15. «Function Handles». MathWorks. Վերցված է 2013 թ․ օգոստոսի 14-ին.
  16. «Anonymous Functions». MathWorks. Վերցված է 2013 թ․ օգոստոսի 14-ին.
  17. «Nested Functions». MathWorks.
  18. «Object-Oriented Programming». MathWorks. Վերցված է 2013 թ․ օգոստոսի 14-ին.
  19. «Comparing Handle and Value Classes». MathWorks.
  20. «MATLAB GUI». MathWorks. 2011 թ․ ապրիլի 30. Վերցված է 2013 թ․ օգոստոսի 14-ին.
  21. «Create a Simple GUIDE GUI». MathWorks. Արխիվացված է օրիգինալից 2014 թ․ հոկտեմբերի 5-ին. Վերցված է 2014 թ․ օգոստոսի 14-ին.
  22. «MATLAB App Designer». MathWorks. Վերցված է 2019 թ․ նոյեմբերի 1-ին.
  23. «Application Programming Interfaces to MATLAB». MathWorks. Արխիվացված է օրիգինալից 2017 թ․ սեպտեմբերի 15-ին. Վերցված է 2013 թ․ օգոստոսի 14-ին.
  24. «Create MEX-Files». MathWorks. Արխիվացված է օրիգինալից 2014 թ․ մարտի 3-ին. Վերցված է 2013 թ․ օգոստոսի 14-ին.
  25. Spielman, Dan (2004 թ․ փետրվարի 10). «Connecting C and Matlab». Yale University, Computer Science Department. Վերցված է 2008 թ․ մայիսի 20-ին.
  26. «MATLAB Engine for Python». MathWorks. Վերցված է 2015 թ․ հունիսի 13-ին.
  27. «Call Python Libraries». MathWorks. Վերցված է 2015 թ․ հունիսի 13-ին.
  28. «External Programming Language Interfaces». MathWorks. Արխիվացված է օրիգինալից 2014 թ․ մարտի 11-ին. Վերցված է 2013 թ․ օգոստոսի 14-ին.
  29. «Call Perl script using appropriate operating system executable». MathWorks. Վերցված է 2013 թ․ նոյեմբերի 7-ին.
  30. «MATLAB Builder JA». MathWorks. Վերցված է 2010 թ․ հունիսի 7-ին.
  31. Altman, Yair (2010 թ․ ապրիլի 14). «Java-to-Matlab Interface». Undocumented Matlab. Արխիվացված է օրիգինալից 2015 թ․ սեպտեմբերի 5-ին. Վերցված է 2010 թ․ հունիսի 7-ին.
  32. Kaplan, Joshua. «matlabcontrol JMI».
  33. 33,0 33,1 «MATLAB Engine API for Java». MathWorks. Վերցված է 2016 թ․ սեպտեմբերի 15-ին.
  34. Germundsson, Roger (1998 թ․ սեպտեմբերի 30). «MaMa: Calling MATLAB from Mathematica with MathLink». Wolfram Research. Wolfram Library Archive.
  35. rsmenon; szhorvat (2013). «MATLink: Communicate with MATLAB from Mathematica». Վերցված է 2013 թ․ օգոստոսի 14-ին.
  36. Weitzel, Michael (2006 թ․ սեպտեմբերի 1). «MathML import/export». MathWorks - File Exchange. Արխիվացված է օրիգինալից 2011 թ․ փետրվարի 25-ին. Վերցված է 2013 թ․ օգոստոսի 14-ին.
  37. https://news.cgtn.com/news/2020-06-13/Chinese-FM-responds-to-MATLAB-s-ban-on-two-Chinese-universities-Rhx20G3pte/(չաշխատող հղում)
  38. Moler, Cleve (January 2006). «The Growth of MATLAB and The MathWorks over Two Decades». News & Notes Newsletter. MathWorks. Վերցված է 2013 թ․ օգոստոսի 14-ին.
  39. «MATLAB System Requirements - Release 13». MathWorks. Վերցված է 2015 թ․ հոկտեմբերի 6-ին.
  40. «Dynamic Function Creation with Anonymous and Nested Functions». MathWorks. Վերցված է 2016 թ․ հունվարի 15-ին.
  41. «Memory Mapping». MathWorks. Վերցված է 2014 թ․ հունվարի 22-ին.
  42. «MATLAB bsxfun». MathWorks. Վերցված է 2014 թ․ հունվարի 22-ին.
  43. «Do MATLAB versions prior to R2007a run under Windows Vista?». MathWorks. 2010 թ․ սեպտեմբերի 3. Վերցված է 2011 թ․ փետրվարի 8-ին.
  44. «OOP Compatibility with Previous Versions». MathWorks. Արխիվացված է օրիգինալից 2021 թ․ հունվարի 11-ին. Վերցված է 2013 թ․ մարտի 11-ին.
  45. «Packages Create Namespaces». MathWorks. Վերցված է 2014 թ․ հունվարի 22-ին.
  46. «Map Containers». MathWorks. Վերցված է 2014 թ․ հունվարի 22-ին.
  47. «Creating and Controlling a Random Number Stream». MathWorks. Վերցված է 2014 թ․ հունվարի 22-ին.
  48. «New MATLAB External Interfacing Features in R2009a». MathWorks. Վերցված է 2014 թ․ հունվարի 22-ին.
  49. «Ignore Function Outputs». MathWorks. Վերցված է 2014 թ․ հունվարի 22-ին.
  50. «Ignore Function Inputs». MathWorks. Վերցված է 2014 թ․ հունվարի 22-ին.
  51. «Working with Enumerations». MathWorks. Վերցված է 2014 թ․ հունվարի 22-ին.
  52. «What's New in Release 2010b». MathWorks. Արխիվացված է օրիգինալից 2015 թ․ նոյեմբերի 25-ին. Վերցված է 2014 թ․ հունվարի 22-ին.
  53. «New RNG Function for Controlling Random Number Generation in Release 2011a». MathWorks. Վերցված է 2014 թ․ հունվարի 22-ին.
  54. «MATLAB rng». MathWorks. Վերցված է 2014 թ․ հունվարի 22-ին.
  55. «Replace Discouraged Syntaxes of rand and randn». MathWorks. Վերցված է 2014 թ․ հունվարի 22-ին.
  56. «MATLAB matfile». MathWorks. Վերցված է 2014 թ․ հունվարի 22-ին.
  57. «MATLAB max workers». Վերցված է 2014 թ․ հունվարի 22-ին.
  58. MathWorks Support Team (2015 թ․ հունիսի 4). «Is MATLAB supported on 32-bit Linux?». «Versions of MATLAB prior to R2012a are fully supported on 32-bit Linux. After R2012a, MATLAB is no longer supported on 32-bit Linux.»
  59. Shure, Loren (September 2012). «The MATLAB R2012b Desktop – Part 1: Introduction to the Toolstrip».
  60. «MATLAB Apps». MathWorks. Վերցված է 2013 թ․ օգոստոսի 14-ին.
  61. «MATLAB Unit Testing Framework». MathWorks. Վերցված է 2013 թ․ օգոստոսի 14-ին.
  62. «MathWorks Announces Release 2013b of the MATLAB and Simulink Product Families». MathWorks. September 2013.
  63. «R2013b Release Notes». MathWorks. Վերցված է 2018 թ․ սեպտեմբերի 17-ին.
  64. «MATLAB Tables». MathWorks. Վերցված է 2013 թ․ սեպտեմբերի 14-ին.
  65. «MathWorks Announces Release 2014a of the MATLAB and Simulink Product Families». MathWorks. Վերցված է 2014 թ․ մարտի 11-ին.
  66. «Graphics Changes in R2014b». MathWorks. Վերցված է 2014 թ․ հոկտեմբերի 3-ին.
  67. «uitab: Create tabbed panel». MathWorks. Վերցված է 2014 թ․ հոկտեմբերի 3-ին.
  68. «Create and Share Toolboxes». MathWorks. Վերցված է 2014 թ․ հոկտեմբերի 3-ին.
  69. «Dates and Time». MathWorks. Վերցված է 2014 թ․ հոկտեմբերի 3-ին.
  70. «Source Control Integration». MathWorks. Վերցված է 2014 թ․ հոկտեմբերի 3-ին.
  71. «MATLAB MapReduce and Hadoop». MathWorks. Արխիվացված է օրիգինալից 2014 թ․ հոկտեմբերի 4-ին. Վերցված է 2014 թ․ հոկտեմբերի 3-ին.
  72. «Call Python Libraries». MathWorks. Վերցված է 2014 թ․ հոկտեմբերի 3-ին.
  73. «MATLAB Engine for Python». MathWorks. Վերցված է 2014 թ․ հոկտեմբերի 3-ին.
  74. «MATLAB Execution Engine». MathWorks. Վերցված է 2016 թ․ սեպտեմբերի 15-ին.
  75. «Graph and Network Algorithms». MathWorks. Վերցված է 2016 թ․ սեպտեմբերի 15-ին.
  76. «Install MinGW-w64 Compiler». MathWorks. Վերցված է 2016 թ․ սեպտեմբերի 15-ին.
  77. «What Is a Live Script?». MathWorks. Արխիվացված է օրիգինալից 2018 թ․ փետրվարի 25-ին. Վերցված է 2016 թ․ սեպտեմբերի 15-ին.
  78. «MATLAB App Designer». MathWorks. Վերցված է 2016 թ․ սեպտեմբերի 15-ին.
  79. «Add Functions to Scripts». MathWorks. Վերցված է 2016 թ․ սեպտեմբերի 15-ին.
  80. «Tall Arrays». MathWorks. Վերցված է 2016 թ․ սեպտեմբերի 15-ին.
  81. «Create String Arrays». MathWorks. Վերցված է 2016 թ․ սեպտեմբերի 15-ին.
  82. «JSON Format - MATLAB & Simulink». mathworks.com. Վերցված է 2017 թ․ օգոստոսի 20-ին.
  83. «MATLAB Online». MathWorks. Վերցված է 2017 թ․ ապրիլի 10-ին.
  84. «Validate Property Values». MathWorks. Վերցված է 2017 թ․ ապրիլի 10-ին.
  85. «Mocking Framework». MathWorks. Վերցված է 2017 թ․ ապրիլի 10-ին.
  86. «Create Heatmap from Tabular Data». MathWorks. Վերցված է 2017 թ․ ապրիլի 10-ին.
  87. «MathWorks Announces Release 2018a of the MATLAB and Simulink Product Families». MathWorks. Վերցված է 2018 թ․ ապրիլի 5-ին.
  88. «MATLAB Release Notes». MathWorks. Վերցված է 2014 թ․ հունվարի 25-ին.

Արտաքին հղումներ խմբագրել