Bежба 1 Aлати и основне функције 1.1. КАКО ПОЧЕТИ РАД У MATLAB У MATLAB се дистрибуира у компримованом формату на CD-овима. Инсталацијом, датотеке са ових CD-ова премештају се на диск, декомпримују се и инсталирају у Windows-овом окружењу. Када је програм позван, појављује се MATLAB - ов командни прозор (слика 1. 1). cлика 1. 1 Први ред представља линију менија (Menu bar). Линија менија садржи уобичајене команде. Aкo се на екрану одмах не појави прозор са cлике 1.1, добићемо га ако изаберемо Desktop -Desktop Layout-Default. 1
На екрану се могу видети мањи прозори: Command window Command History window Launch Pad window Постоје такође дугмад за два нова прозора: Workspace window Current Directory window Command window је главни део MATLAB-овог интерактивног система. Из тог прозора приступамо MATLAB-овим командама и функцијама. Command History window чува предходне наредбе које су биле коришћене у Command window. Launch Pad window је други начин да се приступи MATLAB-у. Треба кликнути на икону на врху прозора и отвориће се основни програм или toolbox-ови, према жељи корисника. Workspace window показује променљиве које су коришћене током рада, односно њихову величину и врсту. Ове информације могу бити од велике користи касније у раду. Current Directory window показује коришћене фајлове. Напомене о раду са Command window: Да би се команда уписала, курсор мора бити непосредно иза командног одзивника (>>). Уписана команда биће извршена кад се притисне тастер <Enter>. У исти ред се може уписати више команди ако се раздвоје зарезом. Не може се вратити у претходни ред командног прозора. Тастер стрелица ( ) приказује иза командног одзивника (>>) претходну команду. 1.2. ОПЕРАТОРИ ЗА ПОМОЋ У РАДУ Наредбом help обезбеђена је помоћ и информације током рада. То је велика погодност за кориснике јер је тешко меморисати велики број функција које су дефинисане. Постоји неколико верзија ове наредбе. Ако откуцамо help и притиснемо тастер <Enter> на екрану ће се појавити списак области и упутства за рад. На екрану ће се појавити списак свих опција које поседује MATLAB. >> help HELP topics: matlab\general matlab\ops - General purpose commands. - Operators and special characters. 2
Да би се добило упутство за неку посебну област, оператор или функцију потребно је унети наредбу: >> help област Откуцати следеће наредбе help и видети шта се добија на екрану. >> help * >> help i >> help sqrt За илустровање могућности MATLAB-а, приређени су узорци разних програма, који се могу позвати наредбама dеmо. Активирањем ове наредбе отвара се графички прозор који показује мени демонстрационих датотека. 1.3. УНОШЕЊЕ ПОДАТАКА - БРОЈЕВИ И АРИТМЕТИЧКИ ИЗРАЗИ Основни објекат над којим се врше операције у MATLAB-у је поље бројева. Ово поље бројева може да се тумачи као матрица у уoбичајеном смислу, али зависно од команде, може се тумачити и као табела података које треба обрадити. Под скаларом се подразумева матрица типа 1 1. Вектори представљају матрице једне врсте или једне колоне. MATLAB је језик израза. Они су сачињени од константи, променљивих, оператора, специјалних знакова и функција. Операције и изрази у MATLABу се пишу на уобичајан начин, слично као што пишемо на папиру. Резултат извршења израза је матрица. MATLAB оперише са реалним и комплексним бројевима. Користи се уобичајена децимална нотација са знаком и децималном тачком. MATLAB може да се користи за израчунавање једноставних математичких израза. Тада он ради слично калкулатору. MATLAB је веома строг према дефинисаној синтакси језика. На пример, изостављена заграда или зарез могу да утичу да цео програм не функционише. Са друге стане, велика олакшица у раду је што се на екрану исписује врста учињене грешке и олакшава се кориснику да се грешке исправе. ПРИМЕР 1: >> y=sin(x??? y=sin(x Error: ")" expected, "end of line" found. MATLAB-ове променљиве могу имати нумеричке или знаковне вредности (string). 3
Знаковни тип података састоји се из низа ASCII знакова, а уносе се под једноструким апострофима, на пример 'x'. ПРИМЕР 2: Написати реч студент. >> rec='student' rec = student ПРИМЕР 3: Одредити број слова у речи студент. >> size(rec) 1 7 У овом примеру коришћена је наредба size, која одређује димензију унете променљиве. Напомена: (Одговор 1 7 означава поље бројева, тј. у једном реду има седам елемента) Напомена: У MATLAB-у се знак = назива оператором доделе. Овај оператор додељује вредност променљивој Ime_promenljive= numerička vrednost ili izraz Имена променљивих или функција, морају почети словом, иза кога може следити призвољан низ симбола, али се само првих 31 карактера из имена памти. MATLAB разликује велика и мала слова, тј. x и X су две различите променљиве. Имена матрица обично се пишу великим словима, док имена скалара и вектора малим словима. Имена функција морају се писати малим словима. 1.4. АРИТМЕТИЧКИ ОПЕРАТОРИ Аритметички изрази се праве коришћењем уобичајених аритметичких операција за које користимо следеће симболе: (табела 1. 1). + сабирање - одузимање * множење / дељење ^ степеновање табела 1. 1 4
ПРИМЕР 4: Израчунати вредност израза 2+4-6. >> 2+4-6 0 Из овог примера видимо да MATLAB сам креира променљиву под именом ans (answer-одговор) уколико корисник сам не додели име променљивој или вредности израза. ПРИМЕР 5: Израчунати вредност израза >> x=2+(2*4-1/pi) x = 9.6817 1 x = 2 + 2 4. π Број π je дефинисан као стална величина MATLAB-а и довољно је укуцати само pi. ПРИМЕР 6: Израчунати вредност израза y = 3x, ако је >> x=3^2; >> y=3*x y = 27 2 x = 3. Напомена: Ако не желимо да се резултат или међурезултат одмах прикаже на екрану, на крају наредбе унесе се знак ;. Ово се често користи у раду када нас међурезултати не интересују. На овај начин се убрзава рад на рачунару, јер се елиминише исписивање великог броја, често непотребних међурезултата. 1.5. РЕЛАЦИЈСКИ ОПЕРАТОРИ Релацијски оператори су бинарни оператори и користе се за поређење израза. Резултат поређења је тачно (true) у ознаци 1 или нетачно (false) у ознаци 0 (табела 1. 2). < Мање од Мање или једнако од > Веће од Веће или једнако од == Једнако ~= Неједнако табела 1. 2 5
ПРИМЕР 7: Израчунати вредност израза 5<3. >> 5<3 0 ПРИМЕР 8: Израчунати вредност израза 5<(7= =8). >> 5<(7= =8) 0 Заменимо сада = = са = >> 5<(7=8)??? 5<(7=8) Error: ")" expected, "=" found. Напомена: Оператор = = често се погрешно замењује са =, јер = = представља једнакост, а = је придруживање. У првом случају 7 = = 8 има истинитосну вредност, погрешно, тј. 0 и зато 5 < 0 даје као резултат 0. 1.6. ЛОГИЧКИ ОПЕРАТОРИ Операције ~ Логичко не Логичко и Логичко или & табела 1. 3 Вредности за логичке операције А B ~А А&В А B 1 1 0 1 1 1 0 0 0 1 0 1 1 0 1 0 0 1 0 0 табела 1. 4 6
1.7. ОСНОВНЕ ФУНКЦИЈЕ Функције се позивају тако што се иза имена функције у малој загради наведе аргумент функције. Неке од елементарних функција које су уграђене у MATLAB можемо видети у табели 1.5. Као што смо већ напоменули функције се пишу малим словима, а аргументе наводимо у заградама. abs( ) апсолутна вредност sqrt( ) квадратни корен sin( ) синус cos( ) косинус tan( ) тангенс cot( ) котангенс exp( ) експоненцијална функција основе е log( ) логаритам основе е log10( ) логаритам основе 10 табела 1. 5 ПРИМЕР 11: Израчунати >> sin(pi/4) 0.7071 sin π. 4 ПРИМЕР 12: За x = 5 и y = 59 израчунати вредност израза z = ln y + x. >> x=5; >> y=59; >> z=log(y)+sqrt(x) z=6.0775 Напомена: Приметимо да вредности променљивих x и y нису приказане на екрану, јер се иза променљивих налази знак ; 2 ПРИМЕР 13: Израчунати решења квадратне једначине x 2x 3. Напомена: Уколико желимо да неки део програма детаљније опишемо, у самом писању можемо користити коментаре. Ознака % користи се за писање коментара. >> % Kvadratna jednačina je oblika ax^2+bx+c : >> % Rešenja se dobijaju na osnovu formule x 1,2 2 b ± b 4ac = : 2a 7
>> a=1;b=-2;c=-3; >> koren=sqrt(b^2-4*a*c); >> x1=(-b+koren)/(2*a) x1 = 3 >> x2=(-b-koren)/(2*a) x2 = -1 ПРИМЕР 14: Израчунати вредност израза z = log10 x + y, за вредности променљивих x=10 и y=-20. >> % прво се дефинишу вредности независно променљивих >>x=10; y=-20; >>z=log10(x)+abs(y) z = 21 Напомена: Треба имати у виду да MATLAB памти предходно унете величине па их није потребно поново дефинисати ако нам касније требају у раду. 1.8. ОСНОВНЕ КОНСТАНТЕ У MATLAB - У ans Вредност израза када није придружен променљивој eps Дозвољена толеранција грешке 2-52 i, j Имагинарна јединица, 1 pi π =3.14159265... Inf, или резултат 1/0 (infinity) NaN Није број, или резултат 0/0 (Not a Number) табела 1. 6 Напомена: Предност рада у MATLAB-у је што дељење нулом не доводи до прекида програма или грешке. Исписује се порука упозорења и специјална величина се понаша коректно у каснијим израчунавањима. 1.9. ИЗЛАЗНИ ФОРМАТ Излазни облик приказивања резултата може се контролисати наредбом format. Ова команда утиче само на приказ на екрану, а не на то како се шта израчунава или смешта у меморију. Постоје различити излазни формати: 1. zapis format short Фиксни зарез са 4 децимале, опсег 0,001<x<1000 2. zapis format long Фиксни зарез са 14 децимала, опесег 0,001<x<1000 3. zapis format short e Нотација са 4 децимале изван опсега format short 8
4. zapis format long Нотација са 15 децимала изван опсега format long e 5. zapis format rat Формат разломка Ако није дефинисан неки други формат аутоматски се користи format short, стандардни формат са 4 значајне цифаре. ПРИМЕР 15: Број π приказати користећи све претходне команде. >> 1.zapis=format long, pi 3.14159265358979 >> 2.zapis=format long e, pi 3.141592653589793e+000 >> 3.zapis=format short e, pi 3.1416e+000 >> 4.zapis=format rat, pi 355/113 >> 5.zapis=format short, pi % podrazumevana notacija 3.1416 Напомена: Следећи број са којим будемо радили биће у последњем формату који смо користили. Да би се вратили у уобичајени format short, довољно је откуцати само наредбу format. 1.10. БРИСАЊЕ И ЧУВАЊЕ ПОДАТАКА clear clear x save save ime quit, exit load Брише податке из радне меморије Брише се променљива x Чува податке у фајлу на диску за каснију употребу Памти све величине из радног простора под задатим именом Остварује се прекид програма Предствља обрнуту наредбу од save табела 1. 7 9