You are on page 1of 8

OCTAVE – UVOD: PROMENLJIVE, ARITMETICKI OPERATORI, NEKE OSNOVNE FUNKCIJE

Prozor za pisanje programa (Editor). U njemu se pišu i uređuju programi u obliku skript ili funkcijskih
datoteka

Komandni prozor (Command Window) je glavni prozor, koji se automatski otvara kada se OCTAVE
pokrene. Služi za unošenje i izvršavanje komandi i programa.

Razlikuju se mala i velika slova (x nije isto sto i X).

Promenljive se ne deklarišu, vec njihov život u memoriji počinje onog


trenutka kada im se prvi put dodeli vrednost (operatorom dodele '=').
>> X = 5;
>> X + 3 % u redu, ispisuje 8
>> Z + 1 % greška, Z nije definisano

>> clear X Promenljiva se može izbrisati iz memorije ovom komandom


>> clear all briše sve promenljive iz memorije.

Aritmetički operatori: +, -, *, /, ^, ** (poslednja dva su medjusobno


ekvivalentna i označavaju stepenovanje). Množenje, deljenje i stepenovanje
imaju viši prioritet od sabiranja i oduzimanja. Prioriteti se mogu promeniti
zagradama.

Kompleksni brojevi su direktno podržani u Octave-u. Zapisuju se pomoću


specijalne konstante 'i' koja predstavlja imaginarnu jedinicu. Na primer:
>> 5 + 3i
>> -6 +2.5i
>> 13 - 2.12i
>> 7i % U REDU, isto sto i 0 + 7i
>> 2.1 -3.4 i % GREŠKA: ne sme biti razmaka izmedju broja i konstante 'i'.
>> 2.1 - 3.4 * i % U REDU, ekvivalentno sa 2.1 -3.4i

Sve aritmeticke operacije su direktno podrzane nad kompleksnim brojevima


(npr. (2 + 3i) * (4 - 6i) daje proizvod dva kompleksna broja, a (1 - 3i)^5
racuna peti stepen datog kompleksnog broja).

Neke osnovne funkcije Octave-a:


 abs(X): racuna apsolutnu vrednost ako je X realan broj, dok za
kompleksno X racuna moduo od X.
 round(X): zaokrugljuje broj X ka najblizem celom broju
 floor(X): zaokrugljuje broj X ka prvom celom broju manjem ili jednakim
sa X
 ceil(X): zaokrugljuje broj X ka prvom celom broju vecem ili jednakim sa
X
 mod(M, N): računa ostatak pri deljenju M sa N (gde su M i N celi
brojevi). Dobijeni ostatak je uvek u intervalu [0,...,|N|-1].
 rem(M, N): računa ostatak pri deljenju M sa N (gde su M i N celi
brojevi). Dobijeni ostatak je istog znaka kao i deljenik M.
 celobrojni količnik se može izracunati kao floor(M / N)
 arg(Z): racuna argument kompleksnog broja (tj. ugao koji vektor
polozaja u kompleksnoj ravni zaklapa sa pozitivnim delom realne ose.
Ugao koji se dobija je iz intervala (-pi, pi].
 real(Z), imag(Z): daju redom, realni i imaginarni deo kompleksnog broja
Z.
 conj(Z): vraca konjugovano-kompleksni broj datog broja Z

*) Racunanje korena:
-- sqrt(x): računa kvadratni koren pozitivnog realnog broja x
-- nthroot(x, n): računa n-ti koren realnog broja x. Ako ne postoji
takav koren (kao realan broj), tada funkcija
prijavljuje grešku.
-- x^(1/n): računa n-ti koren. Broj x može biti i kompleksan broj.
Dobijeni rezultat je jedan od kompleksnih korena (može
biti i realan, ali ne mora da bude).

*) Trigonometrijske funkcije:
 sin(x), cos(x), tan(x), cot(x): računaju, redom, sinus, kosinus,tangens
i kotangens ugla x koji je izražen u radijanima.
 sind(x), cosd(x), tand(x), cotd(x): racunaju iste funkcije, ali ugao x
je izražen u stepenima.
 alternativno, stepeni i radijani se mogu konvertovati pomoću formule d
= r * 180 / pi, gde je d ugao u stepenima, a r ugao u radijanima.
 tangens se moze računati i kao sin(x)/cos(x), a kotangens i kao
1/tan(x), ili cos(x)/sin(x).

