You are on page 1of 15

Universiteti i Tiranës, Fakulteti i Shkencave të Natyrës

Arnisa SOKOLI

Hyrje në Octave
Octave është një sistem softuerik interaktiv open-source që përdoret për llogaritjet numerike dhe
grafike. Octave është projektuar veçanërisht për përpunimin e matricave: zgjidhja e ekuacioneve,
llogaritja e vlerave dhe vektorëve vetjakë etj. Në shumë probleme inxhinierike të botës reale, të
dhënat mund të shprehen si matrica dhe vektorë. Përveç kësaj, Octave mund të shfaqë të dhëna në
mënyra të ndryshme, dhe ka gjithashtu gjuhën e vet programuese e cila lejon sistemin të zgjerohet.
Mund të mendohet si një makinë llogaritëse shumë e fuqishme dhe e programueshme. Octave bën
të lehtë zgjidhjen e një game të gjerë problemesh numerike, duke ju lejuar të kaloni më shumë
kohë duke eksperimentuar dhe menduar për problemin më të gjerë. Dobia e Octavës është
përmirësuar duke u bërë e pajtueshme në mënyrë sintaksore me MATLAB që përdoret zakonisht
në industri dhe akademi.

Octave është dizenjuar për të zgjidhur numerikisht problemet matematike, që do të thotë të


llogarisë vlera në memorien e kompjuterit. Kjo do të thotë që jo gjithmonë Octave jep një zgjidhje
të saktë të një problemi dhe nuk duhet të konfuzohet me programe si Mathematica ose Maple, të
cilët japin një zgjidhje simbolike duke bërë shndërrime algjebrike.
 Nga kush përdoret Octave?

OCTAVE dhe MATLAB përdoren gjerësisht nga inxhinierët dhe shkencëtarët në industri dhe
akademi për të përformuar llogaritje numerike dhe për të zhvilluar dhe testuar algoritme
matematike. Prsh, në Jaguar Racing përdoret Octave për të shfaqur dhe analizuar të dhënat e
transmetuara nga makinat e tyre Formula 1; Universiteti Sheffield e përdor atë për të zhvilluar
softuerin për të njohur qelizat kancerogjene. Me anë të OCTAVE është shumë e lehtë për të shkruar
shpejt programe matematikore dhe për të shfaqur të dhëna në një gamë të gjerë mënyrash të
ndryshme.

 Instalimi i Octave
Download-imi i Octave është falas dhe mund të bëhet nga linku i mëposhtëm:
https://www.gnu.org/software/octave/index

1
Universiteti i Tiranës, Fakulteti i Shkencave të Natyrës
Arnisa SOKOLI

Në faqen e Octave, lart, djathtas gjeni Donwload.

Në varësi të sistemit të operimit të kompjuterit, zgjidhni linkun përkatës për të shkarkuar Octave.

2
Universiteti i Tiranës, Fakulteti i Shkencave të Natyrës
Arnisa SOKOLI

Nëse keni Microsoft Windows shkarkoni file-n octave-7.1.0-w64-installer.exe dhe më pas hapeni
atë.

Në figurën e mëposhtme zgjidhni një nga opsionet dhe pastaj Next. Në dritaren e fundit që ju hapet
shtypni Install.

Pas instalimit në desktop do ju shfaqen GNU Octave (CLI) - Command Line Interface dhe GNU
Octave (GUI) - Graphical User Interface.

3
Universiteti i Tiranës, Fakulteti i Shkencave të Natyrës
Arnisa SOKOLI

Mjedisi i punës në Octave ka pamje si në figurën më lart. Në Command Window mund të kryhen
veprimet e nevojshme llogaritëse. Editor shërben për të krijuar scripte që më pas mund të
ekzekutohen në dritaren e komandave.
Gjithmonë në dritaren e komandave do shfaqet simboli >>.
Pas këtij simboli mund të shkruani çdo komandë që dëshironi.
Disa komanda janë:
>> exit ose quit (përdoren për të dalë nga program)
>> help emri_i_komandës (kërkoni ndihmë për komanda të ndryshme)

