uvod u programiranje - za fiziČare

21
UNIVERZITET U SARAJEVU PRIRODNO – MATEMATSKI FAKULTET ODSJEK FIZIKA SEMINARSKI RAD IZ PREDMETA - UVOD U PROGRAMIRANJE - ZA FIZIČARE TEMA : „ IMPLEMENTACIJA RJEŠENJA PROBLEMA KOSOG HICA U PROGRAMSKOM JEZIKU MATLAB - u 1

Upload: jovan-lecic

Post on 17-Sep-2015

331 views

Category:

Documents


16 download

DESCRIPTION

„ IMPLEMENTACIJA RJEŠENJA PROBLEMA KOSOG HICA U PROGRAMSKOM JEZIKU MATLAB - u

TRANSCRIPT

ZNAK UNIVERZITETA

UNIVERZITET U SARAJEVUPRIRODNO MATEMATSKI FAKULTET ODSJEK FIZIKA

SEMINARSKI RAD

IZ PREDMETA- UVOD U PROGRAMIRANJE - ZA FIZIARETEMA : IMPLEMENTACIJA RJEENJA PROBLEMA KOSOG HICA U

PROGRAMSKOM JEZIKU MATLAB - u student prof.dr. FAHRETA SIJERI Sarajevo, 25.06.2008 SENAD BURAK

SADRAJ1 . UVOD .......................................................................................................................................... 3

2. UVOD U RAD .............................................................................................................................4 2.1 O MATLAB u ................................................................................................................ 4 2.2 Fizikalno predstavljanje kosog hica ................................................................................... 6 2.2.1. Formule kosog hica ....................................................................................................8 2.3 Cilj rada ................................................................................................................................ 83. IMPLEMENTACIJA FIZIKALNOG PROBLEMA U PROGRAMSKOM JEZIKU MATLAB u.............................................................................................................................. 9 3.1. Program rjeenja problema kosog hica ............................................................................... 9 3.1.1 Algoritam ..................................................................................................................... 9 3.1.2. Dijagram toka .............................................................................................................10 3.2 . Analiza izvrenja programa ................................................................................................113.2.1. Kosi hitac definisan po t u rasponu ( 0,t ( dometa)) za oba ugla istog dometa .......... 11.3.2.2. Grafik odnosa vremena i dometa za oba ugla istog dometa ...................................... 123.2.3 Grafik odnosa vremena i visine za oba ugla istog dometa ..........................................123.2.4 Horizontalni hitac definisan po t u rasponu ( 0,100) ...................................................133.2.5. Grafiki prikac odnosa vremena i visine kod horizontalnog hica................................133.2.6. Grafiki prikac odnosa vremena i dometa kod horizontalnog hica .............................144. ZAKLJUCI ..............................................................................................................................155. LITERATURA .......................................................................................................................161.UVODNapredak tehnologije uzrokovat e u skoroj budunosti velike promjene u strukturi osnovno i srednjo kolskih predmeta, u smislu potrebe za brim usvajanjem vee koliine znanja koje e voditi i ve vodi prema restrukturiranju dananjih osnovnih i sredjnih kola. Svako drutvo nuno mora odgovoriti na te zahtjeve eli li se dalje razvijati. Stoga se drutvo mora pobrinuti da napredak tehnologije prati i odgovarajui napredak tehnologije u nastavi, te nai nove mogunosti za brzi i kvalitetniji prijenos znanja s nastavnika na uenike. U tu svrhu e se koristitiHipertekstualni nastavni materijali, zato to su :

pregledniji jer se neki dokazi, primjeri, te zadaci za vjebu mogu dati kao linkovi i ne remete izlaganje osnovnog teksta,

obimniji jer je mogue dati vie primjera nego sto je uobiajeno u pisanim verzijama,

grafiki atraktivniji jer je mogue je dati vie grafikih primjera, te animacija.

Uenje iz hipertekstualnih nastavnih materijala je bre i lake jer:

hipertekstualni linkovi omoguuju brzo i lako snalaenje unutar teksta,

vizualizacija (grafiki primjeri i animacije) takoer ubrzava i olakava svladavanje gradiva,

interaktivni testovi omoguuju brzu i efikasnu provjeru steenog znanja.

U ovu svrhu je izuzetno pogodno iskoristiti programski jezik MATLAB, za rjeavanje mnogih fizikalnih probleba.U ovom seminarskom radu bie predstavljeno rjeenje problema kosog hica, koji se obrauje u okviru predmeta Fizika u srednjim kolama, pomou programskog jezika MATLAB - a .

