Professional Documents
Culture Documents
SMath Studio Prirucnik Marijan Dizdar
SMath Studio Prirucnik Marijan Dizdar
Smath Studio
-prirunik
za apsolutnog poetnika
Sadraj
Re autora ....................................................................................................... 1
Uvod ................................................................................................................ 3
Izgled ............................................................................................................... 5
Regioni ............................................................................................................ 9
Tekstualni region ............................................................................................. 9
Unos matematikih vrednosti ......................................................................... 15
Rad sa varijablama (promenljive) .................................................................... 17
Funkcije ........................................................................................................ 19
Definisanje jedinica ........................................................................................ 20
Matrice i vektori ............................................................................................. 24
Reavanje sistema linearnih jednaina ........................................................... 29
Opseg (Range) ................................................................................................ 30
Izvodi i integrali ............................................................................................. 31
Grafici ........................................................................................................... 33
Reavanje jednaina i nule funkcije................................................................ 41
Pisanje i itanje podataka iz fajla ................................................................... 45
Programiranje ................................................................................................ 47
IF komanda ................................................................................................... 48
FOR petlja ..................................................................................................... 55
WHILE petlja.................................................................................................. 65
Spisak funkcija .............................................................................................. 68
Matrice i vektori .......................................................................................... 68
Kompleksni brojevi ..................................................................................... 71
Trigonometrija ............................................................................................ 72
Hiperbolini ................................................................................................ 73
Programiranje ............................................................................................. 75
Stringovi ..................................................................................................... 75
Fajlovi......................................................................................................... 76
II
Re autora
Tokom studiranja u vie navrata sam koristio program Mathcad 14. Njegovom
primenom dosta mi je bilo olakano reavanje odreenih zadataka kao i
prezentovanje istih. Nedavno sam na internetu pronaao program SMath Studio
koji mi se uinio kao dobro alternativno reenje. Posle kraeg korienja odluio
sam da spojim lepo i korisno , da napiem jedan mali prirunik i time nekom
pomognem, a i da se na neki nain zahvalim autoru samog programa na
izuzetnom radu.
Sam prirunik je napisan za osobe koje nikad nisu koristili ni Mathcad, a ni
SMath Studio 0.89 (build: 8).
Takoe bih se zahvalio Prof. Gilberto E. Urroz-u koji mi je dozvolio da iskoristim
njegovo materijal prilikom izrade ovog prirunika.
1 | Strana
2 | Strana
Uvod
SMath Studio je matematiki program koji po izgledu veoma podsea na
Mathcad. Bitna razlika izmeu ova dva programa je i to to je SMath besplatan
dok je cena Mathcad-a (Mathcad Prime) nekoliko stotina evra. Naravno postoji jo
bezbroj razlika ali ih ovom prilikom neu spominjati.
Sam program je preveden na dosta jezika i radi na nekoliko platformi (Windows,
Windows Mobile i Linux). SMath je delo ruskog programera po imenu Andraj
Ivaov.
Glavna web stranica: http://en.smath.info/forum/
Postoji i live verzija program koja se moe koristiti direktno iz browser-a i moe se
nai na adresi: http://smath.info/live/?lang=eng
Dostupna je i portable verzija programa za sluaj da na raunaru koji koristite
nemate administratorsko pravo da instalirate programe. Tako da ovu verziju
moete koristiti sa USB Flash memorije.
Mislim da su ove informacije sasvim dovoljne za uvod tako da moemo poeti da
upoznajemo ovaj zanimljiv program.
3 | Strana
4 | Strana
Izgled
Prilikom pokretanja programa otvara nam se sledei izgled radnog ekrana.
Padajui meni
Toolbar
Palete
5 | Strana
Datoteka
Izmeni
Izgled
Umetni
Raunanje
Servis
Stranice
Pomo.
6 | Strana
7 | Strana
2 3
6 7
10
11 12 13 14 15 16 17 18 19 20 21
Nova stranica
Otvori
Sauvaj
tampaj
Seci
Kopiraj
Zalepi
Nazad
Napred
Veliina teksta
Boja teksta
Boja pozadine
Granica regiona
Poravnaj horizontalno
Poravnaj vertikalno
Funkcija
Jedinici
Registar indeks
Izraunaj ponovo
Zaustavi proraun
Prikai/skloni paletu sa operatorima (paleta sa desne strane).
Aritmetika
Matrice
Logiki i relacioni
Funkcije
Grafovi
Programiranje
Simboli
8 | Strana
Regioni
Poto smo se upoznali sa izgledom programa krenimo sa daljim objanjima.
Na sam radni list moemo unositi razliite regione :
1.
2.
3.
4.
Tekstualni region
Ako bismo eleli da unesemo tekst na radni list to bi mogli da uradimo na vie
naina.
Prvo kliknemo na radni list gde bi smo eleli da unesemo tekst. Na radnom listu
e se pojaviti crveni krsti koji nam pokazuje gde e se tekst nalaziti.
9 | Strana
izlazimo iz regiona.
10 | S t r a n a
11 | S t r a n a
Moemo primenom komada Boja teksta i Boja pozadine promeniti boju teksta i
pozadine.
Granica regiona
12 | S t r a n a
13 | S t r a n a
. Dobija se sledee.
dobijamo sledee.
14 | S t r a n a
Zato se ovo desilo? Ili je moda bolje pitanje kako se desilo. Odgovor lei u liniji
za editovanje, naime na slici 27. moemo primetiti da se ova linija nalazi iza broja
2 to nam govori gde e se unositi izraz ako nastavimo da kucamo.
15 | S t r a n a
Ako bismo hteli da izraz sa slike 28. napiemo drugaije to moemo uiniti na
sledei nain. Nakon unosa broja 2 pritisnemo stelicu za levo ( ili space ) i
dobiemo sledei izraz.
Sada vidimo da je linija za editovanje obuhvatila ceo izraz tj. vidimo gde e se
unosti vrednosti. Ako sada ukucamo +3 dobijamo:
I nakon znaka jednakosti.
Ako elimo da unesemo neku aritmetiku operaciju to moemo uiniti ili preko
palete sa leve strane ili preko tastature.
Primer: Ako elimo da izraunamo kvadratni koren od broja 6 to moemo uiniti
unosom sa palete Aritmetika.
16 | S t r a n a
Ovo znai da smo promenljivoj x pridruili vrednost 5. Ako bi iskucali x+2= kao
rezultat bi dobili:
17 | S t r a n a
Funkcije
On nam slui kao neka vrsta preice. Usput dobijamo informacije za ta slui
izabrana opcija.
18 | S t r a n a
Funkcije
Funkcije u programu SMath Studio moemo unositi na nekoliko naina.
Odabirom na paleti Funkcije, preko padajueg menija Umetni/Funkcija ili
kucanjem same funkcije ( naravno ako joj znamo naziv ).
19 | S t r a n a
Definisanje jedinica
SMath Studio ima ugraeno veliki broj jedinica. Unos jedinice se moe uraditi na
razliite naine. Ako bismo na primer hteli da unesemo da je neka promenljiva P1
jednaka 100 N to bi mogli uraditi na sledei nain. Ukucali bi P1:100 i program
bi prikazao sledee:
Na desnom delu ovog prozora nalaze se dimenzije tj. grupa , a sa leve strane same
jedinice. Izborom grupe Sila i jedinice Njutn , a zatim pritiskom na dugme
Umetni izvrili smo unos jednice.
20 | S t r a n a
U ovom prozoru postoji i opcija brza pretraga u kojoj se mogu kucati nazivi
jedinica ili kucati jednostruki navodnik ( ) i oznaku jedinice i tako je brzo
pronai.
Drugi i laki nain unoenja jedinice je da nakon ukucanih 100 pritisnemo znak
jednostrukog navoda ( ). Na ekranu e se pojaviti sledee:
21 | S t r a n a
Primer 1 :
Ukucali smo dve promenljive P1 i P2, definisali ih a zatim
sabrali. Rezultat je iste jedinice kao i promenljive. Ako bismo
eleli da rezultat prestavimo u drugim jedinicama to bismo
uradili na sledei nain.
22 | S t r a n a
Primer 2 :
Ukucajmo sledee 10m+5ft =
Ovim postupkom smo definisali novu jedinicu xN. Pogledajmo par primera sa
ovom jedinicom.
23 | S t r a n a
Matrice i vektori
Unos matrice moe se postii ili preko panela ili preko padajueg menija
Umetni/Matrica.
24 | S t r a n a
Ako bismo eleli da proirimo ovu matricu tj. da joj dodamo (oduzmemo) red i/ili
kolonu to moemo uiniti na sledei nain.Dovedemo liniju unosa pomou
strelica ili protiskom na taster Space da obuhvati celu matricu.
Vektorski proizvod
Minor matrice
Algebarsko dodavanje matrici
Transponovana matrica
Determinanta
Slika 58. Matrice 8
25 | S t r a n a
26 | S t r a n a
Primer :
Matrica A
Determinanta matrice
Transponovana matrica
Inverzna matrica
kolone
1
2
3
redovi
Matrica A
a
Izdvoj kolonu br. 1
Izdvoj red br. 2
27 | S t r a n a
3
1
2
3
Broj reda
Prvo ukucamo A[1,3= ili umesto
znaka [ sa palete izaberemo el
Broj kolone
Separator argumenata u ovom sluaju je zarez ali se ovo moe promeniti izborom
Servis/Opcije i odabirom znaka separatora.
28 | S t r a n a
29 | S t r a n a
Opseg (Range)
Ova komanda nam vraa vektor vrednosti u zadatom opsegu. SMath poseduje
dva oblika ove funkcije range(2) i range(3). Opis svake funkcije moemo videti u
Umetni/Funkcija i zatim pronalaenja ovih funkcija.
OPIS FUNKCIJA
U sluaju vektora B poto je inkrement (korak) jednak jedinici poslednji lan 10.9
nije prikazan.
30 | S t r a n a
Prvi broj
Drugi broj
Trei broj
Izvodi i integrali
Ovaj deo emo objasniti na par jednostavnih primera.
Upisati promenljivu po
kojoj traimo izvod
funkcije
Slika 71. Izvod 2
31 | S t r a n a
Vidimo da e program prvo izvod reiti simboliki pa tek onda uvrstiti vrednost za
x.
Ovako definisan izvod moe da se rei i numeriki tako to emo umesto staviti
znak jednakosti.
32 | S t r a n a
Grafici
SMath studio poseduje mogunost prikaza 2D i 3D grafika. Grafike moemo
unositi ili pritiskom komande 2D ili 3D sa palete Funkcije ili preko padajueg
menija Umetni / Grafovi i zatim izborom vrste grafika.
Prvo emo prikazati unos 2D grafika. Pritiskom ili preko panela Funkcije ili
preko padajueg menija na radnom listu imamo sledee.
33 | S t r a n a
Kada bismo eleli da na istom grafiku dodamo jo jednu fukciju ( npr. cos(x) ) to
bismo uradili na sledei nain. Postavimo liniju unosa ( pomou strelica ili
dugmeta space ) da oznai ceo izraz kao na slici 80.
34 | S t r a n a
Pritiskom levog tastera mia i povlaenjem na dole ili gore poveavamo ili
smanjujemo broj mesta.
35 | S t r a n a
Osvei
Linijki grafik
Takasti grafik
Pomeri
Razmera
Rotiraj
Slika 87. Grafici 11
Primer 3D grafika
36 | S t r a n a
Primer:
Definisana matrica M
Program prvu kolonu tretira kao
vrednosti apcise (x), a drugu kolonu
kao vrednosti ordinate (y)
x y
tekst
veliina
teksta
boja
teksta
37 | S t r a n a
38 | S t r a n a
39 | S t r a n a
Iako izgleda da smo promenili boju pozadine grafika mi smo ustvari dodali jedan
objekat ( . ) velike veliine (1000) koji je odreene boje. Ako bismo dovoljno
odzumirali videli bi sledee.
40 | S t r a n a
Objekat Taka se
prikazuje iznad funkcije
x+4 jer je takav redosled
prikaza grafika.
Ovo je mogue reiti na ovaj nain poto nam je poznat analitiki izraz za
.
Ako ne poznajemo analitiko reenje SMath studio poseduje nekoliko operacija a
to su : solve, roots i polyroots.
Ako ukucamo sledei izraz.
41 | S t r a n a
funkcija
promenljiva
Slika 100. Jednaina 4
Uslov da je f(x)=10
42 | S t r a n a
Opseg promenljive
Promenljiva
Funkcija roots(3) ima jedan dodatni argument koji slui kao pretpostavka
reenja.
Pretpostavka
reenja
Promenljiva
Funkcija
Slika 104. Jednaina 8
43 | S t r a n a
Polyroots funkcija nam slui da traimo nule polinoma. Osim realnih nula koje
daju prethodne komande ova nam daje i imaginarne vrednosti.
44 | S t r a n a
Program sve fajlove koje ita i snima uva u C:\Documents and Settings\[IME
KORISNIKA]\Application Data\SMath\user ( U pitanju je Windows XP )
Ovaj folder je skriven tako da ga ne moete direktno nai.Ovo moete reiti tako
to iz Windows-ovog prozora iz padajueg menija Tools/Folder Options na
kartici View otkaite Show hidden files and folders.
Primer upisa podataka u fajl prikazaemo na sledeem primeru.
Podatak koji se upisuje
1 upis uspean
0 upis ne uspean
Ime fajla u koji e se izvriti upis
Slika 108. Podaci 2
45 | S t r a n a
Broj kolona
Matrica
Podatci
46 | S t r a n a
Programiranje
I ovu oblast u pokuati objasniti u duhu ovog prirunika. Pretpostaviu da o
programiranju znate apsolutno nita.
Cela sutina je da programu ( kompjuteru) kaete da uradi neke operacije po
nekom redosledu i da Vam prikae rezultate. Moda je bolja formulacija da
program uzme ulazne podatke, da ih obradi i prikae izlazne.
Da bi smo u programu napisali ta treba da se uradi moramo reiti odreene
korake. Njih emo prikazati grafiki.
Start/
Kraj
Ulaz /
izlaz
Proces
Odluka
Start
c=a+b
Ulaz
Proces
c
Izlaz
Kraj
Kada bi ovo hteli da zapiemo u programu SMath Studio izraz bi izgledao ovako:
Ulazne vrednosti
Proraun
Izlazne vrednosti
Slika 117. Programiranje 3
47 | S t r a n a
SMath poseduje paletu Programiranje na kojoj se nalaze komande koje slue pri
programiranju.
IF komanda
If komanda nam slui ako imamo granjanje. Da bi smo ovo objasnili posluie
nam sledei primer. Ako imamo neku funkciju koja ima oblik.
Start
Unos
x<0
Odluka
Izlaz
48 | S t r a n a
T Iskaz taan
N- Iskaz nije taan
Kako bi ovaj program uneli u SMath. Upisali bi sledee f(x): ,a onda bi sa palete
Programiranje pritisnuli komandu if. Prikaz na radnom listu je sledei :
Podsetnik
T
N
Kontrola
Vidimo da u ovom primeru postoji logiki uslov koji treba da bude ispunjen li ne
ispunjen (x<0) da bi program uzeo jednu ili drugu vrednost
Mislim da prvih pet nije potrebno dodatno objanjavati ( jednako, manje, vee,
manje ili jednako, vee ili jednako i nije jednako).
49 | S t r a n a
Primer:
3>2 = 1 (iskaz je taan)
3=2 = 0 (iskaz nije taan)
5 = 1 (iskaz je taan)
Negacija (ne)
>
1 = 0
0 = 1
Konjunkcija ( i )
1
1
0
0
1
0
1
0
=
=
=
=
v Disjunkcija (ili)
1
1
0
0
v
v
v
v
1
0
1
0
=
=
=
=
Ekskluzivna disjunkcija
1
1
0
0
1
0
1
0
=
=
=
=
Logike operacije
(
(3
(3
(3
3
>
>
<
>
2
2
2
2)=0
) (4>3)=1
)v(5<4)=1
)
( 2 > 1 ) =1
>
Negacija (ne)
Konjunkcija (i)
Disjunkcija (ili)
Ekskluzivna disjunkcija
Tano reenje
je 10
Slika 123. Programiranje 9
50 | S t r a n a
Ovo moemo reiti opet na nekoliko naina. Prvi je da brojeve napiemo kao
razlomke.
Drugi nain je da iskoristimo funkciju Line (Dodaj red). Ako napiemo f(x): ,a
zatim pritisnemo komandu Line na radnom listu e biti prikazano sledee :
U prvi plejsholder upiemo izraz, a zatim tipkom space ili strelicama obuhvatimo
ceo izraz.
U levom uglu pojavie se crna kockica. Kada dovedemo pokaziva mia do nje,on
menja oblik. Levim klikom hvatamo i smanjujemo ceo izraz.
51 | S t r a n a
Primer:
ematski je prikazana funkcija tj. opsezi u kojima funkcija uzima odreene
vrednosti.
-5
52 | S t r a n a
x,y
x<0
y<0
53 | S t r a n a
Primetimo sledee, program ispisuje samo rezultat. Ako bismo hteli da program
kao izlazne vrednosti osim rezultata ispie i vrednosti za promenljive i i k morali
bi da zadnju liniju koda stavimo jedan vektor sa tri reda i jednom kolonom.
54 | S t r a n a
FOR petlja
Ova vrsta petlji nam slui ako elimo da deo programa ponovimo odreeni broj
puta. SMath Studio poseduje dve vrste for petlji for(3) i for(4).
Ovu funkciju u program moemo unositi na vie naina. Kucajui tekst for i
izborom preko dinamikog asistenta ili pritiskom na paleti.
k=2
Parametar S sada ima novu vrednost S=6, k uzima novu vrednost k=3 i petlja se
ponovo izvrava. Ovo se ponavlja do vrednosti k=10.
55 | S t r a n a
2+4+6+8+10+12+14+16+18+20=110
k=1;S=2
k=2;S=2+4=6
k=2;S=2+4+6=10
k=10;S=2+4+6+8+10+...+20=110
Matematiki ovaj primer moe da se zapie na sledei nain.
Algoritam prorauna
S=0
k=1...10
For petlja
56 | S t r a n a
Petlja I
S=0
j=1...5
Petlja II
k=1...5
For petlje
Rezultat
57 | S t r a n a
Sam redosled izvravanje ovog koda tekao bi na sledei nain.Iz prve petlje bi se
uzela vrednost j=1, a iz druge k=1. Rezultat je (
)
.
Program se vraa u drugu petlju i uzima novu vrednost za parametar k=2.
j=1
j=2
j=3
j=4
j=5
0+11+21+31+41+51+
+12+22+32+42+52+
+13+23+33+43+53+
+14+24+34+44+54+
+15+25+35+45+55= 225
Razlika u ovom zapisu i zapisu ranije (Slika 139) je u tome to je u ovom sluaju
ceo kod zapisan u liniji tako da su svi parametri (k i j) lokalne promenljive i
njihove vrednosti nisu dostupne izvan programa. Naime ako bi u prvom sluaju
traili vrednost za k ili j program bi ih ispisao (zadnje vrednosti iz petlje), dok u
drugom zapisu to ne bi bilo mogue poto su lokalne promenljive.
58 | S t r a n a
Sledei primer kombinuje tri programske stukture, dve for petlje i jednu if
funkciju. Program sortira podatke od najmanjeg do najveeg i prikazuje ih u vidu
matrice .
Program napisan u SMath Studiu:
Ako bi sada pogledali ovu matricu posle prve iteracija ona bi izgledala:
Ponovo se vraamo na petlju II, sada je j=3 (k=1).
Kontrola
tj.1.2>3.5 Poto tvrdnja nije tana petlja zavrava svoj ciklus.
j=4 (k=1) ;
j=5 (k=1) ;
j=6 (k=1) ;
59 | S t r a n a
Od ovog algoritma moemo napraviti funkciju koju zatim moemo pozivati svaki
put kada elimo da sortiramo vrednosti.
Do istog reenje mogli smo doi primenom funkcije sort() koja sortira elemente u
uzlaznom redosledu.
60 | S t r a n a
Algoritam reavanja :
Matrica rS
rS
ns=length(rS)
Petlja I
k=1...ns-1
Petlja II
j=k+1...ns
Uslov
DA
NE
0
0
rS
61 | S t r a n a
Sledei primer ilustruje kako pomou for petlje moemo nacrtati grafik neke
funkcije.
Primer:
Dat je centar krunice C(-3;5) i radijus r=12.5 m. Nacrtati krunicu.
Izabrano je da je broj podataka koje emo koristiti prilikom crtanja ove funkcije
jednak stopedeset.
n=150
A inkrement je
Prvo emo prikazati algoritam reavanja ovog problema.
C,r,n
k=0...n
Spajanje vektora u
matricu Mc
62 | S t r a n a
Za ovaj proraun programu je potrebno 1 min. 19,734 sek. Razlog ovoliko dugog
prorauna lei u injenici da SMath prvo izraunava simboliki ,a zatim vrednosti
tog prorauna pretvara u numerike vrednosti. Ovo se moe promeniti tj. moe se
ubrzati.
63 | S t r a n a
Ukratko e biti objanjenja funkcija for(4) kroz jedan mali primer.Oblik komande
je sledei:
inkremen
t
uslov
Slika 151. For petlja 15
izraz
64 | S t r a n a
WHILE petlja
While petlja se koristi kada unapred ne znamo koliko puta petlja treba da se
ponovi. Najlake emo ovu petlju objasniti kroz par primera.
Poetne vrednosti
Dok je k5 ponavljati petlju
Proraun
Sledea vrednost za k
Rezultati
II ciklus
III ciklus
IV ciklus
V ciklus
VI ciklus
VII ciklus
k=9
k=8
k=7
k=6
k=5
k=4
Rezultati:
k=4
,
,
,
,
,
,
k5
k5
k5
k5
k5
k5
(95
(85
(75
(65
(55
(45
uslov
uslov
uslov
uslov
uslov
uslov
b=45
65 | S t r a n a
k=8
k=7
k=6
k=5
k=4
Poetna vrednost
b=0
Poetna
vrednost
Uslov
k=10
Inkrement
k=k-1
k5
While petlja
b=b+k
Rezultat
b,k
66 | S t r a n a
SMath Studio :
Algoritam reavanja.
S=0
k=1
k=k+1
j=1
j=j+1
k5
j5
S=S+kj
67 | S t r a n a
Spisak funkcija
Matrice i vektori
alg("1:matrica", "2:broj", "3:broj") - Algebarski dodatak matrici.
68 | S t r a n a
mat(...) - Matrica.
69 | S t r a n a
70 | S t r a n a
Kompleksni brojevi
arg("kompleksanBroj") - Ugao od realne ose do kompleksnog broja.
71 | S t r a n a
Trigonometrija
arccos("kompleksanBroj") - Inverzni kosinus.
72 | S t r a n a
cos("kompleksanBroj") - Kosinus.
cosec("kompleksanBroj") - Kosekans.
ctg("kompleksanBroj") - Kotangens.
sec("kompleksanBroj") - Sekans.
sin("kompleksanBroj") - Sinus.
tg("kompleksanBroj") - Tangens.
Hiperbolini
arch("kompleksanBroj") - Inverzni kosinus hiperbolini.
73 | S t r a n a
74 | S t r a n a
Programiranje
for("1:inkrement", "2:izraz", "3:izraz") - For petlja. Funkcija kontrolisanih
iteracija. U ciklusu se ponavlja "3:izraz" dok "1:inkrement" uzima vrednosti
iz "2:izraz". U "3:izraz" moe biti zadato bilo koji broj izraza.
Stringovi
importData("1:imeFajla", "2:separator", "3:separator", "4:separator",
"5:broj", "6:broj", "7:broj", "8:broj", "9:broj") - Vraa matricu iz datog fajla.
Funkcija dozvoljava 1-9 argumenata. Podrazumevani parametri se
specificraju nulom (0) kao argumentom (osim 'imefajla').
75 | S t r a n a
Fajlovi
dfile("imeFajla") - Brie fajl iz sistema, ako postoji. Vraa '1' po uspenom
brisanju, '0' u suprotnom.
76 | S t r a n a
77 | S t r a n a