Shënim:
Me butonat ↑, ↓ bëhet rithirrja e komandave që kemi përdorur më parë. Nëse dëshironi të përsërisni
një nga këto komanda, thjesht gjeni atë duke përdorur tastet e kursorit dhe shtypni enter. Ndërsa
me butonat ←→ mund të lëvizim në një pikë të çfarëdoshme të komandës. Kjo është e nevojshme
nqs keni shkruar një rresht të gjatë dhe mund të keni ndonjë gabim në të.
 Octave si kalkulator
Mënyra më e thjeshtë për të përdorur Octave është thjesht të shkruani komandat matematike pas
simbolit >>, si një makinë llogaritëse normale. Të gjithë shprehjet e zakonshme aritmetike njihen.
Prsh:
>> 3+5
ans = 8

4
Universiteti i Tiranës, Fakulteti i Shkencave të Natyrës
Arnisa SOKOLI

Rezultati i veprimit ruhet në një variabël me emër ans që është shkurtim i “answer”. Variabli ans
ruan rezultatin e veprimit të fundit të shkruar në dritaren e komandave. Për të gjetur rezultatin e
një veprimi matematik, thjesht shtypni tastin Enter.

Veprimet bazë aritmetike janë: +, - , * , / dhe ^ (që do të thotë në fuqi të). Për shprehjet aritmetike
përdoren dhe kllapat (). Radha e veprimeve është si në matematikë: Kllapat, fuqia, shumëzimi dhe
pjesëtimi, më pas mbledhja dhe zbritja.

 Funksionet e gatshme në Octave


Ashtu si veprimet matematike, në Octave kemi dhe disa funksione të gatshme:

cos Kosinusi i një këndi (në radian)


cosd Kosinusi i një këndi (në gradë)
sin Sinusi i një këndi (në radian)
sind Sinusi i një këndi (në gradë)
tan Tangenti i një këndi (në radian)
tand Tangenti i një këndi (në gradë)
cot Kotangenti i një këndi (në radian)
cotd Kotangenti i një këndi (në gradë)
exp Funksioni eksponencial (𝑒 𝑥 )
log Logaritmi natyror
log10 Logaritmi me bazë 10
sinh Sinusi hiperbolik
cosh Kosinusi hiperbolik
tanh Tangenti hiperbolik
acos I anasjellti i kosinusit
acosh I anasjellti i kosinusit hiperbolik
asin I anasjellti i sinusit
asinh I anasjellti i sinusit hiperbolik
atan I anasjellti i tangentit
atanh I anasjellti i tangentit hiperbolik
abs Vlera absolute
sqrt Rrënja katrore
sign Shenja e një numri (-1 ose +1)
round Rrumbullakimi në numrin më të afërt të plotë
ceil Rrumbullakos tek numri i plotë më i madh (drejt +inf)
floor Rrumbullakos tek numri i plotë me i vogël (drejt –inf)

5
Universiteti i Tiranës, Fakulteti i Shkencave të Natyrës
Arnisa SOKOLI

fix Rrumbullakos drejt zeros


rem Mbetja pas pjesëtimit me numër të plotë
factorial Faktoriali (n!)

 Funksionet trigonometrike punojnë me radian dhe në gradë. Faktori 𝜋/180 mund të


përdoret për të konvertuar gradën në radian. (deg = 𝜋/180)
 Funksioni i logaritmit natyror është ‘log’, jo ‘ln’.

Variabla të përcaktuar në Octave

 𝜋 – është një variabël i gatshëm në Octave që shënohet pi.


 𝑖 𝑑ℎ𝑒 𝑗 – janë të përcaktuar si √−1.
 inf – i referohet infinitit.
 NaN – not a number përdoret për format e pacaktuara.
Por mund të përcaktohen dhe variabla të tjerë sipas dëshirës :
>> new = vlera që doni t’i jepni variablit

 Për të parë vlerën që ka një variabël mjafton të shkruhet emri i variablit dhe më pas Enter.
 Octave është Case Sensitive (i ndjeshëm ndaj shkronjave të mëdha dhe të vogla), pra
variablat x dhe X janë të ndryshëm.
 Gjatësia e emrit të një variabli duhet të jetë më e vogël se namelengthmax që është 63
karaktere.
 Për të parë listën e variblave përdoret who.
 Komanda clear fshin të gjitha variablat.
 Komanda clear name fshin vetëm variablin e specifikuar.

 Simbole në Octave
