Τμήμα Πολιτικών Μηχανικών Σχολή Τεχνολογικών Εφαρμογών Διεθνές Πανεπιστήμιο Ελλάδος ΤΕΛΙΚΗ ΕΞΕΤΑΣΗ ΕΡΓΑΣΤΗΡΙΟΥ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ ΑΚΑΔ. ΕΤΟΣ 08-09 ΔΙΔΑΣΚΩΝ : Χ. Βοζίκης ΟΝΟΜΑΤΕΠΩΝΥΜΟ Αριθμός Η/Υ ΑΡΙΘΜΟΣ ΜΗΤΡΩΟΥ ΠΡΟΣΟΧΗ: Για την επίλυση των θεμάτων πρέπει να χρησιμοποιήσετε τις παρακάτω μεθόδους (και μόνο αυτές) Για την εύρεση ριζών εξίσωσης, την μέθοδο Newto-Raphso Για τον υπολογισμό ολοκληρωμάτων, την μέθοδο Cotes με =4 και με επανάληψη Μ=6 Για την επίλυση διαφορικών εξισώσεων, την μέθοδο Ruge Kutta ης τάξης Θέμα ο (6, μονάδες) Η απαίτηση ισχύος ηλεκτρικής ενέργειας P, ενός κτηρίου, για την σωστή λειτουργία του κλιματισμού, κατά την διάρκεια μιας ημέρας (4 ωρών), δίνεται από την εξίσωση Pt () Qexp( at)si ( at) όπου ο χρόνος t μετριέται σε ώρες (h) και a, Q σταθερές ίσες με a h και Q kw. 4. Να βρεθεί η χρονική στιγμή (σε ώρες:λεπτά) που η απαίτηση ισχύος γίνεται μέγιστη καθώς και η τιμή της μέγιστης ισχύος (σε W) (, μονάδες). Να βρεθεί η ενεργειακή κατανάλωση (σε kwh) κατά την διάρκεια μιας ημέρας. ( μονάδες) Υπόδειξη: dp Qa exp( at ) si ( at ) si( at )cos( at ). Η απαίτηση ισχύος Pt ( ) Qexp( at)si ( at) γίνεται μέγιστη την χρονική στιγμή που η παράγωγός της dp Qa exp( at ) si ( at ) si( at )cos( at ) μηδενίζεται. Qa exp( at) si ( at) si( at)cos( at) 0 si ( at) si( at)cos( at) 0 si( at) 0 si( at) si( at) cos( at) 0 ή si( at) cos( at) 0 Η πρώτη λύση si( ) 0 4 t μας δίνει τα ελάχιστα t = 0 και t = 4
Άρα θα πρέπει να βρούμε την ρίζα της f ( t) si( at) cos( at) Το πρόγραμμα (συνάρτηση ewto) που βρίσκει την ρίζα με την μέθοδο Newto-Raphso είναι fuctio x=ewto(f,df,x,eps) % f the fuctio f(x) give as a strig % df the derivative f'(x) of the above fuctio % x is the iitial value of x % eps accuracy of the root f=vectorize(ilie(f)); df=vectorize(ilie(df)); i=0; x0=x; if df(x0)~=0 x=x0-f(x0)/df(x0); i=00; while abs(x-x0)>eps && i<00 x0=x; if df(x0)~=0 x=x0-f(x0)/df(x0); i=00; i=i+; if i==00 retur fpritf('the method 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))',,0.0) και το αποτέλεσμα που παίρνω είναι.40 Το αποτέλεσμα είναι σε ώρες, άρα μετατρέπουμε το δεκαδικό μέρος σε λεπτά >> 0.4*60.00 Για να βρούμε την μέγιστη τιμή βάζουμε στην Pt ( ) Qexp( at)si ( at) την τιμή t.4 >> a=pi/4;q=;t=.4;q*exp(a*t)*si(a*t)^ 6.84 Άρα το μέγιστο εμφανίζεται στις : και έχει τιμή 6.8 kw ή 68 W
. Η ολική ενεργειακή κατανάλωση κατά την διάρκεια 4 ωρών δίνεται από την 4 4 ( ) exp( )si ( ) E P t Q at at 0 0 Το πρόγραμμα (συνάρτηση cotes) που βρίσκει το ολοκλήρωμα με την μέθοδο Cotes είναι fuctio s = cotes(f,a,b,,m) % f the fuctio f(x) give as a strig % a the lower limit of the itegral % b the upper limit of the itegral % the umber of the Cotes method, should be i the rage to 6 % M the umber of segmets of [a,b] % i each of these segmets the method will be implimeted f=vectorize(ilie(f)); C=[/ / /8 /4 /88 /40]; c=[ 0 0 0 0 0; 4 0 0 0 0; 0 0 0; 7 7 0 0; 9 7 0 0 7 9 0; 4 6 7 7 7 6 4]; if (>=) && (<=6) && (M>=) h=(b-a)/(m*); x=a:h:b; y=f(x); s=0; for i=:m for j=:+ k=(i-)*+j; s=s+y(k)*c(,j); s=c()*h*s; fpritf('oly the methods with i the rage to 6 are implemeted!\'); fpritf(' s=nan; retur ad M should me >=\'); % NaN is a special value ad meas Not a Number Την καλώ με =4 και με επανάληψη Μ=6 (γιατί έτσι μας λένε τα θέματα!) >> cotes('exp(pi/4*t)*si(pi/4*t)^',0,4,4,6) 67.669 Άρα η ενεργειακή κατανάλωση κατά την διάρκεια μιας ημέρας είναι 67.668 kwh
Θέμα ο (, μονάδες) Ένα σώμα κινείται ευθύγραμμα πάνω στον άξονα των x. H ταχύτητά του είναι συνάρτηση της θέσης x και dx at του χρόνου t και δίνεται από την σχέση, ( x, t) bxe, όπου a, b σταθερές ίσες με a 0.7 s και b s. Αν την χρονική στιγμή t 0 s το σώμα βρίσκεται στην θέση x m, υπολογίστε με βήμα h 0.0s την θέση x του σώματος την χρονική στιγμή t 0 s. Το πρόγραμμα της επίλυσης της διαφορικής εξίσωσης είναι: dx bxe at με την μέθοδο Ruge Kutta ης τάξης h=0.0; % iitial positio t0, x0 t0=0; x0=; % fial value of t tt=0; t=t0:h:tt; %N=umber of steps N=legth(t); % Defie x as a array of same legth as t x=t; x()=x0; %defie the ODE f=vectorize(ilie('x*exp(-0.7*t)','t','x')) for i=:n- K=f(t(i),x(i)); K=f(t(i)+h,x(i)+K*h); x(i+)=x(i)+(k+k)/*h; disp(x(n)) Εκτελώντας το παίρνουμε 4.67 Άρα η θέση x του σώματος την χρονική στιγμή t 0 s είναι 4.67 m
ΤΥΠΟΛΟΓΙΟ Μέθοδος Newto-Raphso υπολογισμού ριζών της f ( x) 0 x x f ( x) f ( x ) Αριθμητική ολοκλήρωση (Τύποι Cotes) b a f ( x) dx C h c0 y0 c y c y... c y b a h M = πλήθος υποδιαστημάτων M C c 0 c c c c 4 c c 6 Σφάλμα αποκοπής h f ( ) τραπεζίου h (4) 4 f ( ) Simpso 90 h (4) f ( x ) 8 80 4 7 8 h (6) 7 7 f ( ) 4 94 7 7 h (6) 9 7 0 0 7 9 f ( ) 88 096 6 9 9 h (8) 4 6 7 7 7 6 4 f ( ) 40 400 Αριθμητική λύση διαφορικής εξίσωσης y f ( x, y) με αρχικές τιμές x 0, y 0 και βήμα h Ruge-Kutta ης τάξης y K K h) y0 h όπου K f ( x0, y0) και K f ( x0 h, y0 h K) ( x0