You are on page 1of 12

Mathcad Modul # 2

Operatori i funkcije
Relacioni i logički operatori - (funkcija if)
Korisnički definisane funkcije
Globalne promenljive

1) Operatori i funkcije: U uvodnom tutorijalu su matematički regioni formirani pomoću tastature.


Mada je to brži način za unos, početnici najčešče koriste Mathcad palete. U Mathcad-u se
razlikuju operatori i funkcije, mada je njihova uloga prilicno slična. Operatori i funkcije figurišu u
matematičkim regionima i u Mathcad-u nalaze grupisani u paletama (Toolbar). Kada aktivirate
View=>Toolbars=>Math dobijate sledeću Math paletu koja sadrži 9 podpaleta

Ako slučajno zatvorite ovu paletu klikom na X možete je u svakom


momentu vratiti sa View=>Toolbars=>Math

Klikom na neku od ovih 9 ikona otvara se podpaleta sa skupom operatora. Ove podpalete možete
pomerati na mesto gde vam odgovara. U podpaletama se nalaze operatori i funkcije.
Operatori: Aktiviranjem nekih od operatora ćete dobiti grafički izgled operatora i, u zavisnosti od
operatora, određen broj plejsholdera koje treba ispuniti. Na primer, ako postavite miša 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 znači da ovaj operator ima dva operanda (dva plejsholdera)


koje treba da unesete. Broj plejsholdera predstavlja broj
operanada datog operatora. Operator izvršava određenu
operaciju nad operandima i dobijate rezultat.

Na primer ako izaberete sledeći operator iz Calculus palete na ekranu ćete dobiti

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


pritisnemo taster = dobijamo rezultat

1 − 1
∑   = 35.591
100 x

 x
x =1

Izraz se formira pomoću operanada i operatora vodeći računa o položaju linija za editovanje (već
smo to spominjali). Iako svaki operator možete izabrati iz palete, jednostavnije je i brže da one
najčešće korištene unosite sa tastature kao što smo već i radili.

Mathcad se trudi da bude intuitivan i da operatori liče onim operatorima koji se koriste u
matematici.
Pokušajte da pomoću operatora za određeni integral (nađite ga) izračunate određeni
integral funkcije
x

1+x
2

u intervalu [0,1]. Primetite koliko ovaj operator ima operanada i pokušajte u određene
plejsholdere da ubacite ono što se od vas očekuje (slično - skoro isto- kao u
matematici)

Funkcije: Funkcije su slične operatorima samo za razliku od operatora one nemaju grafički
izgled sličan matematičkoj notaciji nego imaju ime i jedan ili više argumenata (operatori imaju
operande). Imena funkcija podležu istim pravilima kao i imena promenljivih. Ako, na primer, iz
Calculator palete kliknete na sin dobićete sledeće

sin( )

Ovo je funkcija za izračunavanje sinusa ugla koji je dar u radijanima. Ima jedan argument
(plejsholder). Kada ga ispunimo možemo da dobijemo rezultat

sin
3.14 
=1
 2 
Naravno ovo isto možete dobiti i unosom sa tastature
sin(3.14/2)=

U plejsholdere i kod operatora (operatori) i funkcija (argumenti) možete uneti izraze. Kako u
Calculator paleti ima samo nekoliko funkcija gde li su ostale?. Kada vam treba neka ugrađena
funkcija nju možete dobiti pomoću Insert=>Function opcije ili izborom
iz palete alata ispod glavnog menija. Tada dobijate sledeće

Mathcad ima "mali milion" ugrađenih funkcija. Funkcije su razvrstane po kategorijama (Function
Function
Category). Iz određene kategorije birate potrebnu funkciju (Function name). Pored toga vidite
koliko funkcija ima argumenata (acos(z) ima jedan argument z) i kratko objašnjene šta ta funkcija
radi. Ako vam to nije dovoljno možete kliknuti na ? i ući u opširan Help system Mathcad-a. Kada
odaberete željenu funkciju kliknete na Insert i funkcija se ubacuje u radni list. U početku ćete
često pozivati ovu opciju za insertovanje funkcija ali ćete ih vremenom zapamtiti jer je brže unositi
ih sa tastature.
Kao i ugrađene promenljive tako i ugrađene funkcije možete redefinisati. Pogledejte
sledeće objašnjenje.
Ako otkucate

