You are on page 1of 22

Mathcad Modul # 2

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

Ako slucajno zatvorite ovu paletu klikom na X mozete je u svakom


momentu vratiti sa View=>Toolbars=>Math

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 +.

Dobijate odgovor da je to operator sabiranja (Addition) i da je


njeg unos sa tastature karakter +. Kada kliknete na ovaj
operator dobijate

To znaci da ovaj operator ima dva operanda (dva plejsholdera)


koje treba da unesete. Broj plejsholdera predstavlja broj
operanada datog operatora. Operator izvrsava odredjenu
operaciju nad operandima i dobijate rezultat.
Na primer ako izaberete sledeci operator iz Calculus palete na ekranu cete dobiti

Ovo je operator sumiranja i vidimo da mu je potrebno 4 operanada. Kada ispunimo plejsholdere i


pritisnemo taster = dobijamo rezultat

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.

Pokusajte da pomocu operatora za odredjeni integral (nadjite ga) izracunate


odredjeni integral funkcije
x

1+x

u intervalu [0,1]. Primetite koliko ovaj operator ima operanada i pokusajte u


odredjene plejsholdere da ubacite ono sto se od vas ocekuje (slicno - skoro istokao u matematici)
Funkcije: Funkcije su slicne opratorima samo za razliku od operatora one nemaju graficki izgled
slican matematickoj notaciji nego imaju ime i jedan ili vise argumenata (operatori imaju
operande). Imena funkcija podlezu istim pravilima kao i imena promenljivih. Ako, na primer, iz
Calculator palete kliknete na sin dobicete sledece
sin( )
Ovo je funkcija za izracunavanje sinusa ugla koji je dar u radijanima. Ima jedan argument
(plejsholder). Kada ga ispunimo mozemo da dobijemo rezultat
sin

3.14

=1
2

Naravno ovo isto mozete dobiti i unosom sa tastature


sin(3.14/2)=
U plejsholdere i kod operatora (operatori) i funkcija (argumenti) mozete uneti izraze. Kako u
Calculator paleti ima samo nekoliko funkcija gde li su ostale?. Kada vam treba neka ugradjena
funkcija nju mozete dobiti pomocu Insert=>Function opcije ili izborom
iz palete alata ispod glavnog menija. Tada dobijate sledece

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

Kliknite u crveni region i procitajte objasnjenje

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)

Operatori su identicno onim u matematici i imaju isto znacenje


Na primer

7=7=1

Ovo moze da zbuni ali u prevodu znaci de je rezlutat operatora da li je 7


jednako 7 tacno (rezultat je 1)

Mathcad vraca kao rezlultat relacionih i logickih operatora 1 za tacno i 0 za netacno


5>1=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)

4 < 8 8 = 1 Ovakva notacija se cesto koristi u matematici da se proveri da li je neka


vrednost u datom intervalu. Slicne strukture nisu dozvoljene u nekim
9> 4> 2= 1
programskim jezicima ali se Mathcad ovde snalazi
Kombinacijom aritmetickih, relacionih i ligickih operatora se mogu kreirati komplikovani logicki
izrazi. Cemu to sve sluzi? Najcesca i veoma korisna primena ovih operatora je u kombinaciji sa
funkcijom if. Ova funkcija se naziva i funkcija oclucivanja i ima sledeci izgled
if(logizraz,izraz1,izraz0)
i kao rezultat vraca ili izraz1 (ako je logicki izraz logizraz tacan ili izraz0 ako je logicki izraz
logizraz netacan). izraz1 i izraz0 dva mogu biti numericke konstante - brojevi, promenljive,
izrazi (cak i nova if funkcija) ili cak tekstualne konstante
Na primer:
1.U zavisnosti od vrednosti promenljive Temp dobijamo rezultat tecno ili cvrsto
Temp := 20

if( Temp > 0 , "tecno" , "cvrsto" ) = "tecno"


2.Malo komlikovanija funkcija. U zavisnosti od promenljive Re dobijamo turbulentno, prelazno

2.Malo komlikovanija funkcija. U zavisnosti od promenljive Re dobijamo turbulentno, prelazno


ili laminarno. Treba Biti veoma obazriv kod ovakvih situacija.
Menjati promenljivu Re i videti rezultat. Cilj je da kao rezultat dobijemo
Re 2100

laminarno

2100 < Re 50000

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

Nota Cesto se relacioni operator = (CTRL+= sa tastature ) mesa sa operatorom za prikaza


reziltata = (= sa tastature) ili operatorom za dodelu vrednosti := (: sa tastature)
Na primer
x=y
x+y

ovaj region nista ne izracunava. To je isto kao da ste napisali


ili

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

Korisnicki definisani operatori i funkcije: Mathcad dozvoljava da pored silnih operatora