Cilj rada je predstavljeno rjeenje problema kosog hica koritenjem osnovnih operacija definisanja varijabli ( skalara, vektora i matrica ), te aritimetikim, logikim i relacijskim operacijama nad tim varijablama, definisanje naredbi odluivanja i ponavljanja, kao i osnove grafikog prikazivanja rezultata.

2. UVOD U RAD

2.1. O MATLAB u MATLAB (Matrix Laboratory) je high-performance programski jezik namjenjen za tehnike proraune. Objedinjava raunanje, vizualizaciju i programiranje u lako upotrebljivoj okolini u kojoj su problem i rjeenje definirani poznatom matematikom notacijom. Uobiajena je upotreba MATLAB-a za

matematiku i proraune,

razvoj algoritama,

modeliranje, simulaciju, analizu,

analizu i obradu podataka, vizualizaciju,

znanstvenu i inenjersku grafiku,

razvoj aplikacija, ukljuujui i izgradnju GUI. MATLAB je i okruje i programski jezik. Jedna od jaih strana MATLAB-a je injenica da njegov programski jezik omoguava izgradnju vlastitih alata za viekratnu upotrebu. Moete lako sami kreirati vlastite funkcije i programe (poznate kao M-datoteke) u kodu MATLAB-a. Skup specijaliziranih M-datoteka za rad na odreenoj klasi problema naziva se Toolbox. S MATLAB-om dolazi nekoliko Toolbox-ova koji su i vie od kolekcije korisnih funkcija; oni predstavljaju rezultate istraivanja vrhunskih strunjaka iz podruja upravljanja, obrade signala, identifikacije procesa, i drugih. Dakle uz pomo MATLAB-a moete sami razviti nove ili adaptirati postojee Toolbox-ove za rjeavanje odreenih problema.Naredbe za MATLAB unosimo u komandni prozor, osnovni prozor MATLAB-a. Taj je prozor neka vrsta terminala operacijskog sistema i u njemu vrijede i osnovne terminalske operacijske komande za manipulaciju datotekama. Trenutni direktorij moemo promijeniti poznatom naredbom cd, a izvravati moemo funkcije/naredbe koje su u path-u. Pored toga uz MATLAB novije verzije dolazi i vlastiti editor M-datoteka s debugerom. Osnovni elementi programskog paketa MATLAB su Razvojna okolina Skup alata za laku upotrebu MATLAB-a i njegovih funkcija. Mnogi od ovih alata (u verziji 6) su realizirani u grafikom suelju. To su MATLAB desktop, komandni prozor (engl. Command Window) koji je prikazan na slici 1 , historija naredbi (engl. command history), editor i debuger, te preglednici help-a, radnog prostora (engl. Workplace), datoteka te path-a. Biblioteka matematikih funkcija Ogromna kolekcija raunskih algoritama.Programski jezik MATLAB programski jezik je jezik visokog stepena matrino orjentisan, s naredbama uslovnih struktura, funkcija, struktuiranim podacima, ulazomizlazom te nekim svojstvima objektno-orjentisanog programiranja. Ovaj programski jezik omoguava programiranje na nioj razini (kao npr. za potrebe studenata) ali i za kompleksnije programe veih razmjera.Grafiki alatMATLAB raspolae velikim mogunostima za grafiki prikaz podataka, vektora i matrica, kao i notaciju i printanje tih dijagrama. Postoje funkcije visokog stepena za 2D i 3D vizualizaciju podataka, obradu slike, animaciju. Takoer postoje i funkcije za izgradnju grafikih suelja za vae MATLAB aplikacije.

Suelje programskih aplikacijaBiblioteka (engl. Application Program Interface - API) koja vam omoguava razvoj C i Fortran programa koji mogu biti u interakciji s MATLAB-om.

Slika 1. Komandni prozor ( engl. Command Widow )Programi i funkcije u MATLABu

MATLABima i mogunost razvoja algoritama u vlastitom programskom jeziku.

M-datoteke - pohranjuju se s ekstenzijoma '.m'. Moemo razlikovati dvije vrste M-datoteka:

skripte funkcije Skripte - skup naredbi koje se prenose, i izvravaju u komandnom prozoru

Funkcije - crne kutije kojima dajemo odreeni ulaz i dobijamo traeni izlaz2.2. Fizikalno predstavljanje kosog hica