sin=

Dobićete na ekranu

sin = ƒ(Unitless) → Unitless

Mathcad vas obaveštava da je sin ime funkcije koji je bezdimenzionalan i daje bezdimenzionalan
rezultat.

Ako sada otkucate


sin := 16.7

Primetićete zelene talasiće, redefinicija imena sin. Dobićete na ekranu


Ako otkucate

sin=
Dobićete
sin = 16.7

To znači da "od sad pa nadalje i ubuduće" u ovom radnom listu sin više nije funkcija nego
promenljiva sa datom vrednošću. Ako posle ovog slučajno pokušate
sin(3.14/2)=

Dobićete na ekranu sledeće

sin
3.14 
=
 2 
Kliknite u crveni region i pročitajte objašnjenje

Nota: Preporuka je da proverite da li ime promenljive nije već "zauzeto" nekom funkcijom koja će
vam eventualno biti potrebna. Ako vam ta funkcija nije potrebna možete imenovati promenljivu istim
imenom.

2) Relacioni i logički operatori - funkcija if Pored standardnih aritmetičkih operatora u svakom


programskom jeziku ili sistemu za proračune postoje relacioni i Bulovi operatori. Ti operatori su u
Mathcad-u smešteni u paletu Boolean toolbar. Imaju jedan ili dva operanda i rezultat koji vraćaju je
"tačno" (1) ili "netačno" (0)
Operatori su identično onim u matematici i imaju isto značenje

Na primer
7 =7 =1 Ovo može da zbuni ali u prevodu znači de je rezlutat operatora da li je 7
jednako 7 tačno (rezultat je 1)

Mathcad vraća kao rezlultat relacionih i logičkih operatora 1 za tačno i 0 za netačno

5>1=1 manje
3≤2=0 manje ili jednako
10 ≠ 10 = 0 različito
¬1 = 0 Logičko NE (unarni operator)
1∧0=0 Logičko I
1∨0=1 Logičko ILI
1⊕1=0 Logičko ekskluzivno ili (EXILI)
5+2>6=1 Primetite prednost aritmetičkih nad relacionim
(ako niste sigurni koristite zagrade)

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


9>4>2=1
vrednost u datom intervalu. Slične strukture nisu dozvoljene u nekim
programskim jezicima ali se Mathcad ovde snalazi

Kombinacijom aritmetičkih, relacionih i ligičkih operatora se mogu kreirati komplikovani logički


izrazi. Čemu to sve služi? Najcešća i veoma korisna primena ovih operatora je u kombinaciji sa
funkcijom if. Ova funkcija se naziva i funkcija odlučivanja i ima sledeći izgled

if(logizraz,izraz1,izraz0)
i kao rezultat vraća ili izraz1 (ako je logički izraz logizraz tačan ili izraz0 ako je logički izraz
logizraz netačan). izraz1 i izraz0 dva mogu biti numeričke konstante - brojevi, promenljive,
izrazi (čak i nova if funkcija) ili čak tekstualne konstante
Na primer:
1.U zavisnosti od vrednosti promenljive Temp dobijamo rezultat tečno ili čvrsto
Temp := 20

if ( Temp > 0 , "tečno" , "čvrsto" ) = "tečno"

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

laminarno Re ≤ 2100
prelazno 2100 < Re ≤ 50000
turbulentno Re > 50000
Re := 10000
if ( Re > 50000 , "turbulentno" , if ( Re > 2100 , "prelazno" , "laminarno" ) ) = "prelazno"

3. U zavisnosti od promenljive Re računamo f po jednom od dva izraza


Re := 1000

f := if  Re > 2100 ,
16 0.0791 
, f = 0.014
 
 Re 
Re 4

Nota Često se relacioni operator = (CTRL+= sa tastature ) meša sa operatorom za prikaza


rezultata = (= sa tastature) ili operatorom za dodelu vrednosti := (: sa tastature)

Na primer
x=y ovaj region ništa ne izračunava. To je isto kao da ste napisali

x+ y ili

