Uploaded by Oki dogki

Octave 1 Osnovne funkcije i instalacija

advertisement
Bежба 1
Aлати и основне функције
1.1. КАКО ПОЧЕТИ РАД У GNU OCTAVE
GNU Octave је програмски језик, преузима се са следеће интернет
адресе www.gnu.org . Након инсталирања GNU Octave верзије за
одговарајући оперативни систем, по покретању програма
појављују се следећи прозори (Слика 1.1.)
cлика 1. 1
Први ред представља линију менија (Menu bar). Линија менија садржи
уобичајене команде.
Aкo се на екрану не појавe прозори као на cлици 1.1, добићемо их када у линији
менија изаберемо Window затим последњу опцију Reset Default Window Layout.
1
На екрану се могу видети мањи прозори са леве стране:
File Browser - показује листу сачуваних докумената на рачунару,
користан нам је за претрагу већ готових програма.
Workspace - показује променљиве које су коришћене током рада,
односно њихову величину и врсту. Ове информације могу бити од
велике користи касније у раду.
Command History - чува предходне наредбе које су биле позиване
у Workspace прозору.
У зависности коју картицу изабаремо у доњем десном делу прозора, могу се
видети следећи прозори:
Command Window - је главни део интерактивног система. Из тог
прозора приступамо командама и функцијама.
Editor – се користи за писање програма који се извршавају у
Command Window ( може се упоредити са Notepad-oм).
Documentation – картица представља списак наредби и упутства
како се лакше може користити програм као и најчешћи проблеми
са предлогом решењима, који се могу појавити током рада
Напомене о раду са Command window:
 Да би се команда уписала, курсор мора бити непосредно
иза командног одзивника (>>).
 Уписана команда биће извршена кад се притисне тастер
<Enter>.
 Не може се вратити у претходни ред командног прозора.
 Тастер стрелица (↑) приказује иза командног одзивника
(>>) претходну команду.
1.2. ОПЕРАТОРИ ЗА ПОМОЋ У РАДУ
У GNU Octave, help-у се може приступити на различите начине. Један вид
помоћи је преко картице Documentation.
Help се налази у мени бару, на овај начин можете добити приступ
документацији на интернету односно интернет страници програма и
документацији која се приликом инсталације смешта на рачунар. Битно је
нагласити да се у делу Help налазе инфромације о могућим додацима програму,
затим програми који се деле међу корисницима као и могућност пријаве
грешака у раду програма.
Да би се добило упутство за неку посебну област, оператор или функцију
потребно је унети наредбу:
>> help област
Откуцати следеће наредбе help и видети шта се добија на екрану.
>> help *
2
>> help i
>> help sqrt
1.3. УНОШЕЊЕ ПОДАТАКА БРОЈЕВИ И АРИТМЕТИЧКИ ИЗРАЗИ
Основни објекат над којим се врше операције у GNU Octave је
поље бројева. Ово поље бројева може да се тумачи као матрица у
уoбичајеном смислу, али зависно од команде, може се тумачити и
као табела података које треба обрадити.
Под скаларом се подразумева матрица типа 11 . Вектори
представљају матрице једне врсте или једне колоне.
GNU Octave је језик израза. Они су сачињени од константи,
променљивих, оператора, специјалних знакова и функција.
Операције и изрази у GNU Octave се пишу на уобичајан начин,
слично као што пишемо на папиру. Резултат извршења израза је
матрица. GNU Octave оперише са реалним и комплексним
бројевима. Користи се уобичајена децимална нотација са знаком
и децималном тачком. GNU Octave може да се користи за
израчунавање једноставних математичких израза. Тада он ради
слично калкулатору.
GNU Octave је веома строг према дефинисаној синтакси језика. На
пример, изостављена заграда или зарез могу да утичу да цео
програм не функционише. Са друге стане, велика олакшица у раду
је што се на екрану исписује врста учињене грешке и олакшава се
кориснику да се грешке исправе.
ПРИМЕР 1:
>> y=2x
>>>parse error:
syntax error
>>> 2x
^
GNU Octave променљиве могу имати нумеричке или знаковне
вредности (string).
Знаковни тип података састоји се из низа ASCII знакова, а уносе
се под једноструким апострофима или под знацима навода, на
пример 'x' или „x“.
3
ПРИМЕР 2: Написати реч студент.
>> rec='student'
rec =student
>> rec1="student"
rec1 = student
ПРИМЕР 3: Одредити број слова у речи студент.
>> size(rec)
ans =
1 7
У овом примеру коришћена је наредба size, која одређује
димензију унете променљиве.
Напомена: (Одговор 1 7 означава поље бројева, тј. у једном реду
има седам елемента)
Напомена: У GNU Octave се знак = назива оператором доделе.
Овај оператор додељује вредност променљивој
Ime_promenljive= numerička vrednost ili izraz
Имена променљивих или функција, морају почети словом, иза
кога може следити призвољан низ симбола, али се само првих 31
карактера из имена памти.
GNU Octave разликује велика и мала слова, тј. x и X су две
различите променљиве.
Имена матрица обично се пишу великим словима, док имена
скалара и вектора малим словима.
Имена функција морају се писати малим словима.
1.4. АРИТМЕТИЧКИ ОПЕРАТОРИ
Аритметички изрази се праве коришћењем уобичајених
аритметичких операција за које користимо следеће симболе:
(табела 1. 1).
+
*
/
^
сабирање
одузимање
множење
дељење
степеновање
4
табела 1. 1
ПРИМЕР 4: Израчунати вредност израза 2+4-6.
>> 2+4-6
ans = 0
Из овог примера видимо да GNU Octave сам креира променљиву
под именом ans (answer-одговор) уколико корисник сам не додели
име променљивој или вредности израза.
1