*) Inverzne trigonometrijske funkcije:


 asin(x), acos(x), atan(x), acot(x): računaju, redom, arkus
sinus, arkus kosinus, arkus tangens i arkus kotangens datog
broja x. Za asin() i acos() x treba da bude u intervalu [-1,1],
dok za atan() i acot() moze biti proizvoljan realan broj.
Rezultat je ugao izražen u radijanima.
 asind(x), acosd(x), atand(x) i acotd(x): računaju iste funkcije,
ali vraćaju ugao izražen u stepenima.

*) Logaritamske funkcije:
-- log10(x) vraća logaritam za osnovu 10 pozitivnog broja x
-- log2(x) vraća logaritam za osnovu 2 pozitivnog broja x
-- log(x) vraća logaritam za osnovu e pozitivnog broja x
(gde je e Ojlerov broj e = 2.7182818284...)
-- za računanje logaritma broja x za proizvoljnu osnovu n
može se iskoristiti formula log(x)/log(n)
ZADACI:
=======

1) Izračunati izraze:
*) 6 + 7
*) 1.24 / (5.43 + 5.3)
*) 2 na 13
*) 3.4 na -4.2
*) ((5.25 + 6.5)^3 - 7 / 22) * 3.45
*) |5.1 - 7.4|

2) Zaokrugliti brojeve 7.4 i 7.7 ka:


- najbližem broju
- prvom manjem broju
- prvom vecem broju

3) Izračunati:
*) ostatak pri deljenju broja 54 sa 7
*) celobrojni količnik brojeva 54 i 7

4) Izračunati:
*) (2 + 3i) * (4 - 5i)
*) (2 + 4i) / (3 + 2i)
*) moduo i argument kompleksnog broja z = 5 + 3i
*) konjugovani broj broju z = 2 + 4i
*) Izračunati argumente brojeva 2 - 3i i 7 + i, kao i argumente
njihovog proizvoda i kolicnika. U kom su oni odnosu?

5) Izračunati obim i povrsinu trougla cije su stranice:


a = 2, b = 7, c = 6

6) Izračunati:
*) 4-ti koren iz 5
*) 3-ci koren iz -1
*) 4-ti koren iz -1

7) Izračunati:
*) sinus i kosinus od 57 stepeni
*) tanges od 1.2 radijana
*) inverzni (arkus) tangens od 100
*) argument kompleksnog broja z = 5 + 3i (pomocu arkus tangensa)

8) Izračunati:
*) Logaritam broja 17 (za osnovu 10)
*) Logaritam broja 5.5 (za osnovu 2)
*) Prirodni logaritam broja 18
*) Logaritam broja 7 za osnovu 6
*) Logaritam broja 35 za osnovu 18

9) Ispitati da li za A = pi/12 vazi jednakost: sin(A)^2 = (1 - cos(2A)) / 2 ?

10) Izračunati vrednost funkcije:


-- f(x) = koren_iz(x^2 + 1) / (2x - 7) za x = -2.5;
-- f(x) = (sin(2x) + ctg(x))^(1/3) / (log2(x) + e^x) za x = 0.6
-- f(z) = |z|*(z^(1/2) + z^5) za z = -5 + i
-- f(x, y) = (x^2 + y^2) / (sin^2(x) + cos^2(y)) za x = pi, y = -pi / 2
-- f(x) = treći_koren_iz(tg^2(x) + 1) za x = pi / 5
11) Izračunati:
-- ceo deo od 4.9
-- najbliži ceo broj broju 4.51
-- prvi veći ceo broj za broj -7.2

12) Zaokružiti broj 5.1254 na 2 decimale.

13) Dat je trougao ABC takav da je AB = 3, AC = 5, a ugao alfa izmedju


stranica AB i AC je 55 stepeni. Izračunati (koristeci Octave):
*) Dužinu stranice BC
*) Površinu trougla
*) Poluprecnik opisanog i upisanog kruga

14) Izračunati izraze (koristeci Octave):


*) log_15(73) * sin(pi/17)
*) (peti_koren_iz(log_3(7.5)) + 1) / (log_5(12.25))^3
*) sin(pi/12) + ctg(pi/7) - 1

15) Neka je dat trougao ABC, takav da je AB = 2.5, BC = 3.5, AC = 4. Odrediti


ugao kod temena A (u stepenima).

16) Automobil polazi iz mesta i kreće se ravnomernim ubrzanim kretanjem 30s,


