Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

ΤΙΤΛΟΣ ΠΤΥΧΙΑΚΗΣ ΕΡΓΑΣΙΑΣ : Χρήση του προγράμματος EXCEL για την αριθμητική επίλυση προβλημάτων Επιβλέπων καθηγητής : Αρπατζάνης Νικόλαος Σπουδάστρια :

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "ΤΙΤΛΟΣ ΠΤΥΧΙΑΚΗΣ ΕΡΓΑΣΙΑΣ : Χρήση του προγράμματος EXCEL για την αριθμητική επίλυση προβλημάτων Επιβλέπων καθηγητής : Αρπατζάνης Νικόλαος Σπουδάστρια :"— Μεταγράφημα παρουσίασης:

1 ΤΙΤΛΟΣ ΠΤΥΧΙΑΚΗΣ ΕΡΓΑΣΙΑΣ : Χρήση του προγράμματος EXCEL για την αριθμητική επίλυση προβλημάτων Επιβλέπων καθηγητής : Αρπατζάνης Νικόλαος Σπουδάστρια : Παρασκευοπούλου Ιωάννα ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΣΕΡΡΩΝ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ

2 ΕΙΣΑΓΩΓΙΚΑ Περιγραφή του Solver (περιβάλλον, πλεονεκτήματα, μειονεκτήματα) Περιγραφή του Solver (περιβάλλον, πλεονεκτήματα, μειονεκτήματα) Εισαγωγή του Solver και του Solver.xla Εισαγωγή του Solver και του Solver.xla Επίλυση αριθμητικών μεθόδων παραγώγισης (προς τα μπρος διαφορές, προς τα πίσω διαφορές, τριών σημείων, πέντε σημείων) Επίλυση αριθμητικών μεθόδων παραγώγισης (προς τα μπρος διαφορές, προς τα πίσω διαφορές, τριών σημείων, πέντε σημείων) Επίλυση αριθμητικών μεθόδων ολοκλήρωσης (τραπεζίου, simpson) Επίλυση αριθμητικών μεθόδων ολοκλήρωσης (τραπεζίου, simpson) Επίλυση μη γραμμικών μεθόδων (διχοτόμησης, newton-raphson, τέμνουσας) Επίλυση μη γραμμικών μεθόδων (διχοτόμησης, newton-raphson, τέμνουσας) Εφαρμογή του Solver στο παράδειγμα ανάλυσης θορύβου (noise analysis) Εφαρμογή του Solver στο παράδειγμα ανάλυσης θορύβου (noise analysis)

3 ΣΚΟΠΟΣ Σκοπός της πτυχιακής εργασίας είναι: Η χρήση του πρόσθετου (Add-In) Solver του Excel, για την κατασκευή μοντέλου αριθμητικής επίλυσης προβλημάτων Η χρήση του πρόσθετου (Add-In) Solver του Excel, για την κατασκευή μοντέλου αριθμητικής επίλυσης προβλημάτων Ανάπτυξη προγραμμάτων προσαρμογής θεωρητικών μοντέλων σε πειραματικά αποτελέσματα και η παραμετροποίηση τους με τη μέθοδο ελαχιστοποίησης του αθροίσματος των τετραγώνων Ανάπτυξη προγραμμάτων προσαρμογής θεωρητικών μοντέλων σε πειραματικά αποτελέσματα και η παραμετροποίηση τους με τη μέθοδο ελαχιστοποίησης του αθροίσματος των τετραγώνων

4 ΕΡΓΑΛΕΙΑ ΥΛΟΠΟΙΗΣΗΣ Microsoft Excel 2003 Microsoft Excel 2003 Visual Basic (VBA) Visual Basic (VBA)

5 Αριθμητικές μέθοδοι Διακριτοποίηση Διακριτοποίηση Αριθμητική ανάλυση Αριθμητική ανάλυση Θεωρητικό μέρος : Θεωρητικό μέρος :  κατασκευή αριθμητικών μεθόδων  μελέτη ακρίβειας και ευστάθειας – ανάλυση σφαλμάτων Πρακτικό μέρος : Πρακτικό μέρος :  υλοποίηση αλγορίθμου με οικονομικό τρόπο σε ταχύτητα και μνήμη