U mom radu bit e pokazane osnovne funkcije MATLAB-a, koritene za rjeenje problema kosog hicaKosi hitac je sloeno kretanje koje se moe podijeliti na dva nezavisna kretanja, po principu nezavisnosti kretanja , vertikalno i horizontalno, slika 2. Dok je komponenta horizontalnog kretanja ista cijelo vrijeme tokom kretanja, vertikalna komponenta se smanjauje za zbog gravitacione sile koja vue kuglu prema dolje (slobodni pad).

Slika 2. Kosi hitacTijelo je baeno u kosom smjeru brzinom v0, Poetnu brzinu rastavimo na horizontalnu komponentu v0x i vertikalnu komponentu v0y, slika 3

Slika 3. Rastavljanje brzina na komponente, kod kosog hicaVidimo na slici 3. da je ordinatna osa usmjerena prema gore to je obrnuto od smjera akceleracije sile Zemljine tee. Akceleracija sila Zemljine tee ne utie na horizontalnu komponentu. Horizontalna komponenta u bilo kojem trenutku t ostaje nepromjenjena i iznosi ( 1.1)Zato se u horizontalnom smjeru tijelo kree jednoliko po pravcu brzinom v0x ( 1.2 )U vertikalnom smjeru tijelo se klree stalnom akceleracijom. Na vertikalnu komponentu primjenit emo formulu za jednoliko ubrzano kretanje.

( 1.3 ) gdje je v0 je poetna brzina pri kretanju du pravca, a a je akceleracija. Za poetnu brzinu v0 uvrtavamo vertikalnu komponentu poetne brzine. Umjesto s uvest emo vertikalnu koordinatu y tijela u trenutku t , a za v uvrstit emo vy vertikalnu komponentu brzine u trenutku t, a = - g. Sada dobivamo sljedee formule:

vy = v0y gt ( 1.4. ) ( 1.5. ) Iz izraza ( 1.4. ) , ( 1.5. ) i slike 3, se moe izraunati izraz za putanju tokom kosog hitca. To je parabola ija je jednaina :

( 1.6. )Domet zavisi od ugla pod kojim je tijelo baeno, slika 4. Najvei mogui domet je za ugao od 45 stepeni. (Hitac broj 2 na slici 4.) Za uglove razliite od 45 stepeni domet se smanjuje. ( 1.7 ) U specijalnom sluaju, kada je ugao jednak nuli, a kuglica se izbacuje sa neke visine u odnosu na podlogu, kosi hitac prelazi u horizontalni hitac.

Slika 4.Zavisnost dometa kosog hica od ugla pod kojim je izbaeno tijelo2.2.1. Formule kosog hica brzina u smjeru ose x

brzina u smjeru ose y

prijeeni put u smjeru ose x

prijeeni put u smjeru ose y

vrijeme potrebno da tijelo postigne najviu taku putanje

najvea postignuta visina

domet

gravitaciono ubrzanje

3. IMPLEMENTACIJA RJEENJA KOSOG HICA U PROGRAMSKOM JEZIKU MATLAB u3.1. Program rjeenja problema kosog hicaU ovom dijelu, predstavljam program rjeenja problema kosog hica koritenjem osnovnih operacija definisanja varijabli ( skalara, vektora i matrica ), te aritimetikim, logikim i relacijskim operacijama nad tim varijablama, definisanje naredbi odluivanja i ponavljanja, kao i osnove grafikog prikazivanja rezultata, programskog jezika MATLAB a3.1.1 ALGORITAMclear

'Hitac-ph.problems 1'

'autor: FES, 2008 jun []'

g=9.81'UNOS ugla FI kosog hica i poetne brzine Vo'

fi=input('unesi ugao fi: ')

v0=input('unesi vo: ')

if fi==0; for j=0:100; i=j+1; t(i)=j; X(i)=v0*t(i); Y(i)=-g*t(i)^2/2; end

figure(1); plot (X,Y);

title('Horizontalni hitac definisan po t u rasponu [0,100]');

xlabel('Domet [m]'); ylabel('Visina [m]'); figure(2); plot (t,Y);

title('Horizontalni hitac odnos vremena i visine');

xlabel('Vrijeme [s]'); ylabel('Visina [m]');

figure(3); plot (t,X);

title('Horizontalni hitac odnos vremena i dometa');

xlabel('Vrijeme [s]'); ylabel('Domet [m]');

else fi=(fi/180)*pi;

