Τμήμα Πολιτικών Μηχανικών Σχολή Τεχνολογικών Εφαρμογών Διεθνές Πανεπιστήμιο Ελλάδος ΤΕΛΙΚΗ ΕΞΕΤΑΣΗ ΕΡΓΑΣΤΗΡΙΟΥ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ ΑΚΑΔ. ΕΤΟΣ 8-9 ΔΙΔΑΣΚΩΝ : Χ. Βοζίκης ΟΝΟΜΑΤΕΠΩΝΥΜΟ Αριθμός Η/Υ ΑΡΙΘΜΟΣ ΜΗΤΡΩΟΥ ΠΡΟΣΟΧΗ: Για την επίλυση των θεμάτων πρέπει να χρησιμοποιήσετε τις παρακάτω μεθόδους (και μόνο αυτές) Για την εύρεση ριζών εξίσωσης, την μέθοδο Newto-Rapso Για τον υπολογισμό ολοκληρωμάτων, την μέθοδο Cotes με =4 και με επανάληψη Μ=6 Για την επίλυση διαφορικών εξισώσεων, την μέθοδο Ruge Kutta ης τάξης Θέμα ο (6, μονάδες) Ένα αυτοκίνητο κινείται για χρονικό διάστημα 4 ώρών. Η ταχύτητά του κατά την διάρκεια αυτών των 4 ωρών δίνεται από την εξίσωση ( t) Uexp( at)si ( at) όπου ο χρόνος t μετριέται σε ώρες () και a, U σταθερές ίσες με a και U km. 4. Να βρεθεί η χρονική στιγμή (σε ώρες:λεπτά) που η ταχύτητά του γίνεται μέγιστη καθώς και η τιμή της μέγιστης ταχύτητας (σε km με δεκαδικά) (, μονάδες). Να βρεθεί η απόσταση που διήνυσε (σε m) κατά την διάρκεια των 4 ωρών. ( μονάδες) Υπόδειξη: au exp( at) si ( at) si( at)cos( at). Η ταχύτητά του αυτοκίνητου ( t) Uexp( at)si ( at) γίνεται μέγιστη την χρονική στιγμή που η παράγωγός της au exp( at) si ( at) si( at)cos( at) μηδενίζεται. au exp( at) si ( at) si( at)cos( at) si ( at) si( at)cos( at) si( at) si( at) si( at) cos( at) ή si( at) cos( at) Η πρώτη λύση si( ) 4 t μας δίνει τα ελάχιστα t = και t = 4
Άρα θα πρέπει να βρούμε την ρίζα της f ( t) si( at) cos( at) Το πρόγραμμα (συνάρτηση ewto) που βρίσκει την ρίζα με την μέθοδο Newto-Rapso είναι fuctio x=ewto(f,df,x,eps) % f te fuctio f(x) give as a strig % df te derivative f'(x) of te above fuctio % x is te iitial value of x % eps accuracy of te root f=vectorize(ilie(f)); df=vectorize(ilie(df)); i=; x=x; if df(x)~= x=x-f(x)/df(x); i=; wile abs(x-x)>eps && i< x=x; if df(x)~= x=x-f(x)/df(x); i=; i=i+; if i== retur fpritf('te metod failed to fid ay root!'); x=nan; % NaN is a special value ad meas Not a Number Για να χρησιμοποιήσω το πρόγραμμα θα πρέπει εκτός από την f () t, να δώσω την παράγωγό της df acos( at) si( at), μια αρχική τιμή (από το σχήμα βλέπω πως το μέγιστο είναι κοντά στο.) και τέλος την ακρίβεια που θέλω για το αποτέλεσμα (μας ζητάει τον χρόνο με ακρίβεια λεπτών της ώρας, αρά δύο δεκαδικά είναι αρκετά). Καλώ λοιπόν την ewto() με τις εξής παραμέτρους: >>ewto('si(pi/4*t)+*cos(pi/4*t)','pi/4*(cos(pi/4*t)-*si(pi/4*t))',.,.) και το αποτέλεσμα που παίρνω είναι.9 Το αποτέλεσμα είναι σε ώρες, άρα μετατρέπουμε το δεκαδικό μέρος σε λεπτά >>.9*6.48 Για να βρούμε την μέγιστη τιμή βάζουμε στην ( t) Uexp( at)si ( at) την τιμή t.9 >> a=pi/4;u=;t=.9;u*exp(a*t)*si(a*t)^.68 Άρα το μέγιστο εμφανίζεται στις : και έχει τιμή.68 km/
. Η απόσταση που διήνυσε (σε m) κατά την διάρκεια των 4 ωρών δίνεται από την 4 4 ( ) exp( )si ( ) E t U at at Το πρόγραμμα (συνάρτηση cotes) που βρίσκει το ολοκλήρωμα με την μέθοδο Cotes είναι fuctio s = cotes(f,a,b,,m) % f te fuctio f(x) give as a strig % a te lower limit of te itegral % b te upper limit of te itegral % te umber of te Cotes metod, sould be i te rage to 6 % M te umber of segmets of [a,b] % i eac of tese segmets te metod will be implimeted f=vectorize(ilie(f)); C=[/ / /8 /4 /88 /4]; c=[ ; 4 ; ; 7 7 ; 9 7 7 9 ; 4 6 7 7 7 6 4]; if (>=) && (<=6) && (M>=) =(b-a)/(m*); x=a::b; y=f(x); s=; for i=:m for j=:+ k=(i-)*+j; s=s+y(k)*c(,j); s=c()**s; fpritf('oly te metods wit i te rage to 6 are implemeted!\'); fpritf(' s=nan; retur ad M sould me >=\'); % NaN is a special value ad meas Not a Number Την καλώ με =4 και με επανάληψη Μ=6 (γιατί έτσι μας λένε τα θέματα!) >> cotes('*exp(pi/4*t)*si(pi/4*t)^',,4,4,6). Η απόσταση που διήνυσε κατά την διάρκεια των 4 ωρών είναι. km ή m
Θέμα ο (, μονάδες) Ένα σώμα πέφτει από ύψος προς την επιφάνεια της γης. Στο σώμα επιδρά η δύναμη της βαρύτητας και η αντίσταση του αέρα. Η επιτάχυνση του σώματος, λόγω της αντίστασης του αέρα, εξαρτάται από την ταχύτητά του και δίνεται από την σχέση, ( ) g k όπου g, k σταθερές ίσες με 9.8 m g και k. s. s Αν την χρονική στιγμή t s το σώμα έχει αρχική ταχύτητα m, υπολογίστε με βήμα.s s ταχύτητα του σώματος την χρονική στιγμή t s. Το πρόγραμμα της επίλυσης της διαφορικής εξίσωσης είναι: g k με την μέθοδο Ruge Kutta ης τάξης =.; % iitial positio t, v t=; v=; % fial value of t tt=; t=t::tt; %N=umber of steps N=legt(t); % Defie v as a array of same legt as t v=t; v()=v; %defie te ODE f=vectorize(ilie('-9.8-.*v','t','v')) for i=:n- K=f(t(i),v(i)); K=f(t(i)+,v(i)+K*); v(i+)=v(i)+(k+k)/*; disp(v(n)) Εκτελώντας το παίρνουμε -9.48 Άρα η ταχύτητα του σώματος την χρονική στιγμή t s είναι -9.48 m/s (είναι αρνητική γιατί πέφτει!)
ΤΥΠΟΛΟΓΙΟ Μέθοδος Newto-Rapso υπολογισμού ριζών της f ( x) x x f ( x) f ( x ) Αριθμητική ολοκλήρωση (Τύποι Cotes) b a f ( x) dx C c y c y c y... c y b a M = πλήθος υποδιαστημάτων M C c c c c c 4 c c 6 Σφάλμα αποκοπής f ( ) τραπεζίου (4) 4 f ( ) Simpso 9 (4) f ( x ) 8 8 4 7 8 (6) 7 7 f ( ) 4 94 7 7 (6) 9 7 7 9 f ( ) 88 96 6 9 9 (8) 4 6 7 7 7 6 4 f ( ) 4 4 Αριθμητική λύση διαφορικής εξίσωσης y f ( x, y) με αρχικές τιμές x, y και βήμα Ruge-Kutta ης τάξης y x K K ) y όπου K f ( x, y) και K f ( x, y K) (