prelazeći pritom put od 350m. Odrediti ubrzanje automobila.

REŠENJA:
========

1) Izracunati izraze:
*) 6 + 7
>> 6 + 7
*) 1.24 / (5.43 + 5.3)
>> 1.24 / (5.43 + 5.3)
*) 2 na 13
>> 2^13
ili
>> 2**13
*) 3.4 na -4.2
>> 3.4^(-4.2)
ili
>> 3.4**(-4.2)
*) ((5.25 + 6.5)^3 - 7 / 22) * 3.45
>> ((5.25 + 6.5)^3 - 7 / 22) * 3.45
*) |5.1 - 7.4|
>> abs(5.1 - 7.4)

2) Zaokruziti brojeve 7.4 i 7.7 ka:


- najblizem broju
>> round(7.4)
>> round(7.7)
- prvom manjem broju
>> floor(7.4)
>> floor(7.7)
- prvom vecem broju
>> ceil(7.4)
>> ceil(7.7)

3) Izračunati:
*) ostatak pri deljenju broja 54 sa 7
>> mod(54, 7)
*) celobrojni kolicnik brojeva 54 i 7
>> floor(54 / 7)

4) Izračunati:
*) (2 + 3i) * (4 - 5i)
>> (2 + 3i) * (4 - 5i)
*) (2 + 4i) / (3 + 2i)
>> (2 + 4i) / (3 + 2i)
*) moduo i argument kompleksnog broja z = 5 + 3i
>> abs(5 + 3i)
>> arg(5 + 3i)
*) realni i imagirnarni deo kompleksnog broja z = 5 + 3i
>> z = 5 + 3i;
>> real(z)
>> imag(z)
*) konjugovani broj broju z = 2 + 4i
>> z = 2 + 4i;
>> conj(z)
*) Izračunati argumente brojeva 2 - 3i i 7 + i, kao i argumente
njihovog proizvoda i kolicnika. U kom su oni odnosu?
>> z = 2 - 3i;
>> w = 7 + i;
>> arg_z = arg(z)
>> arg_w = arg(w)
>> arg(z * w) % argument proizvoda je jednak zbiru argumenata
>> arg(z / w) % argument kolicnika je jednak razlici argumenata

5) Izračunati obim i površinu trougla cije su stranice:


a = 2, b = 7, c = 6
>> a = 2;
>> b = 7;
>> c = 6;
>> s = (a + b + c) / 2; % poluobim
>> O = 2 * s; % obim
>> P = sqrt(s*(s-a)*(s-b)*(s-c)); % površina (Heronov obrazac)

6) Izračunati:
*) 4-ti koren iz 5
>> nth_root(5, 4) % ili
>> 5^(1/4)
*) 3-ci koren iz -1
>> nth_root(-1, 3) % vraca realan koren -1
>> (-1)^(1/3) % vraca kompleksan koren 0.5 + 0.86603i
*) 4-ti koren iz -1
>> nth_root(-1, 4) % prijavljuje grešku (jer ne postoji realan koren)
>> (-1)^(1/4) % vraca kompleksan koren 0.70711 + 0.70711i

7) Izračunati:
*) sinus i kosinus od 57 stepeni
>> sin(57*pi/180) % sin() i cos() očekuju ugao u radijanima
>> cos(57*pi/180)
>> sind(57) % sind() i cosd() očekuju ugao u stepenima
>> cosd(57)
*) tanges od 1.2 radijana
>> tan(1.2) % ili
>> sin(1.2) / cos(1.2)
*) inverzni (arkus) tangens od 100
>> atan(100)
*) argument kompleksnog broja z = 5 + 3i (pomocu arkus tangensa)
>> z = 5 + 3i;
>> atan2(imag(z), real(z))

8) Izračunati:
*) Logaritam broja 17 (za osnovu 10)
>> log10(17)
*) Logaritam broja 5.5 (za osnovu 2)
>> log2(5.5)
*) Prirodni logaritam broja 18
>> log(18)
*) Logaritam broja 7 za osnovu 6
>> log(7)/log(6) % ili
>> log10(7)/log10(6) % ili
>> log2(7)/log2(6)
*) Logaritam broja 35 za osnovu 18
>> log(35)/log(18)

9) Ispitati da li za A = pi/12 važi jednakost: sin(A)^2 = (1 - cos(2A)) / 2


>> A = pi/12;
>> L = sin(A)^2 % leva strana
L = 0.066987
>> R = (1 - cos(2*A)) / 2 % desna strana
R = 0.066987