6 SOLVER-ΕΠΙΛΥΣΗ Ο Solver (Επίλυση) είναι ένα χρήσιμο εργαλείο του Excel το οποίο μας βοηθάει στην κατασκευή μοντέλων αριθμητικής επίλυσης προβλημάτων για την εύρεση την καλύτερης λύσης. Με τον Solver επιλύουμε εξισώσεις, αλλά και προβλήματα βελτιστοποίησης. Ο Solver (Επίλυση) είναι ένα χρήσιμο εργαλείο του Excel το οποίο μας βοηθάει στην κατασκευή μοντέλων αριθμητικής επίλυσης προβλημάτων για την εύρεση την καλύτερης λύσης. Με τον Solver επιλύουμε εξισώσεις, αλλά και προβλήματα βελτιστοποίησης.

7 Πλεονεκτήματα και μειονεκτήματα του Solver Συνδυάζει λειτουργίες γραφικού περιβάλλοντος για το χρήστη (GUI) Συνδυάζει λειτουργίες γραφικού περιβάλλοντος για το χρήστη (GUI) Μετά από κάθε σημαντική επανάληψη επιδεικνύει την τρέχουσα «δοκιμαστική λύση» Μετά από κάθε σημαντική επανάληψη επιδεικνύει την τρέχουσα «δοκιμαστική λύση» Εισαγωγή περιορισμών Εισαγωγή περιορισμών Μειονέκτημα : Μετά από κάθε αλλαγή πρέπει να τον ξανατρέξεις για να βρεις τη νέα λύση Μετά από κάθε αλλαγή πρέπει να τον ξανατρέξεις για να βρεις τη νέα λύση

8 Εισαγωγή του SOLVER Από το μενού επιλογών του Excel: Από το μενού επιλογών του Excel: Εργαλεία(Tools)->Πρόσθετα (Add-In) Εργαλεία(Tools)->Πρόσθετα (Add-In) Επιλέγουμε τον Solver (Επίλυση) και OK Επιλέγουμε τον Solver (Επίλυση) και OK Εισάγουμε σε κάποια κελιά αρχικές τιμές και σε κάποια άλλα τους κατάλληλους τύπους Εισάγουμε σε κάποια κελιά αρχικές τιμές και σε κάποια άλλα τους κατάλληλους τύπους Πρόσθετα SOLVER

9 Εισαγωγή του SOLVER.xla Στο Excel Alt+F11 Στο Excel Alt+F11 Από το μενού Tools SOLVER.xla

10 Το παράθυρο διαλόγου «Παράμετροι επίλυσης» Τύπος Για πρόβλημα μεγιστοποίησης Για πρόβλημα ελαχιστοποίησης Για συγκεκριμένη τιμή Μεταβαλλόμενα κελιά Συνθήκες που θα ικανοποιούνται Παράγει το αποτέλεσμα

11 Περιορισμοί Πατώντας το κουμπί Προσθήκη

12 Διάρκεια επίλυσης Αριθμός επαναλήψεων Ακρίβεια λύσης Επιτρεπτό σφάλμα Για μη γραμμικά προβλήματα Επιταχύνει τη διαδικασία επίλυσης Κατώτερο όριο το 0 Για μεγάλες διαφορές μεγέθους Η επίλυση σταματά Το παράθυρο διαλόγου «Επιλογές επίλυσης» Μέθοδοι υπολογισμού βασικών μεταβλητών Μέθοδοι διαφορικού λογισμού Αλγόριθμος κάθε επανάληψης Πατώντας το κουμπί επιλογές

13 Όταν ο Solver σταματά Όταν ο Solver σταματά Αποτελέσματα επίλυσης Πατώντας Επίλυση