% --- përdoret për të vendosur komente në një komandë të caktuar.
, --- përdoret për të shkruar disa variabla në të njëjtin rresht. Pasi shtypim enter del rezultati.
; --- përdoret për të shkruar disa variabla në të njëjtin rresht, por më pas nuk na shfaqet rezultati.

>> gjatesia = 5.3, gjeresia = 4.5 %Permasat e nje dhome ne metra


gjatesia = 5.3000
gjeresia = 4.5000
6
Universiteti i Tiranës, Fakulteti i Shkencave të Natyrës
Arnisa SOKOLI

>> gjatesia = 5.3, gjeresia = 4.5; %Permasat e nje dhome ne metra


gjatesia = 5.3000

Në rastin e parë na shfaqen të dyja vlerat e variablave sepse i ndajmë me presje.


Në rastin e dytë vlera e variablit gjerësia nuk shfaqet.

 Lloji i vlerave numerike të variablave

Më lart vëmë re se vlerat shfaqen me disa shifra pas presjes, që janë 0 normalisht. Kjo do të thotë
se Octave mban numrat e presje me disa shifra pas presjes. By default është e përcaktuar format
short, me 4 shifra pas presjes. Nqs shkruajmë:
>> format long
Vlerat numerike me presje pas kësaj komande do të jenë me 15 shifra pas presjes.
>> format long
>> pi
ans = 3.141592653589793

 Vektorët

Shumë probleme matematikore punojnë me sekuenca numrash. Vektorët zakonisht përdoren për
të përfaqësuar tre dimensionet e një pozicioni ose një shpejtësie, por një vektor është në të vërtetë
vetëm një listë numrash, dhe kështu i trajton Octave. Në fakt, vektorët janë një rast i thjeshtë i një
matrice (e cila është vetëm një rrjet numrash dy-dimensionale). Një vektor është një matricë me
vetëm një rresht, ose vetëm një kolonë. Vektorët mund t’i ndajmë në dy tipe: vektor rresht dhe
vektor shtyllë. Vektori rresht shkruhet horizontalisht. Vektori shtyllë shkruhet verikalisht.

Në Octave, vektorët deklarohen duke shkruar elementët në kllapa katrore []. Për vektorët rresht
elementët e vektorit shkruhen të ndara me hapësirë ose presje.
>> a=[1 2 3]
a=
1 2 3
>> b=[4,5,6]
b=

7
Universiteti i Tiranës, Fakulteti i Shkencave të Natyrës
Arnisa SOKOLI

4 5 6

Ndërsa vektori shtyllë shkruhet në kllapa katrore, por elementët ndahen me pikëpresje ndërmjet
tyre.
>> c=[4;5;-1;0;9;2]
c=
4
5
-1
0
9
2

Vëmë re se edhe afishimi i vektorëve bëhet në varësi sesi është deklaruar vektori, rresht ose shtyllë.
Nëse nuk duam të shfaqet vektori, mjafton të vendosim ; në fund të deklarimit të tij.
>> d=[4;5;-8;0;10;6];
Mund të ndërtohet një vektor nga një tjetër ekzistues si më poshtë:
>> a=[1 4 5]
a=
1 4 5
>> d=[a 6]
d=
1 4 5 6
 Mënyra të tjera deklarimi të vektorëve
Për të ndërtuar një vektor, elementët e të cilit bëjnë pjesë në segmentin [a,b] dhe me hap shumimi
të dhënë, përdorim simbolin “:” si në trajtën e mëposhtme:
x=vlera fillestare:hapi:vlera e fundit %ku vlera fillestare = a dhe vlera e fundit = b
>> x=2:0.3:4
x=

8
Universiteti i Tiranës, Fakulteti i Shkencave të Natyrës
Arnisa SOKOLI

2.0000 2.3000 2.6000 2.9000 3.2000 3.5000 3.8000

Vini re se nëse hapi i rritjes është i tillë që nuk mund të arrijë saktësisht numrin e fundit, si në këtë
rast, ai gjeneron të gjithë numrat që nuk e kalojnë atë numër. Rritja mund të jetë gjithashtu
negative, në të cilën do të numërojë mbrapsht deri në numrin përfundimtar.
Në rastin kur nuk shënohet hapi, merret automatikisht i barabartë me 1.
Për shembull:
>> x=0:10
x=
0 1 2 3 4 5 6 7 8 9 10

Një mënyrë tjetër për ndërtimin e vektorëve jepet me anë të funksionit linspace sintaksa e të cilit
është:

