Մաթլաբ

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

Մաթլաբ (անգլ.՝ 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)

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

Matlab plot sin.svg

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

[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Դ պատկեր.
MATLAB mesh sinc3D.svg     MATLAB surf sinc3D.svg

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

Արտաքին հղումներ[խմբագրել | խմբագրել կոդը]