14 f(x 0 ) f(x 0+h ) x 0+h x0x0 Μέθοδοι αριθμητικής παραγώγισης (1/4) Προς τα μπρος διαφορές Προς τα μπρος διαφορές Range("K2").Formula = "=D$11" Range(Cells(3, 11), Cells(NumPoints + 2, 11)).Formula = "=K2+(E$11-D$11)/F$11" Range(Cells(2, 12), Cells(NumPoints + 2, 12)).Formula = "=" & Range("E5").Text Range(Cells(2, 13), Cells(NumPoints, 13)).Formula = "=(L3-L2)/($E$3)" Range(Cells(NumPoints + 1, 13), Cells(NumPoints + 2, 13)).Formula = "=(RC[-1]-R[-1]C[-1])/((RC[-2]-R[-1]C[-2]))" Range(Cells(3, 15), Cells(NumPoints + 2, 15)) = "=((RC[-1]-RC[1]))^2" Range(Cells(3, 16), Cells(NumPoints + 2, 16)) = "=$H$3*K3^$H$4+$H$5*K3^$H$6+$H$7*K3^$H$8+$H$9*K3^$H$10+$H$11*K3^$H$12+$H$13"

15 Μέθοδοι αριθμητικής παραγώγισης (2/4) Προς τα πίσω διαφορές Προς τα πίσω διαφορές X 0-h x0x0 f(x 0-h ) f(x 0 ) Range("K2").Formula = "=D$11" Range(Cells(3, 11), Cells(NumPoints + 2, 11)).Formula = "=K2+(E$11-D$11)/F$11" Range(Cells(2, 12), Cells(NumPoints + 2, 12)).Formula = "=" & Range("E5").Text Range(Cells(2, 13), Cells(3, 13)).Formula = "=(L3-L2)/($E$3)" Range(Cells(4, 13), Cells(NumPoints + 2, 13)).Formula = "=(L4-L3)/($E$3)" Range(Cells(3, 15), Cells(NumPoints + 2, 15)) = "=((RC[-1]-RC[1]))^2" Range(Cells(3, 16), Cells(NumPoints + 2, 16)) = "=$H$3*K3^$H$4+$H$5*K3^$H$6+$H$7*K3^$H$8+$H$9*K3^$H$10+$H$11*K3^$H$12+$H$13"

16 Μέθοδοι αριθμητικής παραγώγισης (3/4) Μέθοδος τριών σημείων Μέθοδος τριών σημείων Όπου ξ0=ξ(x0) x0x0 x 0+h f(x 0 ) f(x 0+h ) x 0+2h f(x 0+2h ) Range("K2").Formula = "=D$11" Range(Cells(3, 11), Cells(NumPoints + 2, 11)).Formula = "=K2+(E$11-D$11)/F$11" Range(Cells(2, 12), Cells(NumPoints + 2, 12)).Formula = "=" & Range("E5").Text Range(Cells(2, 13), Cells(3, 13)).Formula = "=(-3*L2+4*L3-L4)/(2*$E$3)" Range(Cells(4, 13), Cells(NumPoints, 13)).Formula = "=(L5-L3)/(2*$E$3)" Range(Cells(NumPoints + 1, 13), Cells(NumPoints + 2, 13)).Formula = "=(3*RC[-1]-4*R[-1]C[-1]+R[-2]C[-1])/(2*(RC[-2]-R[-1]C[-2]))" Range(Cells(3, 15), Cells(NumPoints + 2, 15)) = "=((RC[-1]-RC[1]))^2" Range(Cells(3, 16), Cells(NumPoints + 2, 16)) = "=$H$3*K3^$H$4+$H$5*K3^$H$6+$H$7*K3^$H$8+$H$9*K3^$H$10+$H$11*K3^$H$12+$H$13"

17 Μέθοδοι αριθμητικής παραγώγισης (4/4) Μέθοδος πέντε σημείων Μέθοδος πέντε σημείων x 0+h X 0-h x 0+2h X 0-2h x0x0 Range("K2").Formula = "=D$11" Range(Cells(3, 11), Cells(NumPoints + 2, 11)).Formula = "=K2+(E$11-D$11)/F$11" Range(Cells(2, 12), Cells(NumPoints + 2, 12)).Formula = "=" & Range("E5").Text Range(Cells(2, 13), Cells(3, 13)).Formula = "=(-25*L2+48*L3-36*L4+16*L5-3*L6)/(12*$E$3)" Range(Cells(4, 13), Cells(NumPoints, 13)).Formula = "=(L2-8*L3+8*L5-L6)/(12*$E$3)" Range(Cells(NumPoints + 1, 13), Cells(NumPoints + 2, 13)).Formula = "=(25*RC[-1]-48*R[-1]C[-1]+36*R[-2]C[-1]-16*R[-3]C[-1]+3*R[-4]C[-1])/(12*(RC[- 2]-R[-1]C[-2]))" Range(Cells(3, 15), Cells(NumPoints + 2, 15)) = "=((RC[-1]-RC[1]))^2" Range(Cells(3, 16), Cells(NumPoints + 2, 16)) = "=$H$3*K3^$H$4+$H$5*K3^$H$6+$H$7*K3^$H$8+$H$9*K3^$H$10+$H$11*K3^$H$12+$H$13"