linspace (vlera fillestare, vlera e fundit, numri i elementëve të vektorit)


>> x=linspace(0,pi,11)
x=
Columns 1 through 9:
0 0.3142 0.6283 0.9425 1.2566 1.5708 1.8850 2.1991 2.5133
Columns 10 and 11:
2.8274 3.1416

Nëse do donim të ndërtonim një vektor me elementin e parë, të tretë dhe të pestë të vektorit më
lart x dhe më pas numrat 1 0 1 atëherë përdorim komandën:
>> a=[x(1:2:5) 1 0 1]
a=
0 0.6283 1.2566 1.0000 0 1.0000
>> x=[a(1) a(10) a(36) 1 0 -1]
x=
3.0000 4.8000 10.0000 1.0000 0 -1.0000

9
Universiteti i Tiranës, Fakulteti i Shkencave të Natyrës
Arnisa SOKOLI

Funksione të tjera të gatshme për ndërtimin e vektorëve janë:


>> zeros(1,4)
ans =
0 0 0 0
>> zeros(4,1)
ans =
0
0
0
0

zeros (M,N) Krijon një matricë me çdo element zero. Për


një vektor rresht me gjatësi n, vendosim M=1,
N=n
ones(M,N) Krijon një matricë me çdo element një. Për një
vektor rresht me gjatësi n, vendosim M=1,
N=n
linspace(x1,x2,N) Krijon një vektor me N elementë, të
baraslarguar me njëri tjetrin mes x1 dhe x2
logspace(x1,x2,N) Krijon një vektor me N elemente, të
baraslarguar në mënyrë logaritmike mes 10𝑥1
dhe 10𝑥2

Funksionet zeros dhe ones përdoren dhe për matrica ku M dhe N përcaktojnë përkatësisht numrin
e rreshtave dhe të shtyllave të matricës.

 Aksesimi i një elementi nga vektori

Elementëve të një vektori mund t’i referohemi duke përdorur kllapat rrethore (), dhe numërimi i
elementëve në vektor fillon nga 1, jo nga 0 si në C++.
>> a=[1:2:6 -1 0]
a=
1 3 5 -1 0

10
Universiteti i Tiranës, Fakulteti i Shkencave të Natyrës
Arnisa SOKOLI

>> a(3)
ans = 5

Pas deklarimit të vektorit mund të shfaqim elementin e tretë të vektorit duke përdorur komandën
a(3).

 Veprimet me vektorë

Për të bërë shumëzimin e një vektori më një skalar mjafton të shkruajmë në dritaren e komandave
a*k ku a është vektori dhe k është skalari:
>> a*2
ans =
2 6 10 -2 0

Kështu mund të shumëzohet çdo element i vektorit me skalarin, nuk ka nevojë të bëhët një cikël
for si në C++.

E njëjta gjë vlen dhe për pjesëtimin (/). Gjithashtu mund të shtojmë të njëjtin numër elementëve të
një vektori dukë përdorur operatorët (+) dhe (-).

Shumëzimi i dy vektorëve në Octave ndjek rregullin e shumëzimit të matricave, gjë që nuk bën
shumëzim element për element. Nqs doni të bëni shumëzim apo pjesëtim element për element të
2 vektorëve përdoren operatorët .* dhe ./
>> x
x=
3.0000 4.8000 10.0000 1.0000 0 -1.0000
>> a=x-2
a=
1.0000 2.8000 8.0000 -1.0000 -2.0000 -3.0000
>> x.*a
ans =
3.0000 13.4400 80.0000 -1.0000 0 3.0000
>> x./a
ans =

11
Universiteti i Tiranës, Fakulteti i Shkencave të Natyrës
Arnisa SOKOLI

3.0000 1.7143 1.2500 -1.0000 0 0.3333


>> a
a=
1 3 5 -1 0
>> b=a*2
b=
2 6 10 -2 0
>> a.*b
ans =
2 18 50 2 0

Dhe për ngritjen në fuqi element për element mund të përdoret operatori .^
>> a=[1 3 4 2]
a=
1 3 4 2
>> b=[6 7 5 8]
b=
6 7 5 8
>> b.^a
ans =
6 343 625 64
Këto veprime mund të kryhen kur vektorët kanë të njëjtat përmasa dhe të njëjtën formë.

