Professional Documents
Culture Documents
У оквиру овог кратког увода упознаћемо се са основама рада у МАТЛАБ-у и основним подешавањима која
су неопходна како би се програми могли лакше реализовати. Први део овог увода посвећен је самом
прорамском окружењу и његовим функционалностима, док је други део посвећен неким основним командама
и филозофији програмирања у МАТЛАБ-у.
Бројем 1 означена је командна линије. На овом месту се откуца команда и притиском на даугме ентер команда
се извршава. На пример ако хоћемо да променљивој а доделимо вредност 5, у командној линији откуцамо а = 5
и притиснемо ентер. Резултат команде је да је променљива а добила вредност 5 и то се исписује непосредно
испод команде.
Радни простор тј workspace приказује све именоване променљиве које су тренутно актуелне у систему (види
слику 0.2). Након извршавања команде а=5 у систему се налази променљива а која има вредност 5. Ово је згодно
за брз увид у стање меморије након извршавања неке команде. Ако два пута кликнете на променљиву у
workspace-у отвориће вам се табела са вредностима те променљиве. У овом случају то је смао једна вредност тј
број 5 (детаљније о променљивима у 0.3.2).
Област означена са 3 представља историју команди стим што су на почетку најскорије коришићене. Мени лично
ова могућност је ретко требала, али када јесте била је веома корисна.
Писање кода у командној линији може да послужи за неке успутне или помоћне команде, међутим писање
целокупног кода било ког програма у командној линији је веома напорно. Због тога ћемо одмах прећи на
програмирање у скриптама и функцијама.
Слика 0. 1.
Слика 0. 2.
Слика 0. 5.
Слика 0. 6.
6 – Нови фајл.
8 – МАТЛАБ поседује свој Debag. Ово је једна од опција која је врло корисна, чак и неопходна за било који већи
пројекат. За сада се нећем задржавати на њој, него ће више пажње овоме бити посвећено у наредним
лекцијама.
9 – RUN или извршавање целокупне скрипте (програма). Исти ефекат има скраћеница F5.
10 – Овај квадратић указује на снтаксну исправност програма: зелен је када је све потпуно исправно, наранџаст
када има неких упозорења (ово су углавном неке напомене матлаба како би програмер обратио пажњу и
углавном се могу игнорисати), а црвен када има синтаксних грешака. Програм који има синтаксне грешке не
може се извршити.
Сада када смо се упознали са најважнијим деловима окружења, можемо да пређемо на програмирање
0.3. Филозофија програмирања
У овом делу биће представљени основни принципи на којим је програмирање у МАТЛАБУ засновано:
сматрам да је потребно да видимо разлике и специфичности у односу на друге програмске језике јер то
омогућава касније лакше и брже проналажење грешака у коду и решаање евентуалних проблема у већим
пројектима.
Карактеристично за матлаб је да променљиве није потребно дефинисати по типу, него оне преузимају тип
на основу тога што им је додељено. Такође у току истог програма променљиве могу мењати величину тј димензије
и такође може се променити тип: нешто што је било на једном месту број на другом месту може постати стринг
исл. Наравно, ово није баш препоручљиво, јер може доћи до забуна у програму како се која променљива зове,
нарочито ако их има више и ако је код подугачак.
>> a = [1 1 1]
a =
1 1 1
Добили смо матрицу врсту. За матрицу колону синтакса је следећа:
>> b = [2;2;2]
b =
2
2
2
Сада је ово матрица колона. Ако покушамо да их саберемо, МАТЛАБ ће пријавити грешку:
>> a+b
??? Error using ==> plus
Matrix dimensions must agree.
>> a+b'
ans =
3 3 3
Занимљиво је помножити ове две матрице:
>> a*b
ans =
Ово је класичан производ матрица. Међутим понекад нам је потребно да се множи сваки елемент са својим
одговарајућим. Тада је резултат матрица истих димензија као a и b:
>> a.*b'
ans =
2 2 2
То сам постигла додавањем тачке испред знака *. На сличан начин када желим да степенујем елементе
матрице, један по један, а не саму матрицу, такође додајем знак тачка испред знака за степеновање:
>> c = [1 2 3]
c =
1 2 3
>> c^2
??? Error using ==> mpower
Inputs must be a scalar and a square matrix.
>> c.^2
ans =
1 4 9
Напомена: ans је уграђена променљива МАТЛАБ окружења и има вредност последње извршене операције.
>> d = [7 5 4; 2 9 8]
d =
7 5 4
2 9 8
Приступ елементима матрице врши се на следећи начин:
>> d(1,3)
ans =
4
Издвајање реда из матрице. Ако желимо да издвојимо цео ред матрице (нпр други ред):
>> d(2,:)
ans =
2 9 8
Издвајање колоне из матрице. Ако желимо да издвојимо целу колону из матрице (нпр трећу колону)
>> d(:,3)
ans =
4
8
Издвајање неких елемента:
>> d(1,2:3)
ans =
5 4
0.4. Основне команде у МАТЛАБу:
Ради демонстрације основних команди у МАТЛАБу прећићемо у едитор кода. Код је дат у наставку као и у
засебном фајлу l04osnovneKomande.m.
Напомена: Како се резултат сваке команде не би исписивао на командној линији, иза команде је потребно
додати ‘;’.
c =
a =
b =
1 5 9
2 7 8
c =
d =
1. Селектујемо мишем узастопне команде које желимо да извршимо и притиснемо дугме F9. Извршавају се
само селектоване команде
2. Формирамо ћелије у коду. Ово се врши тако што на почетак сегмента који желимо да издвојимо поставимо
два узаступна процента (%%). Извршавање тог дела кода врши се са постављањем курсора негде у ћелију
(МАТЛАБ је онда обележи жутом бојом) и притиском на Ctrl+Enter или кликом на прву иконицу под бројем 7
са слике 0.6.