18 Μέθοδοι αριθμητικής ολοκλήρωσης (1/2) Τραπεζίου Τραπεζίου x0x0 x1x1 f(x 0 ) f(x 1 ) Range("K2").Formula = "=D$11" Range(Cells(3, 11), Cells(NumPoints + 2, 11)).Formula = "=K2+(E$11-D$11)/F$11" Range(Cells(2, 12), Cells(NumPoints + 2, 12)).Formula = "=" & Range("E5").Text Range(Cells(3, 13), Cells(NumPoints + 2, 13)) = "=R[-1]C+(RC[-2]-R[-1]C[-2])*(R[-1]C[-1]+RC[-1])/2" Range(Cells(3, 15), Cells(NumPoints + 2, 15)) = "=((RC[-1]-RC[1]))^2" Range(Cells(3, 16), Cells(NumPoints + 2, 16)) = "=$H$3*K3^$H$4+$H$5*K3^$H$6+$H$7*K3^$H$8+$H$9*K3^$H$10+$H$11*K3^$H$12+$H$13"

19 Μέθοδοι αριθμητικής ολοκλήρωσης (2/2) Simpson Simpson x0x0 x1x1 x2x2 f(x 0 ) f(x 1 ) f(x 2 ) Range("K2").Formula = "=D$11" Range(Cells(3, 15), Cells(NumPoints + 2, 15)).Formula = "=(R[-1]C[-4]+RC[-4])/2" Range(Cells(3, 13), Cells(NumPoints + 1, 13)).Formula = "=M2+($E$3)*(L2+4*O3+L4)/3" Range(Cells(NumPoints + 2, 13), Cells(NumPoints + 2, 13)).Formula = "=R[-1]C+(RC[-2]-R[-1]C[-2])*(RC[-1]+R[-1]C[-1])/3" Range(Cells(3, 16), Cells(NumPoints + 2, 16)) = "=((RC[-2]-RC[1]))^2" Range(Cells(3, 17), Cells(NumPoints + 2, 17)) = "=$H$3*K3^$H$4+$H$5*K3^$H$6+$H$7*K3^$H$8+$H$9*K3^$H$10+$H$11*K3^$H$12+$H$13"

20 Μη γραμμικές μέθοδοι (1/3) Μέθοδος διχοτόμησης Μέθοδος διχοτόμησης a = Range("b4") b = Range("c4") Range("d4").Value = f00(a) Range("e4").Value = f00(b) c = 0.5 * (a + b) Cells(3 + k, 6).Value = c Cells(3 + k, 7).Value = f00(c) Cells(3 + k, 8).Value = f00(b) * f00(c) If f00(b) * f00(c) > 0 Then b = c Cells(4 + k, 3).Font.Bold = True Else a = c Cells(4 + k, 2).Font.Bold = True End If Cells(4 + k, 2) = a Cells(4 + k, 4) = f00(a) Cells(4 + k, 3) = b Cells(4 + k, 5) = f00(b) For i = 1 To 100 For j = 2 To 8 Cells(3 + i, j).Value = "" Cells(3 + i, j).Font.Bold = False Next j Next i Range("b4").Value = 0 Range("c4").Value = 1 epsilon = Range("L16") Nmax = Range("L17") a = Range("b4") b = Range("c4") Range("d4").Value = f00(a) Range("e4").Value = f00(b) If f00(a) * f00(b) > 0 Then MsgBox ("For a = " & Str(a) & " and b = " & Str(b) & ", f(a)*f(b)>0." _ & " Try new values of a and b.") Exit Sub End If c = 0.5 * (a + b) k = 0 Do While Abs(f00(c)) > epsilon And k < Nmax Call cmdStep_Click Loop