Shumica e funksioneve të Octave veprojnë më vektorët. Për shembull, për të krijuar një listë të
vlera e sinusit në intervale 60 gradë, duhet vetëm të jepni si argument funksionit sin një vektor
këndesh:
>> kendet=0:pi/3:2*pi
kendet =
0 1.0472 2.0944 3.1416 4.1888 5.2360 6.2832

12
Universiteti i Tiranës, Fakulteti i Shkencave të Natyrës
Arnisa SOKOLI

>> sin(kendet)
ans =
0 0.8660 0.8660 0.0000 -0.8660 -0.8660 -0.0000

 Ndërtimi i grafikëve në Octave

Për ndërtimin e grafikëve, komanda bazë është plot(x,y) ku x dhe y jane koordinatat. Nqs japim
çifte numrash, grafiku do të jetë me pika. Nqs si argument të komandës plot japim 2 vektorë,
atëherë ndërtohen pikat e dhëna nga dy vektorët, duke i bashkuar ato me vijë të drejtë.
Për shembull për 2 vektorët më lart kemi:
>> kendet=0:pi/3:2*pi;
>> y=sin(kendet);
>> plot(kendet,y)

Fig.1: Grafiku i y=sin(x) për çdo 60 grade Fig.2: Grafiku i y=sin(x) me 100 vlera mes 0-2𝜋

Grafiku (Fig.1) në fakt nuk duket si një valë sinusoidale, kjo për faktin se ne kemi dhënë vlera për
çdo 60 gradë. Për të ndërtuar një grafik më të saktë duhet të jepen me shuma vlera për vektorët.
>> kendet=linspace(0,2*pi,100);
>> y=sin(kendet);
>> plot(kendet,y)
Komandat e mësipërme na paraqesin grafikun e figurës 2.

13
Universiteti i Tiranës, Fakulteti i Shkencave të Natyrës
Arnisa SOKOLI

 Përmirësimi i grafikëve

Paraqitja e grafikëve mund të bëhet në varësi të dëshirës me ngjyra ose stil vijash të ndryshme. Për
këtë mjafton të shtohet një argument i tretë në komandën plot. Për shembull, për të ndërtuar
grafikun e mësipërm me rrethorë në ngjyrë të kuqe atëherë komanda do të ishte:
>> plot(kendet,y,'ro')

Në grafik mund të shtojmë dhe titullin e grafikut dhe emërtimet e boshteve:


>> title('Grafiku i funksionit y=sin(x)')
>> xlabel('Kendet')
>> ylabel('Vlerat')

Vlerat e ndryshme që mund t’i jepni argumentit të tretë jepen në tabelën me lart. Në fillim vendoset
simboli për ngjyrën dhe më pas simboli për tipin e pikave apo vijave që dëshironi.

14
Universiteti i Tiranës, Fakulteti i Shkencave të Natyrës
Arnisa SOKOLI

Për të shtuar ndarjet e sistemit koordinativ mund të përdorni komandën grid on ose simbolin #.

 Paraqitja e disa grafikëve në një dritare

Mund të vizatohen disa grafikë në të njëjtën figurë duke shtuar më shumë argumente në komandën
plot, duke dhënë vektorët x dhe y për çdo graf. Për shembull, për të vizatuar një kurbë kosinusi së
bashku me kurbën e mëparshme të sinusit, mund të shkruajmë në dritaren e komandave
>> plot(kendet,y,':',kendet,cos(kendet),'-')

Në këtë komandë 3 argumentet e fundit përcaktojnë kurbën e kosinusit dhe tipin e vijës së grafikut.
Mund të shtojmë dhe legjendën për këtë grafik.
>> legend('sin','cos')
Argumentet e komandës legend vendosen sipas rradhës së përcaktimit të grafikëve.

Fig.3: Menyra 1 për ndetimin e grafikeve ne 1 figure Fig.4: Menyra 2 për ndërtimin e grafikeve

Një mënyrë tjetër për të ndërtuar 2 grafikë në një figurë është duke përdorur komandën hold on.
Në këtë mënyrë dy grafikët e sinusit dhe kosinusit mund të ndërtohen duke përdorur 2 komanda të
veçanta plot: (fig.4)
>> plot(kendet,y,'g*')
>> hold on
>> plot(kendet,cos(kendet),'r-')
>> legend('sin','cos')

15

You might also like