tako da se relacioni operator = često koristi kada želimo da napišemo neki jednačinu (da
koristimo jednako) ali da se nista ne računa. Ovo je najčešće slučaj pri objašnjavanju nečega ili
u estetske svrhe. Na primer:

Jednačina za proračun frikcionog faktora f za turbulentno strujanje je

= 4 log( Re⋅ f ) − 0.4


1
f

Korisnički definisani operatori i funkcije: Mathcad dozvoljava da pored silnih operatora


definišete i vaše unarne ili binarne operatore (Zainteresovani mogu pogledati Help sistem).
Korisnije je i interesantnije je što se mogu definisati i nove korisničke funkcije koje posle možemo
koristiti kao i ugrađene pozivom imena funkcije sa zadatim argumentima. Proceduru ćemo
objasniti na konkretnom primeru:
Potrebno je izračunati specifičnu entalpiju vazduha koji se zagreva od temperature T1 do
temperature T2. Podrazumevamo da se vazduh ponaša kao idealan gas.

Definišemo potrebne promenljive

a := 28.94 b := 0.4147⋅ 10 c := 0.3191⋅ 10 d := −1.965⋅ 10


−2 −5 −9

Sada definišemo funkciju za specifični topotni kapacitet cp koja zavisi od temperature T

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

• Indeks p u imenu funkcije je dobijen tako što smo ime funkcije otkucali kao c.p ...sve što se
Obratite pažnju na nekoliko stvari.

u imenu promenljive ili funkcije otkuca posle tačke se spušta 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 drugačije unosi i ima vrednost (oko ovih indeksa
često se prave zabune pa ćemo to ponoviti nekoliko puta na odgovarajućim mestima)
• Iza imena funkcije u malim zagradama stoje imena fiktivnih argumenata razdvojeni
zagradama - u ovom slučaju samo jedan argument T. Posle operatora za definisanje vrednosti
:= je izraz (isto kao i za definisanje promenljive). Primetite da i u izrazu figuriše fiktivni
argument T. Pored fiktivnog argumenta figurišu a,b i c. To su promenljive koje prethodno
moraju biti definisane

Sada ćemo definisati funkciju za specifičnu entalpiju

⌠ 2
T
∆Ha T2 , T1 :=  cp ( T) dT
( )

(1)
⌡T
1
Da bi ste otkucali ∆ koristite Greek paletu. Određeni integral je u Calculus paleti. Primetite da u
ovom izrazu figuriše već definisana funkcija za toplotni kapacitet cp ( T). Ugrađene i korisnički
definisane funkcije mogu figurisati u izrazima jer (kao i operatori) daju rezultat.
Takođe smo ovaj integral mogli da izračunamo "peške" pa bi smo dobili sledeću definiciju
entalpije

∆Hb T2 , T1 := a⋅ T2 − T1 + ⋅  T2 − T1  + ⋅  T2 − T1  + ⋅  T2 − T1 
( ) ( )
     
b 2 2 c 3 3 d 4 4
(2)
2 3 4

Ako usvojimo tempareture


T2 := 200 T1 := 50

Pozivom funkcija ∆Ha i ∆Hb sa stvarnim argumentima dobijamo iste rezultate kao što
bi trebalo i da bude

∆Ha( T2 , T1 ) = 4.426 × 10 ∆Hb ( T2 , T1 ) = 4.426 × 10


3 3

Nota: Funkcija se definiše jednom a može se pozvati (koristiti) više puta. Tako se pri definiciji kao
argumenti koristi termin fiktivni argumenti ili fiktivne promenljive. Njihovo ime nije od značaja. Od
značaja je njihov broj, redosled i tip (videćemo šta tip znači). Na primer: funkciju (1) smo mogli
da definišemo kao


većeT
∆Ha( većeT , manjeT) := 

c p ( T) dT (3)
manjeT
i da njenim pozivom sa stvarnim argumentima dobijemo isti rezultat. Stvarni argumenti su, u
opštem slučaju, izrazi. Na primer

∆Ha( T2 , T1 ) = 4.426 × 10
3

ili
∆Ha( 200 , 50) = 4.426 × 10
3

To := 50
ili

∆Ha( To + 150 , To ) = 4.426 × 10