ПРИМЕР 5: Израчунати вредност израза x  2   2  4   .


>> x=2+(2*4-1/pi)
x = 9.6817
Број  je дефинисан као стална величина GNU Octave и довољно
је укуцати само pi.
ПРИМЕР 6: Израчунати вредност израза y  3x , ако је x  32 .
>> x=3^2;
>> y=3*x
y=
27
Напомена: Ако не желимо да се резултат или међурезултат одмах
прикаже на екрану, на крају наредбе унесе се знак ; . Ово се често
користи у раду када нас међурезултати не интересују. На овај
начин се убрзава рад на рачунару, јер се елиминише исписивање
великог броја, често непотребних међурезултата.
1.5. РЕЛАЦИЈСКИ ОПЕРАТОРИ
Релацијски оператори су бинарни оператори и користе се за
поређење израза. Резултат поређења је тачно (true) у ознаци 1 или
нетачно (false) у ознаци 0 (табела 1. 2).
<

>

==
~=
Мање од
Мање или једнако од
Веће од
Веће или једнако од
Једнако
Неједнако
табела 1. 2
5
ПРИМЕР 7: Израчунати вредност израза 5<3.
>> 5<3
ans =
0
ПРИМЕР 8: Израчунати вредност израза 5<(7= =8).
>> 5<(7= =8)
ans =
0
Заменимо сада = = са =
>> 5<(7=8)
??? 5<(7=8)
|
Error: ")" expected, "=" found.
Напомена: Оператор = = често се погрешно замењује са =, јер
= = представља једнакост, а = је придруживање.
У првом случају 7   8 има истинитосну вредност, погрешно, тј.
0 и зато 5  0 даје као резултат 0.
1.6. ЛОГИЧКИ ОПЕРАТОРИ
Операције
~
&
|
Логичко не
Логичко и
Логичко или
табела 1. 3
А
1
1
0
0
B
1
0
1
0
Вредности за логичке операције
А&В
А|B
~А
0
1
1
0
0
1
1
0
1
1
0
0
табела 1. 4
6
1.7. ОСНОВНЕ ФУНКЦИЈЕ
Функције се позивају тако што се иза имена функције у малој
загради наведе аргумент функције.
Неке од елементарних функција које су уграђене у GNU Octave
можемо видети у табели 1.5. Као што смо већ напоменули
функције се пишу малим словима, а аргументе наводимо у
заградама.
abs( )
sqrt( )
sin( )
cos( )
tan( )
cot( )
exp( )
log( )
log10( )
апсолутна вредност
квадратни корен
синус
косинус
тангенс
котангенс
експоненцијална функција основе е
логаритам основе е
логаритам основе 10
табела 1. 5
ПРИМЕР 11: Израчунати sin