fi2=pi/2-fi; tD=2*v0*sin(fi)/g; tD2=2*v0*sin(fi2)/g; XD=v0^2*sin(2*fi)/g; Ym=v0^2*(sin(fi))^2/(2*g); Ym2=v0^2*(sin(fi2))^2/(2*g); vX=v0*cos(fi); vX2=v0*cos(fi2); for j=0:100; i=j+1; t(i)=j*tD/100; t2(i)=j*tD2/100; X(i)=v0*t(i)*cos(fi); Y(i)=v0*t(i)*sin(fi)-g*(t(i))^2/2; XX(i)=v0*t2(i)*cos(fi2); YY(i)=v0*t2(i)*sin(fi2)-g*(t2(i))^2/2;end

figure(1); plot (X,Y,XX,YY);

title('KOSI hitac definisan po t u rasponu [0,t(dometa)] za oba ugla istog dometa');

xlabel('Domet x [m]'); ylabel('Visina y [m]'); figure(2); plot (t,X,t2,XX);

title('Grafik odnosa vremena i dometa za oba ugla istog dometa');

xlabel('Vrijeme t [s]'); ylabel('Domet x [m]'); figure(3); plot (t,Y,t2,YY);

title('Grafik odnosa vremena i visine hica za oba ugla istog dometa');

xlabel('Vrijeme t [s]'); ylabel('Visina hica h [m]'); end

'Ovo je K R A J '

3.1.2. DIJAGRAM TOKA : 3.2. Analiza izvrenja programa

Promjenom parametara v0 i dobijamo razliite grafikone.

U mom sluaju za kosi hitac ja sam obradila istovremeno uglove i 90 - , kao dva komplementa iji domet je isti ( sin 2 = sin ( 2 ( 90 - )). U specijalnom sluaju, kada je ugao jednak nuli, a kuglica se izbacuje sa neke visine u odnosu na podlogu, kosi hitac prelazi u horizontalni hitac.

Sljedee slike: slika 5. ; slika 6 ; slika 7. ; slika 8. ; slika 9; slika 10 ; prikazuju zavisnosti promjenljivih veliina u odnosu na nezavisne promjenljive, koje opisuju kosi hita.

3.2.1. Kosi hitac definisan po t u rasponu ( 0,t ( dometa)) za oba ugla istog dometa, slika 5

Slika 5. Kosi hitac definisan po t u rasponu ( 0,t ( dometa)) za oba ugla istog dometa

3.2.2. Grafik odnosa vremena i dometa za oba ugla istog dometa, slika 6

Slika 6. Grafik odnosa vremena i dometa za oba ugla istog dometa3.2.3 Grafik odnosa vremena i visine za oba ugla istog dometa, slika 7

Slika 7. Grafik odnosa vremena i visine hica za oba ugla istog dometa3.2.4 Horizontalni hitac definisan po t u rasponu ( 0,100)

Slika 8. Horizontalni hitac definisan po t u rasponu ( 0, 100 )3.2.5. Grafiki prikac odnosa vremena i visine kod horizontalnog hica, slika 9 Slika 9. Horizontalni hitac : odnos vremena i visine3.2.6. Grafiki prikac odnosa vremena i dometa kod horizontalnog hica, slika 10

Slika 10. Horizontalni hitac : odnos vremena i dometa4. ZAKLJUCI Implementacija moderne tehnologije u nastavi, dovodi do mogunosti za brzi i kvalitetniji prijenos znanja s nastavnika na uenike. Na primjeru kosog hica, pokazano je, da se MATLAB moe iskoristiti za njegovo rjeavanje na veoma efikasan i razumljiv nain. Ono to naroito daje znaaj jeste mogunost simulacije na gotovo programsko rjeenje. Posebna vrijednost MATLAB a jeste grafiko prikazivanje problema.5. LITERATURA prof. dr. Senad Burak ; Uvod u programiranje - Zapisi sa predavanja, Sarajevo 2008

Programski jezik MATLAB cd Vui Ivanovi ; Opta fizika , Nauna knjiga Beograd 1988 Milan Vrdoljak ; Uvod u MATLAB, Internet http://titan.fsb.hr/~mvrdolja/matlab/PAGE 2

_1275665619.unknown

_1275667113.unknown

_1275763196.unknown

_1275940041.unknown

_1275763612.unknown

_1275667211.unknown

_1275667411.unknown

_1275667499.unknown

_1275667298.unknown

_1275667204.unknown

_1275666944.unknown

_1275667019.unknown

_1275666871.unknown

_1275664942.unknown

_1275665230.unknown

_1275664913.unknown