МАТЛАБ

С Википедије, слободне енциклопедије
МАТЛАБ
Програмер(и)МатхWоркс
Прва верзија1970их
Најновија
верзија
Р2017а
9. март 2017.
Писано уC, C++, Јава
ОСВишеплатформски
ТипТехничко рачунарство
ЛиценцаВласничка
Веб-сајтМАТЛАБ

МАТЛАБ је окружење за нумеричке прорачуне и програмски језик четврте генерације који је развила фирма -МатхWоркс. МАТЛАБ омогућава лако манипулисање матрицама, приказивање функција и фитовање, имплементацију алгоритама, стварање графичког корисничког интерфејса као и повезивање са програмима писаним у другим језицима међу којима су CC++C#ЈаваФортран и Пyтхон.

МАТЛАБ је настао као скраћеница за „МАТриx ЛАБораторy“ („лабораторија за матрице“). Изумео га је касних 1970их Клив Молер (енгл.- Цлеве Молер), шеф катедре за информатику на Универзитету „Нови Мексико“.

Иако је МАТЛАБ намењен за нумеричке прорачуне али опциона кутија за алат користи МуПАД рачунарски алгебарски систем чиме се добија приступ симболичком рачумању. МАТЛАБ је могуће набавити заједно са Симулинком као и бројним додацима.

Додаци су сврстани по следећим категоријама:

  • Математика и оптимизација
  • Статистика и анализа података
  • Контрола и анализа система
  • Процесирање сигнала и комуникација
  • Обрада слике
  • Тест и мјерења
  • Финансијско моделовање и анализа
  • Повезивање са другим апликацијама
  • Повезивање база података и извјештавање
  • Дистрибуирано рачунање

Процењено је 2004. године да преко милион људи запошљених у индустрији и на универзитетима користи МАТЛАБ.[тражи се извор]

Историја[уреди | уреди извор]

МАТЛАБ је изумео касних 1970их Клив Молер (енгл.- Цлеве Молер), шеф катедре за информатику на Универзитету „Нови Мексико“. Он га је дизајнирао да би студенти добили приступ ЛИНПАЦК и ЕСПАЦ библиотекама без знања Фортрана. Матлаб се убрзо проширио на друге универзитете и добио велику подрску од стране људи који се баве примењеном математиком. Инжењер Џек Литл (енгл. -Јацк Литтле) је у Молнеровој посети Стендфорд Универзитету 1983. увидео комерцијални потенцијал МАТЛАБа. Он се удружио са Молнером и Стивом Бангертом (енгл.- Стеве Бангерт) и прерадио МАТЛАБ у C програмском језику. Заједно су 1984. основали компанију МатхWоркс. Матлаб је поново прерађен 2000. године за лакши рад са матрицама.

Синтакса[уреди | уреди извор]

МАТЛАБ апликација је направљена око МАТЛАБ скриптног језика. МАТЛАБ апликација се најчешће користи као интерфејс за извршавање фајлова у МАТЛАБ програмском језику.

 Променљиве[уреди | уреди извор]

Променљиве се дефинишу помоћу опратора, =. Променљиве могу да се дефинишу без декларације типа, осим уколико су променљиве симболички објекти, и њихов тип може да се промени. Вредности променљивих могу да се додељују константама, изразимq у којима фигурису друге променљиве и од функцијама. На пример:

>> x = 17
x =
 17

>> x = 'hat'
x =
hat

>> y = x + 0
y =
       104        97       116

>> x = [3*4, pi/2]
x =
   12.0000    1.5708

>> y = 3*sin(x)
y =
   -1.6097    3.0000

Вектори и матрице[уреди | уреди извор]

Низ се дефинише коришћењем три врдности између којих се налази двотачка: инит:инцремент:терминатор. На пример:

>> 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. Матрице могу да се дефинишу одвајањемелемената једног реда размаком или тачком и коришћењем тачка зареза да се прекине ред. На почетку и на крају треба да стоје угласте заграде: []. Заграде: () се користе за приступ елементима подниза (такође се користе за аргументе функције).

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

Јединична матрица величине н може да се генериш функцијом еyе, и матрице било које величине са само нулама и јединицама могу да се генеришу функцијама зерос и онес, редом.

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

Већина МАТЛАБ функција прихвата матрице и извршаваће се за сваки елемент. На пример, mod(2*J,n) ће помножити сваки елемент у "Ј" са 2, и онда редуце еацх елемент модуло "н". У МАТЛАБУ постоје стандардне "фор" и "wхиле" петље, али(као и у сличним апликацијама попут Р), коришћењем вектора се добија код који се брже извршава.