21 Μη γραμμικές μέθοδοι (2/3) Μέθοδος Newton-Raphson Μέθοδος Newton-Raphson x = Range("b5") MsgBox ("Use button [Next Step] to iterate solution") k = 0 Dim Dx As Single k = k + 1 Cells(4 + k, 3).Value = f00(x) Cells(4 + k, 4).Value = fP00(x) Dx = f00(x) / fP00(x) x = x - Dx Cells(4 + k, 5).Value = Dx Cells(5 + k, 2).Value = x

22 Μη γραμμικές μέθοδοι (3/3) Μέθοδος τέμνουσας Μέθοδος τέμνουσας x0 = Range("b4") x1 = Range("c4") Range("d4").Value = f00(x0) Range("e4").Value = f00(x1) If x0 = x1 Then Else Range("d4").Value = f00(x0) Range("e4").Value = f00(x1) x2 = x1 - f00(x1) * (x1 - x0) / (f00(x1) - f00(x0)) Range("h4").Value = f00(x2) End If k = 0 Dim Dx As Single k = k + 1 Cells(3 + k, 4).Value = f00(x0) Cells(3 + k, 5).Value = f00(x1) If Abs(f00(x1) - f00(x0)) < Then MsgBox ("Values of x are not changing any more.") Exit Sub End If Dx = f00(x1) * (x1 - x0) / (f00(x1) - f00(x0)) Cells(3 + k, 6).Value = Dx x2 = x1 - Dx Cells(3 + k, 7).Value = x2 Cells(3 + k, 8).Value = f00(x2) x0 = x1 x1 = x2 Cells(4 + k, 2).Value = x0 Cells(4 + k, 3).Value = x1 (x0,x1) F(x0)*f(x1)<0 Ευθεία (x0,f(x0)) kai (x1,f(x1)) ΤΟΜΗ (Χ0,Χ1) -> (Χ1,Χ1’)->(Χ1’,Χ1’’)…

23 Υλοποίηση σε Visual Basic Εργαλειοθήκη στοιχείων ελέγχου Εργαλειοθήκη στοιχείων ελέγχου Κουμπί εντολής Κατάσταση σχεδίασης Ιδιότητες Προβολή κώδικα Πλαίσιο κειμένου

24 FILL CLEAR SOLVER Dim i As Integer, j As Integer NumPoints = Range("F11") For i = 1 To 1000 For j = 11 To 16 Cells(2 + i, j).Value = "" Next j Next i Range("K2") = "" Range("L2") = "" Range("M2") = "=H38" Range("N2") = "" Range("O2") = "" Range("P2") = "" SolverReset SolverOk SetCell:="$H$15", MaxMinVal:=2, ValueOf:="0", ByChange:="$H$3:$H$13" solversolve userfinish:=False RESET Range("H3").Select ActiveCell.FormulaR1C1 = "1" Range("H3").Select Selection.AutoFill Destination:=Range("H3:H13"), Type:=xlFillDefault Range("H3:H13").Select Range("H14").Select If Range("E5").Value <> "" Then theText$ = Range("E5").Text theText$ = fixString(theText$) theText$ = ReplaceSubstring(theText$, "x", "RC[-1]") Range(Cells(2, 12), Cells(NumPoints + 2, 12)).Formula = "=" & theText$ Else Range(Cells(2, 12), Cells(NumPoints + 2, 12)).Formula = "" End If

25 Κουμπιά εντολής FILL CLEAR SOLVER Range("AA1").Value Range("K2").Formula Range("E5").Text Cells(2 + i, j).Value = "" SolverReset Όνομα-τύπος Τιμή Τύπος RESET Range("H3").Select

26 Ακολουθεί η παρουσίαση του προγράμματος


Κατέβασμα ppt "ΤΙΤΛΟΣ ΠΤΥΧΙΑΚΗΣ ΕΡΓΑΣΙΑΣ : Χρήση του προγράμματος EXCEL για την αριθμητική επίλυση προβλημάτων Επιβλέπων καθηγητής : Αρπατζάνης Νικόλαος Σπουδάστρια :"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google