definisete i vase unarne ili binarne operatore (Zainteresovani mogu pogledati Help sistem).
Korisnije je i interesantnije je sto se mogu definisati i nove korisnicke funkcije koje posle mozemo
koristiti kao i ugradjene pozivim imena funkcije sa zadatim argumentima. Proceduru cemo
objasniti na konkretnom primeru:
Potrebno je izracunati specificnu entalpiju vazduha koji se zagreva od temperature T1 do
temperature T2. Podrazumevamo da se vazduh ponasa kao idealan gas.
Definisemo potrebne promenljive
a := 28.94

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

Sada definisemo funkciju za specificni topotni kapacitet cp koja zavisi od temperature T


cp ( T) := a + b T + c T + d T
2

Obratite paznju na nekoliko stvari.


Indeks p u imenu funkcije je dobijen tako sto smo ime funkcije otkucali kao c.p ...Sve sto
se u imenu promenljive ili funkcije otkuca posle . se spusta u indeks. Ovde p nema vrednost
nego je samo deo imena promenljive. Ovakav indeks se zove literalni ili "kobajagi" indeks.
Kod vektora i matrica indeks se drugacije unosi i ima vrednost (oko ovih indeksa cesto se
prave zabune pa cemo to ponoviti nekoliko puta na odgovarajucim mestima)
Iza imena funkcije u malim zagradama stoje imena fiktivnih argumenata razdvojeni
zagradama - u ovom slucaju samo jedan argument T. Posle operatora za definisanje
vrednosti := je izraz (isto kao i za definisanje promenljive). Primetite da i u izrazu figurise
fiktivni argument T. Pored fiktivnog argumenta figurisu a,b i c. To su promenljive koje
prethodno moraju biti definisane
Sada cemo definisati funkciju za specificnu entalpiju
2
Ha T2 , T1 := cp( T) dT

(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)

Ako usvojimo tempareture


T2 := 200

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

Ha( veceT , manjeT) :=

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

Ha( 200 , 50) = 4.426 10

To := 50

ili

Ha( To + 150 , To) = 4.426 10

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

Ovi x i y nemaju nikakve veze sa fiktivnim x i y u funkcijama


Nadam se de ovde nema zabune

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

Pogledajte dobro koje a i b je uzeto pri pozivu funkcije, da li 2 i 3 ili 6 i 4

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

Dodela vrednosti promenljivoj

B := A + 10

B = 15

Izracunavanje B gde u izrazu figurise A

Ovo je poznato. Prethodno je bilo potrebno definisati A a onda definisati B


Medjutim promenljive mozemo umesto sa
definiciju

:=

da definisemo sa operatorom za globalnu

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

Ali na osnovu definicije globalne promenljive ovo je dozvoljeno


BB := AA + 4
AA 10

BB = 14

Mathcad se ne buni jer je AA definisano ispod i globalno

Prikazite vrednost promenljive AA iznad definicije promenljive BB (sivi region).


Menjajte vrednost promenljive AA. Sta se zapaza?
Medjutim ako koristimo i jedan i drugi operator nepazljivo moze doci do greske.
Globalna promenljiva koja je definisana izrazom koristi globalno definisane promenljive.
Pogledati zuti (gore iznad), plavi i zelene regione.
Ag := 10
Bg Ag + 6

Bg = 56

Koristeno "zuto" Ag a ne "plavo" Ag

Ag := 100

Bg = 56

Bg := Ag + 10 Bg = 110

Ovde se koristi poslednje definisano A


bez obzira sto je A definisano globalno (zuti region)

Slicno je razmatranje i sa globalno definisanim funkcijama.


____________________________________________________
a1 := 20
b1 := 30
a1 2

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

Pogledajte dobro koje a2 i b2 je uzeto pri pozivu funkcije

Globalna definisana funkcija koristi prethodne globalno definisane promenljive


X := 10
a3 1

b3 1

funkcija3( X ) = 210
a3 100 b3 100

Mathcad se ne buni jer je funkcija definisana ispod ali globalno


ali obratite paznju koje vrednosti za a3 i b3 su uzete

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

lokalna definicija funkcije, aglob i bglob nisu definisane iznad a


Mathcad se ne buni, znaci da su definisane negde ispod ali
kao globalne

Zamislite ovde mnogo regiona koje slede, znaci mnogo praznog prostora
aglob 10

bglob 20

Samo jednom u dokumentu

X := 20

fja( X ) = 50

Ovde je poziv funkcije

Menjajte vrednosti za aglob i bglob i vidite sta se desava


_________________________________________________________________________Kraj

unimo plejsholdere i

nija za editovanje (vec

emaju graficki izgled

ezultat koji vracaju je

ezultat koji vracaju je

You might also like