Структуре[уреди | уреди извор]

МАТЛАБ има структуре као типове података. Пошто су све променљиве у МАТЛАБу низови, адекватније име је "структурни низ". Нажалост, МАТЛАБ ЈИТ не подржава МАТЛАБ структуре, због чег коришћење структура кошта.

Функције[уреди | уреди извор]

При креирању МАТЛАБ функције, име фајла треба да буде исто као име прве функције у фајлу. Валидна имена функција почињу словом и могу да садрже бројеве и доње црте. Функције су често осетљиве на мала и велика слова.

Класе и објектно-оријентисано програмирање[уреди | уреди извор]

МАТЛАБ подржава објектно оријентисано програмирање укључујући класе , наслеђивање, пакете, сенматике прослеђивања по вредности и сенматике прослеђивања по референци. Ипак синтакса се знатно разликује од осталих језика. МАТЛАБ има вредносне и референтне класе,

Понашање метода је различито за вредносне и референтне класе. На пример, позивање

object.method();

може да промени било који члан објекта само ако је објекат референтне класе. На пример:

classdef hello
    methods
        function greet(this)
            disp('Hello!')
        end
    end
end

Када се стави у фајл са називом hello.m, ово може да се извршава уз помоћ следећих команди:

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

Графика и ГУИ(енг. грапхицал усер интерфаце)[уреди | уреди извор]

МАТЛАБ обухвата развој апликација са ГУИ.Садржи функције за цртање графика.Нпр. функција плот може бити искоришћена за цртање графика од вектора x и y.Применом функција сурф,плот3,месх се могу добити 3Д графици.

Веза са другим језицима[уреди | уреди извор]

МАТЛАБ може да позове функције написане за програмске језике C и Фортан.Од 2014. додата је двострука повезаност са Пајтоном. Библиотеке написане у Перлу или Јави могу бити директно позване из МАТЛАБа,а и многе библотеке из МАТЛАБА (нпр. XМЛ) су имплементиране у Јави.Позивање МАТЛАБА у Јави је компликованије али се ме може извести помоћу МАТЛАБ тоолбоx.

Лиценце[уреди | уреди извор]

МАТЛАБ је власништво фирме МатхWоркс.Иако МАТЛАБ производи могу развити МАТЛАБ функције које могу бити коришћене са .НЕТ или Јава окружења будући развој ће и даље бити повезан са МАТЛАБ језиком.

Алтернативе[уреди | уреди извор]

МАТЛАБ има много конкурентних програма.Рекламни конкуренти укључују Матхематица,ТК Солвер,Мапле и ИДЛ.Постоје такодје и бесплатни конкуренти ГНУ Оцтаве,Сцилаб,ФрееМат,Јулиа и СагеМатх који се сматрају највећим конкурентима МАТЛАБ-а.Медју осталима језицима који користе низове као основне субјекте су АПЛ,Фортран 90 и више,С-Ланг.Ту су и библиотеке које додају сличну функционалност и осталим језицима као што су ИТ++ за C++, Перл Дата Лангуаге за Перл, ИЛНумерицс за .НЕТ.ГНУ Оцтаве се издвајају од осталих конкурената,јер су оне надскуп МАТЛАБ-а.

Проширење фајлова[уреди | уреди извор]

МАТЛАБ

MATLAB kod(funkcija,kalsa)

.мат

MATLAB podaci(binarni fajlovi za čuvanje promenljivih)

.фиг

MATLAB figure(napravljene pomoću GUIDE)

.млапп

MATLAB aplikacije(napravljene pomoću App Designer)

Симулник

.мдл

Simulnik model

.слпx

Симулник заштићен модел

Симспаце

.ссц

Симсцапе модел

МуПАД

.му МуПАД цоде

Литерарура[уреди | уреди извор]

  • Гилат, Амос. МАТЛАБ: Ан Интродуцтион wитх Апплицатионс Јохн Wилеy & Сонс. (2nd изд.). 2004. ISBN 978-0-471-69420-5. .
  • Ферреира, А.Ј.M.. МАТЛАБ Цодес фор Фините Елемент Аналyсис. Спрингер. 2009. ISBN 978-1-4020-9199-5..
  • Qуартерони, Алфио. Сциентифиц Цомпутинг wитх МАТЛАБ анд Оцтаве. Спрингер. 2006. ISBN 978-3-540-32612-0..
  • Лyнцх, Степхен. Дyнамицал Сyстемс wитх Апплицатионс усинг МАТЛАБ. Биркхäусер. 2004. ISBN 978-0-8176-4321-8..

Спољашње везе[уреди | уреди извор]