Professional Documents
Culture Documents
Operatori i funkcije
Relacioni i logicki operatori - (funkcija if)
Korisnicki definisane funkcije
Globalne promenljive
1) Operatori i funkcije: U Mathcadu se razlikuju operatori i funkcije, mada je njihova uloga
prilicno slicna. Operatori i funkcije figurisu u matematickim regionima i u Mathcad-u nalaze
grupisani u paletama (Toolbar). Kada aktivirate View=>Toolbars=>Math dobijate sledecu Math
paletu koja sadrzi 9 podpaleta
Klikom na neku od ovih 9 ikona otvara se podpaleta sa skupom operatora. Ove podpalete mozete
pomerati na mesto gde vam odgovara. U podpaletama se nalaze operatori i funkcije.
Operatori: Aktiviranjem nekih od operatora cete dobiti graficki izgled operatora i, u zavisnosti
od operatora, odredjen broj plejsholdera koje treba ispuniti. Na primer, ako postavite misa na
Calculator palete i izaberete operator +.
100
x=1
x
1 1 = 35.591
Izraz se formira pomocu operanada i operatora vodeci racuna o polozaju linija za editovanje (vec
smo to spominjali). Iako svaki operator mozete izabrati iz palete, jednostavnije je i brze da one
najcesce koristene unosite sa tastature kao sto smo vec i radili.
Mathcad se trudi da bude intuitivan i da operatori lice onim operatorima koji se koriste u
matematici.
1+x
3.14
=1
2
Mathcad ima "mali milion" ugradjenih funkcija. Funkcije su razvrstane po kategorijama (Function
Category). Iz odredjene kategorije birate potrebnu funkciju (Function name). Pored toga vidite
koliko funkcija ima argumenata (acos(z) ima jedan argument z) i kratko objasnjene sta ta funkcija
radi. Ako vam to nije dovoljno mozete kliknuti na ? i uci u opsiran Help system Mathcad-a. Kada
odaberete zeljenu funkciju kliknete na Insert i funkcija se ubacuje u radni list. U pocetku cete
cesto pozivati ovu opciju za insertovanje funkcija ali cete ih vremenom zapamtiti jer je brze unositi
ih sa tastature.
Kao i ugradjene promenljive tako i ugradjene funkcije mozete redefinisati. Pogledejte
sledece objasnjenje.
Ako otkucate
sin=
Dobicete na ekranu
sin = function
Mathcad vas obavestava da je sin ime funckije. Ako sad otkucate
sin:16.7
Dobicete na ekranu
sin := 16.7
Ako sada otkucate
sin=
Dobicete na ekranu
sin = 16.7
To znaci da "od sad pa nadalje i ubuduce" u ovom radnom listu sin vise nije funkcija nego
promenljiva sa datom vrednoscu. Ako posle ovog slucajno pokusate
sin(3.14/2)=
Dobicete na ekranu sledece
sin
3.14
=
2
Nota: Preporuka je da proverite da li ime promenljive nije vec "zauzeto" nekom funkcijom koja ce
vam eventualno biti potrebna. Ako vam ta funkcija nije potrebna mozete imenovati promenljivu
istim imenom.
2) Relacioni i logicki operatori - funkcija if Pored standardnih aritmetickih operatora u svakom
programskom jeziku ili sistemu za proracune postoje relacioni i Bulovi operatori. Ti operatori su u
Mathcad-u smesteni u paletu Boolean toolbar. Imaju jedan ili dva operanda i rezultat koji vracaju je
Mathcad-u smesteni u paletu Boolean toolbar. Imaju jedan ili dva operanda i rezultat koji vracaju je
"tacno" (1) ili "netacno" (0)
7=7=1
32=0
10 10 = 0
1 = 0
10=0
10=1
11=0
5+2>6=1
manje
manje ili jednako
razlicito
Logicko NE (unarni operator)
Logicko I
Logicko ILI
Logicko ekskluzivno ili (EXILI)
Primetite prednost aritmetickih nad relacionim
(ako niste sigurni koristite zagrade)
laminarno
prelazno
Re > 50000
turbulentno
Re := 10000
if( Re > 50000 , "turbulentno" , if( Re > 2100 , "prelazno" , "laminarno" ) ) = "prelazno"
3. U zavisnosti od promenljive Re racunamo f po jednom od dva izraza
Re := 1000
f := if Re > 2100 ,
16 0.0791
,
Re 4
Re
f = 0.014
x
tako da se relacioni operator = cesto koristi kada zelimo da napisemo neki jednacinu (da
koristimo jednako) ali da se nista ne racuna. Ovo je najcesce slucaj pri objasnjavanju necega ili
u estetske svrhe. Na primer:
Jednacina za proracun frikcionog faktora f za turbulentno strujanje je
1
f
= 4 log(Re f ) 0.4
b := 0.4147 10
c := 0.3191 10
d := 1.965 10
a := 28.94
b := 0.4147 10
c := 0.3191 10
d := 1.965 10
(1)
Da bi ste otkucali koristite Greek paletu. Odredjeni integral je u Calculus paleti. Primetite da u
ovom izrazu figurise vec definisana funkcija za toplotni kapacitet cp ( T). Ugradjene i korisnicki
1
definisane funkcije mogu figurisati u izrazima jer (kao i operatori) daju rezultat.
Takodje smo ovaj integral mogli da izracunama "peske" pa bi smo dobili sledecu definiciju
entalpije
b
c
d
2
2
3
3
4
4
Hb T2 , T1 := a T2 T1 + T2 T1 + T2 T1 + T2 T1
2
3
4
(2)
T1 := 50
Pozivom funkcija Ha i Hb sa stvarnim argumentima dobijamo iste rezultate kao sto bi trebalo
i da bude
Ha( T2 , T1) = 4.426 10
Hb( T2 , T1 ) = 4.426 10
Nota: Funkcija se definise jednom a moze se pozvati (koristiti) vise puta. Tako se pri definiciji
kao argumenti koristi termin fiktivni argumenti ili fiktivne promenljive. Njihovo ime nije od
znacaja. Od znacaje je njihov broj, redosled i tip (videcemo sta tip znaci). Na primer: funkciju
(1) smo mogli da definisemo kao
veceT
manjeT
cp ( T) dT
(3)
manjeT
i da njenim pozivom sa stvarnim argumentima dobijemo isti rezultat. Stvarni argumenti su, u
opstem slucaju, izrazi. Na primer
Ha( T2 , T1) = 4.426 10
ili
To := 50
ili
Ovo funkcionise tako sto se fiktivni argumenti u definiciji funkcije zamenjuju stvarnim po
odgovarajucem redosledu pa se izracuna izraz sa desne strane definicije funkcije i to dobijemo
kao rezultat.
Evo primera gde cemo to pokusati da jos vise razbistrimo
prva( x) := 1 + x
druga( x) := 2 + x
treca( x , y) := x + y
cetvrta( x , y) := ( x + y)
Definisali smo cetiri funkcije. Prve dve imaju jedan argument a druge dve dva argumenta
x := 2
y := 3
prva( y) = 4
druga( x + y) = 7
a ovde?
treca( y , x) = 11
a ovde?
cetvrta( y + 1 , x 4) = 4 a ovde?
Vec smo spomenuli da se radni list izracunava odozgo nadole i sleva nadesno. Tako ako
pogledate sledeci primer mozete se naci u zabuni
a := 2
b := 3
funkcija ( x) := a + b + x
a := 6
b := 4
Pozivamo funkciju:
X := 10
definicija promenljivih a i b
definicija funkcije
nove definicije a i b
funkcija ( X ) = 15
Stvarni argument je X i ima vrednost 10. To nije sporno. Medjutim, pri pozivu funkcije fiktivni
argument x se zamenjuje sa stvarnim X ali se vrednosti za a i b se uzimaju one koje
prethode definiciji funkcije tj prethodno definisane.
2) Globalne promenljive. Zbog prethodno naglasenih stvari oko redosleda izracunavanja regiona i
koristenja funkcija nekada je korisno imati promenljive koje vaze u citavom dokumentu bez obzira
gde su definisane. Te promenljive se nazivaju globalne promenljive. Globalne promenljive se definisu
operatorom iz Evaluation palete umesto operatora :=
Pogledajmo primer
A := 5
B := A + 10
B = 15
:=
Ag 50
Bg Ag + 100
Bg = 150
Za sada nema neke razlike dok god se drzimo pravila "odozgo nadole i sleva nadesno". Na osnovu
toga, naravno, ovo nije dozvoljeno
B1 A1 + 5
A1 10
BB = 14
Bg = 56
Ag := 100
Bg = 56
Bg := Ag + 10 Bg = 110
b1 3
a1 6
b1 4
funkcija1( x) := a1 + b1 + x
Pozivamo funkciju:
X := 10
funkcija1( X ) = 15 Pogledajte dobro koje a1 i b1 je uzeto pri pozivu funkcije
Lokalno definisana funkcija uzima prethodno definisane promenljive (lokalne ili globalne) iznad ili
sa leve strane definicije (znaci 2 i 3)
a2 20
b2 30
a2 := 2
b2 := 3
a2 6
b2 4
funkcija2( x) a2 + b2 + x
Pozivamo funkciju:
X := 10
funkcija2( X ) = 60
b3 1
funkcija3( X ) = 210
a3 100 b3 100
funkcija3( X ) = 210
funkcija3( x) a3 + b3 + x
b3 300
a3 200
b3
300
a3
200
funkcija3( X ) = 210
Nota: Ne koristiti globanu definiciju promenljive ili funkcije ako nije preko potrebno.
Iako cete uglavnom koristiti lokalne definicije operatorom := evo primera korisnog definisanja
promenljivih kao globalne. Zamislite sad situaciju gde vam je potrebno da menjate a i b ali da
lokalnu definiciju funkciju ne menjate (da ostane samo jedan fiktivni argument). Ako je izmedju
poziva i definicije funkcije mnogo regiona morate se vracati i stalno iznad definicije funkcije
ispravljati a i b. To cete resiti tako sto cete u celom dokumentu na vama odgovarajucem mestu
samo jednom globalno definisati odgovarajuce promenljive i menjati ih po potrebi. One ce se
primenjivati na ceo dokument.
Na primer:
fja( x) := aglob + bglob + x
Zamislite ovde mnogo regiona koje slede, znaci mnogo praznog prostora
aglob 10
bglob 20
X := 20
fja( X ) = 50
unimo plejsholdere i