4
.
>> sin(pi/4)
ans =
0.7071
ПРИМЕР 12: За x  5 и y  59 израчунати вредност израза
z  ln y  x .
>> x=5;
>> y=59;
>> z=log(y)+sqrt(x)
z=6.0775
Напомена: Приметимо да вредности променљивих x и y нису
приказане на екрану, јер се иза променљивих налази знак ;
ПРИМЕР 13: Израчунати решења квадратне једначине
x2  2x  3 .
>> % Kvadratna jednačina je oblika ax^2+bx+c :
>> % Rešenja se dobijaju na osnovu formule x1, 2 
>> a=1;b=-2;c=-3;
>> koren=sqrt(b^2-4*a*c);
7
 b  b 2  4ac
:
2a
>> x1=(-b+koren)/(2*a)
x1 =
3
>> x2=(-b-koren)/(2*a)
x2 =
-1
Напомена: Ознака % користи се за писање коментара.
ПРИМЕР 14: Израчунати вредност израза z  log10 x  y , за
вредности променљивих x=10 и y=-20.
>> % x i y su vrednosti promenljivih iz predhodnog primera
>> z=log10(x)+abs(y)
z=
21
Напомена: Треба имати у виду да GNU Octave памти предходно
унете величине па их није потребно поново дефинисати ако нам
касније требају у раду.
1.8. ОСНОВНЕ КОНСТАНТЕ У GNU OCTAVE
ans
Вредност израза када није придружен променљивој
eps
Дозвољена толеранција грешке 2
i,j
pi
Inf
NaN
Имагинарна јединица,  1
 =3.14159265.....
 , или резултат 1/0 (infinity)
Није број, или резултат 0/0 –(Not a Number)
-52
табела 1. 6
Напомена: Предност рада у GNU Octave је што дељење нулом не
доводи до прекида програма или грешке. Исписује се порука
упозорења и специјална величина се понаша коректно у каснијим
израчунавањима.
1.9. ИЗЛАЗНИ ФОРМАТ
Излазни облик приказивања резултата може се контролисати
наредбом format. Ова команда утиче само на приказ на екрану, а
не на то како се шта израчунава или смешта у меморију. Постоје
различити излазни формати:
8
format short
format long
format short e
format long e
format rat
Фиксни зарез са 4 децимале, опсег 0,001<x<1000
Фиксни зарез са 14 децимала, опесег
0,001<x<1000
Нотација са 4 децимале изван опсега format short
Нотација са 15 децимала изван опсега format long
Формат разломка
Ако није дефинисан неки други формат аутоматски се користи
format short, стандардни формат са 4 значајне цифаре.
ПРИМЕР 15: Број 
команде.
приказати користећи све претходне
>> format long, pi
ans =
3.14159265358979
>> format long e, pi
ans =3.141592653589793e+000
>> format short e, pi
ans =
3.1416e+000
>> format rat, pi
ans =
355/113
>> format short, pi % podrazumevana notacija
ans =
3.1416
Напомена: Следећи број са којим будемо радили биће у
последњем формату који смо користили. Да би се вратили у
уобичајени format short, довољно је откуцати само наредбу format.
1.10. БРИСАЊЕ И ЧУВАЊЕ ПОДАТАКА
clear
clear x
save
save ime
quit , exit
load
Брише податке из радне меморије
Брише се променљива x
Чува податке у фајлу на диску за каснију употребу
Памти све величине из радног простора под задатим именом
Остварује се прекид програма
Предствља обрнуту наредбу од save
табела 1. 7
9
ВЕЖБА:
1. Утврдити шта је веће e  ili  e ?
(Водити рачуна да e није дефинисано као константа GNU Octave, већ
га израчунавамо као вредност експоненцијалне функције за аргумент
x  1 ).
2. Ако је a  18.2, b  6.42, c  a / b, d  0.5(cb  2a) израчунати
a  b a  d 

.
c
abc
2
вредност m  d 
3. Унети своје име и презиме па одредити број слова у њему.
4. Проверити тачност израза cos 2
10
x
tgx  sin x


за x  .
2
2tgx
5
Download