>> L - R
ans = 1.3878e-17

ZAKLJUČAK: jednakost važi.

NAPOMENA: Kada uporedjujemo dva realna broja koja su nastala kao


rezultat nekog izračunavanja, tada nije dobro koristiti operator ==, jer
često usled nepreciznosti izračunavanja dva broja koja bi trebalo da budu
jednaka ipak se malo razlikuju. Zato je bolje njihovu apsolutnu razliku
uporedjivati sa nekim "pragom tolerancije", a to je neki jako mali pozitivan
broj (npr. 1e-10 ili nešto slično).

10) Izračunati vrednost funkcije:


-- f(x) = koren_iz(x^2 + 1) / (2x - 7) za x = -2.5;
>> x = -2.5;
>> sqrt(x^2 + 1) / (2*x - 7)
ans = - 0.22438

-- f(x) = (sin(2x) + ctg(x))^(1/3) / (log2(x) + e^x) za x = 0.6


>> x = 0.6;
>> (sin(2*x) + 1/tan(x))^(1/3) / (log2(x) + e^x)
ans = 1.2327
NAPOMENA: Umesto 1/tan(x) moglo je i cot(x).
-- f(z) = |z|*(z^(1/2) + z^5) za z = -5 + i
>> z = -5 + i;
>> abs(z)*(z^(1/2) + z^5)
ans = -9.6870e+03 + 1.4676e+04i

-- f(x, y) = (x^2 + y^2) / (sin^2(x) + cos^2(y)) za x = pi, y = -pi / 2


>> x = pi;
>> y = -pi / 2;
>> (x^2 + y^2) / (sin(x)^2 + cos(y)^2)
ans = 6.5808e+32

-- f(x) = treci_koren_iz(tg^2(x) + 1) za x = pi / 5
>> x = pi / 5;
>> nthroot(tan(x)^2 + 1, 3)
ans = 1.1518

11) Izračunati:
-- ceo deo od 4.9
>> floor(4.9)

-- najbliži ceo broj broju 4.51


>> round(4.51)

-- prvi veći ceo broj za broj -7.2


>> ceil(-7.2)

12) Zaokrugliti broj 5.1254 na 2 decimale.


>> x = 5.1254;
>> round(x*100)/100
ans = 5.13

13) Dat je trougao ABC takav da je AB = 3, AC = 5, a ugao alfa izmedju


stranica AB i AC je 55 stepeni. Izračunati (koristeći Octave):
>> c = 3; % stranica c = AB
>> b = 5; % stranica b = AC
>> alfa = 55 % ugao kod temena A
*) Dužinu stranice BC
>> a = sqrt(b^2 + c^2 - 2*b*c*cosd(alfa)) % kosinusna teorema

*) Površinu trougla
>> P = 1/2 * b*c*sind(alfa) % ili
>> s = (a + b + c) / 2; % poluobim (vec smo izračunali a)
>> P = sqrt(s*(s-a)*(s-b)*(s-c)) % Heronov obrazac

*) Poluprečnik opisanog i upisanog kruga


>> R = (a*b*c)/(4*P)
>> r = P / s

14) Izračunati izraze (koristeći Octave):


*) log_15(73) * sin(pi/17)
>> log(73)/log(15) * sin(pi/17)

*) (peti_koren_iz(log_3(7.5)) + 1) / (log_5(12.25))^3
>> (nthroot(log(7.5)/log(3), 5) + 1) / (log(12.25)/log(5))^3
*) sin(pi/12) + ctg(pi/7) - 1
>> sin(pi/12) + cot(pi/7) - 1

15) Neka je dat trougao ABC, takav da je AB = 2.5, BC = 3.5, AC = 4. Odrediti


ugao kod temena A (u stepenima).
>> a = 3.5 % stranica a = BC
>> b = 4 % stranica b = AC
>> c = 2.5 % stranica c = AB
>> alfa = acosd((b^2 + c^2 - a^2)/(2*b*c))
alfa = 60.000

16) Automobil polazi iz mesta i kreće se ravnomernim ubrzanim kretanjem 30s,


prelazeći pritom put od 350m. Odrediti ubrzanje automobila.
Iz formule: s = (a*t^2)/2 sledi da je a = 2s / t^2
>> t = 30;
>> s = 350;
>> a = 2*s / t^2
ans = 0.77778

You might also like