3

Ovo funkcioniše tako što se fiktivni argumenti u definiciji funkcije zamenjuju stvarnim po
odgovarajućem redosledu pa se izračuna izraz sa desne strane definicije funkcije i to dobijemo
kao rezultat.
Evo primera gde ćemo to pokušati da još više razbistrimo

prva( x) := 1 + x

druga ( x) := 2 + x

treca( x , y) := x + y
3

cetvrta( x , y) := ( x + y)
2

Definisali smo četiri funkcije. Prve dve imaju jedan argument a druge dve dva argumenta

x := 2 y := 3 Ovi x i y nemaju nikakve veze sa fiktivnim x i y u funkcijama

prva( y) = 4 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?

Već smo spomenuli da se radni list izračunava odozgo nadole i sleva nadesno. Tako ako
pogledate sledeći primer možete se naći u zabuni

a := 2 b := 3 definicija promenljivih a i b

funkcija( x) := a + b + x definicija funkcije

a := 6 b := 4 nove definicije a i b

Pozivamo funkciju:

X := 10

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. Međutim, 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 naglašenih stvari oko redosleda izračunavanja regiona i
korištenja funkcija nekada je korisno imati promenljive koje važe u čitavom dokumentu bez obzira

definišu operatorom ≡ iz Evaluation palete umesto operatora :=


gde su definisane. Te promenljive se nazivaju globalne promenljive. Globalne promenljive se

Pogledajmo primer

A := 5 Dodela vrednosti promenljivoj

B := A + 10 B = 15 Izračunavanje B gde u izrazu figuriše A


Ovo je poznato. Prethodno je bilo potrebno definisati A a onda definisati B
Međutim promenljive možemo umesto sa := da definišemo sa operatorom za
globalnu definiciju ≡

Ag ≡ 50

Bg ≡ Ag + 100 Bg = 150

Za sada nema neke razlike dok god se držimo 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 BB = 14 Mathcad se ne buni jer je AA definisano ispod i globalno


AA ≡ 10

Prikažite vrednost promenljive AA iznad definicije promenljive BB (sivi region).


Menjajte vrednost promenljive AA. Šta se zapaža?

Međutim ako koristimo i jedan i drugi operator nepažljivo može doći do greške.
Globalna promenljiva koja je definisana izrazom koristi globalno definisane promenljive.
Pogledati žuti (gore iznad), plavi i zelene regione.

Ag := 10

Bg ≡ Ag + 6 Bg = 56 Korišteno "žuto" Ag a ne "plavo" Ag

Ag := 100 Bg = 56
Bg := Ag + 10 Bg = 110 Ovde se koristi poslednje definisano A
bez obzira što je A definisano globalno (žuti region)

Slično je razmatranje i sa globalno definisanim funkcijama.


____________________________________________________
a1 := 20 b1 := 30
a1 ≡ 2 b1 ≡ 3
funkcija1( x) := a1 + b1 + x

a1 ≡ 6 b1 ≡ 4
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 (znači 2 i 3)

a2 ≡ 20 b2 ≡ 30

a2 := 2 b2 := 3
funkcija2( x) ≡ a2 + b2 + x

a2 ≡ 6 b2 ≡ 4
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 Mathcad se ne buni jer je funkcija definisana ispod ali globalno
ali obratite pažnju koje vrednosti za a3 i b3 su uzete
a3 ≡ 100 b3 ≡ 100

funkcija3( X) = 210

funkcija3( x) ≡ a3 + b3 + x

b3 ≡ 300 a3 ≡ 200
funkcija3( X) = 210

Nota: Ne koristiti globanu definiciju promenljive ili funkcije ako nije preko potrebno.
Iako ćete 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 između
poziva i definicije funkcije mnogo regiona morate se vraćati i stalno iznad definicije funkcije
ispravljati a i b. To ćete rešiti tako što ćete u celom dokumentu na vama odgovarajućem mestu
samo jednom globalno definisati odgovarajuće promenljive i menjati ih po potrebi. One će 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, znači da su definisane negde ispod ali kao
globalne

Zamislite ovde mnogo regiona koje slede, znači 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 šta se dešava

_________________________________________________________________________Kraj

You might also like