Professional Documents
Culture Documents
1
Εισαγωγή στο MatLab 2/13
MatLab Octave
3
Εισαγωγή στο MatLab 4/13
Μέρος Β, Βασικές Ενέργειες
• Στο παράθυρο εντολών Command Window (>>)
πληκτρολογήστε τις εντολές:
1.
>>a = 5 (Σημ.: σε όλες τις εντολές δίνουμε στο τέλος <enter> για
να εκτελεστούν)
>>a = 5;
Τι αλλάζει βάζοντας (;) στο τέλος της εντολής; ΑΠ.: ___________
3.
Ζητήστε από τον Η/Υ να διαβάσει το Χ από το πληκτρολόγιο με
την εντολή input.
>>X = input('Poso einai to X? ');
5
Εισαγωγή στο MatLab 6/13
4.
Υπολογίστε το F από τον τύπο F = aX2 + bX + c, γράφοντας την εντολή
>> F = a*X^2 + b*X + c;
Τι λείπει για να γίνει ο υπολογισμός; Δώστε του τη τιμή 10.
Ξαναδώστε την εντολή για το F, χωρίς να την πληκτρολογήσετε,
χρησιμοποιώντας τα βέλη στο πληκτρολόγιο.
5.
Εντοπίστε τις εντολές του Μέρους Β στο παράθυρο Command
History.
6.
Ανοίξτε ένα νέο αρχείο (script) στον Editor και αντιγράψτε τις εντολές
εκεί.
6
8.
Στο Command Window δώστε την εντολή >>clear, και ελέγξτε
ότι το Workspace έχει καθαρίσει. Στη συνέχεια δώστε την νέα
«εντολή» (πρόγραμμα) >>mytest1 που φτιάξατε.
9.
Τι τιμές περιέχει το Workspace τώρα;
7
Εισαγωγή στο MatLab 8/13
Μέρος Γ, Αριθμοί και Πράξεις
• Στο παράθυρο εντολών Command Window (>>)
πληκτρολογήστε τις εντολές:
1. Καθαρίστε το Command Window με την εντολή:
>>clc
2.
Αρχίστε τη καταγραφή των εντολών & αποτελεσμάτων δίνοντας
την εντολή:
>>diary on
5.
Βρείτε το αρχείο diary στο φάκελο σας και ανοίξτε το στον Editor
να δείτε τι κατέγραψε. Δώστε πάλι την εντολή diary on για να
συνεχίσετε τη καταγραφή.
10
11
Εισαγωγή στο MatLab 12/13
7.
Αντιγράψτε και αποθηκεύστε όλες τις εντολές του ερωτήματος 6
σε ένα νέο αρχείο στον Editor με το όνομα mytest2.m.
12
13
Ενότητα 2: Matlab Άσκηση 2
1
Εντολές σε Δομή Ακολουθίας 2/12
Δομή του Προγράμματος:
1. Διάβασμα/Είσοδος Δεδομένων.
a. Ο Η/Υ θα πρέπει πρώτα να μάθει τη τιμή του m (μοίρες) είτε
σαν σταθερά ή ρωτώντας τον χρήστη, ώστε να μπορεί να
υπολογίσει τα υπόλοιπα μεγέθη.
b = m/360 * 400;
a = m/360 * 2*pi;
2
3. Εμφάνιση/Έξοδος Αποτελεσμάτων.
a. Εμφανίζουμε τα αποτελέσματα απλά:
disp('Apotelesmata: '); disp(t1); disp(t2); disp(t3);
7
Εντολές σε Δομή Ακολουθίας 8/12
Πρόβλημα 4: Μετατροπή Καρτεσιανών Συντεταγμένων σε Πολικές
Να γραφεί πρόγραμμα που να μετατρέπει τις Καρτεσιανές
συντεταγμένες Χ & Υ σε Πολικές συντεταγμένες R & F. Οι τύποι
μετατροπής των Καρτεσιανών συντεταγμένων σε πολικές είναι:
Υ
𝑅 = 𝑋 2 + 𝑌 2 , & 𝐹 = 𝜏𝜊𝜉𝜀𝜑
Χ
Δομή του Προγράμματος:
1. Διάβασμα/Είσοδος Δεδομένων (2 ερωτήσεις – input() ).
2. Υπολογισμός των μεγεθών (η συνάρτηση για το τόξο εφαπτομένης
είναι: atan() ). Σημ.: ο Η/Υ υπολογίζει ακτίνια και εμείς θέλουμε
την F σε μοίρες (προβλ.1).
3. Εμφάνιση/Έξοδος Αποτελεσμάτων (εμφάνιση με μορφοποίηση –
disp(sprintf()) ).
Μπορείτε να δοκιμάσετε τις εντολές στο Command Window και μετά
να τις συγκεντρώσετε σε ένα πρόγραμμα με το όνομα: polikes1.m
8
9
Εντολές σε Δομή Ακολουθίας 10/12
Μέρος Γ) Εκτέλεση προγραμμάτων & Συμπλήρωση Πινάκων με
Αποτελέσματα
Να εκτελεστούν τα τρία προγράμματα του Μέρους Β για τα
παρακάτω δεδομένα και να συμπληρωθούν οι πίνακες:
Μετατροπή Θερμοκρασίας
10
11
Εντολές σε Δομή Ακολουθίας 12/12
Χρησιμοποιήστε για τη καταγραφή των αποτελεσμάτων την
εντολή:
>>diary on
Σταματήστε τη καταγραφή όταν τελειώσετε δίνοντας την
εντολή:
>>diary off
Να ελέγξετε τις περιπτώσεις όπου τα αποτελέσματα δεν ήταν τα
αναμενόμενα. Σημειώστε τα με ένα αστερίσκο (*) και δώστε
παρακάτω μια ερμηνεία για τα λάθη/διαφορές που βλέπετε.
(*)
Τέλος, να μεταφέρετε όλα τα .m αρχεία και τα diary στο USB
Flash που έχετε μαζί σας.
12
>> grammiki1
Dwse to A: 3
Dwse to B: 6
Dwse to C: 0
H lysi tis grammikis AX+B=C einai X= -2
4
Έλεγχος Ροής με την Εντολή Επιλογής IF
5/8
Γράψτε τις εντολές MATLAB που θα χρησιμοποιήσετε για το
παραπάνω πρόγραμμα:
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
Να εκτελεστεί για τις παρακάτω γραμμικές εξισώσεις:
Γραμμική εξίσωση Αποτέλεσμα Χ= Μήνυμα:
3x+2=5
x+12=10
4x+5=5
3x-0=9
0x+1=0
0x+6=6 5
6
Έλεγχος Ροής με την Εντολή Επιλογής IF
7/8
Οι συνθήκες διερεύνησης και οι αντίστοιχες λύσεις του
τριωνύμου είναι:
1
Έλεγχος Ροής με την Εντολή Επανάληψης
FOR 2/9
3
Έλεγχος Ροής με την Εντολή Επανάληψης
FOR 4/9
3. Προπαίδεια
Να γραφεί ένα πρόγραμμα (με δυο nested for) που να
υπολογίζει τη προπαίδεια από το 1x1 έως το 10x10.
5
Έλεγχος Ροής με την Εντολή Επανάληψης
FOR 6/9
7
Έλεγχος Ροής με την Εντολή Επανάληψης
FOR 8/9
2: Ένας Κατάλογος Προϊόντων
• Η εταιρεία σας δεν μπορεί να κατασκευάσει κυλινδρικές
δεξαμενές σε οποιεσδήποτε διαστάσεις. Οι ακτίνες (R)
μπορούν να κυμαίνονται από 1 έως 4 μέτρα, με βήματα του
ενός μέτρου, και τα ύψη (h) από 1 έως 6 μέτρα, με βήματα
του ενός μέτρου.
9
Ενότητα 5: Matlab Άσκηση 5
1
Έλεγχος Ροής με τις Εντολές Switch - Case
και While 2/7
2: Εντολή WHILE
Να συμπληρώσετε το παραπάνω πρόγραμμα ώστε να
επαναλαμβάνεται συνεχώς, μέχρις ότου δοθεί για την ηλικία
ένας αρνητικός αριθμός.
Χρησιμοποιήστε τη δομή: while (…συνθήκη…) , … , end, μέσα
στην οποία θα βάλετε τη δομή επιλογής που ετοιμάσατε στο
βήμα Α1.
Σημ.: Η χρήση της while απαιτεί δυο ίδιες εντολές input, μία εκτός
(πριν τη while) και μία εντός της επανάληψης (πριν την end) (βλ.
θεωρία).
3
Έλεγχος Ροής με τις Εντολές Switch - Case
και While 4/7
Μέρος Β, Στατιστικά Ηλικιών
• Να συμπληρώσετε το παραπάνω πρόγραμμα ώστε όταν
τελειώνει να εμφανίζει τα στατιστικά των ηλικιών που έδωσε
ο χρήστης, δηλαδή, το πλήθος, τη μέγιστη και την ελάχιστη
ηλικία, τον μέσο όρο (μ) και τη διασπορά (σ²) των ηλικιών.
o Χρησιμοποιήστε ένα μετρητή για το πλήθος (π.χ. n = n + 1).
o Χρησιμοποιήστε δύο δομές if για τη μέγιστη (meg) και την
ελάχιστη (mik).
o Χρησιμοποιήστε ένα αθροιστή για το σύνολο (π.χ. s = s + x).
askisi5b
5
Έλεγχος Ροής με τις Εντολές Switch - Case
και While 6/7
Μέρος Γ, Χρήση Πινάκων και Συναρτήσεων MatLab
• Να τροποποιήσετε το παραπάνω πρόγραμμα ώστε να
αποθηκεύει τις ηλικίες που δίνονται από τον χρήστη σε ένα
διάνυσμα, και, τις αντίστοιχες κατηγορίες ηλικιών που
υπολογίζει σε ένα άλλο διάνυσμα.
• Το πρόγραμμα θα τυπώνει και τα δυο διανύσματα με
αύξουσα και με φθίνουσα σειρά ηλικιών.
− Χρησιμοποιήστε τη συνάρτηση του MatLab: [Y,I] = sort(X,mode)
(Συμβουλευτείτε το help sort για τη χρήση της εντολής).
7
Ενότητα 6: Matlab Άσκηση 6
1
Δεδομένα σε Πίνακες και σε Αρχεία 2/19
• Σκοπός μας είναι να δημιουργήσουμε ένα πρόγραμμα που να
παίρνει σαν δεδομένα τις μετρήσεις του μηχανικού και να
μας δίνει σαν αποτέλεσμα τα εμβαδά όλων των τριγωνικών
τμημάτων και το συνολικό εμβαδόν της έκτασης.
ΣΗΜ.1: Το εμβαδόν (E) ενός τριγώνου από τις πλευρές του (a, b, c),
δίνεται με τον τύπο:
𝑎+𝑏+𝑐
Ε= 𝑡 ∙ 𝑡 − 𝑎 ∙ 𝑡 − 𝑏 ∙ 𝑡 − 𝑐 , όπου 𝑡 =
2
5
Δεδομένα σε Πίνακες και σε Αρχεία 6/19
2.
Το πιο πάνω πρόγραμμα υπολογίζει μόνο τρία τριγωνικά
τμήματα και επίσης δεν υπολογίζει το συνολικό εμβαδόν.
Επιπλέον, τα αποτελέσματά του εμφανίζονται στην οθόνη χωρίς
καμία περιγραφή ή εξήγηση. Για να ολοκληρωθεί το πρόγραμμά
πρέπει να προσθέσουμε ή να τροποποιήσουμε μερικές εντολές.
• Για να κάνουμε το πρόγραμμα πιο ευέλικτο θα πρέπει η
επανάληψη (for) να εκτελείται τόσες φορές όσα είναι και τα
δεδομένα. Καθώς δεν ξέρουμε από την αρχή αν θα είναι 3, 6,
ή, 60 τα δεδομένα μας, θα βάλουμε μία μεταβλητή Ν στη
εντολή for (for i = 1:N) της οποίας τη τιμή θα τη βρίσκει το
πρόγραμμα από το μέγεθος του αρχείου data.txt μόλις το
διαβάσει ([N, M] = size(x)).
7
Δεδομένα σε Πίνακες και σε Αρχεία 8/19
Συμπληρώστε το αρχείο data.txt με τα υπόλοιπα σετ
δεδομένων:
data1.txt :
4 5 6
6 3 7
7 4 5
4 7 4
4 6 3
3 3 5
>> trigemb
1 4 5 6 9.92157
2 6 3 7 8.94427
3 7 4 5 9.79796
4 4 7 4 6.77772
5 4 6 3 5.33268
6 3 3 5 4.14578
44.92
9
Δεδομένα σε Πίνακες και σε Αρχεία 10/19
3.
Οι τελικές βελτιώσεις στο πρόγραμμα αφορούν την εμφάνιση
και την αποθήκευση των αποτελεσμάτων:
• Προσθέστε ετικέτες πάνω από τα αποτελέσματα που να
εξηγούν τη κάθε στήλη, π.χ.:
disp( ' a/a A B C EMBADON ' )
• Προσθέστε ετικέτα στο συνολικό εμβαδόν, π.χ.:
disp(sprintf(' SYNOLIKO EMBADON = %g', S))
10
>> trigemb
a/a A B C EMBADON
1 4 5 6 9.92157
2 6 3 7 8.94427
3 7 4 5 9.79796
4 4 7 4 6.77772
5 4 6 3 5.33268
6 3 3 5 4.14578
SYNOLIKO EMBADON = 44.92
11
Δεδομένα σε Πίνακες και σε Αρχεία 12/19
4.
Έχοντας πλέον ένα ολοκληρωμένο πρόγραμμα στα χέρια σας,
χρησιμοποιήστε το για να υπολογίσετε το συνολικό εμβαδόν
του παρακάτω σχήματος (ο συνεργάτης σας έκανε τις
απαραίτητες 5 μετρήσεις, να υπολογίστε τις υπόλοιπες
αποστάσεις από τα ορθογώνια τρίγωνα και μετά να τις βάλετε
στο νέο data.txt). Πόσο θα είναι περίπου το αποτέλεσμα που
περιμένετε: 56, 84, 76, ή, 98;
13
Δεδομένα σε Πίνακες και σε Αρχεία 14/19
14
15
Δεδομένα σε Πίνακες και σε Αρχεία 16/19
• Να δοκιμαστεί το πρόγραμμα για ένα τριγωνικό οικόπεδο με
το παρακάτω σετ συντεταγμένων τριών (3) κορυφών που θα
τοποθετήσετε στο αρχείο data2.txt:
16
17
Δεδομένα σε Πίνακες και σε Αρχεία 18/19
3.
Χρησιμοποιήστε ξανά το πρόγραμμά σας για να υπολογίσετε το
εμβαδόν για το πολυγωνικό οικόπεδο που δίνεται στο
παρακάτω σχήμα:
19
Ενότητα 7: Matlab Άσκηση 7
1
Αριθμητικές Προσεγγίσεις 2/9
Μέρος Α, Υπολογισμός του Αριθμού π
Ο αριθμός π υπολογίζεται προσεγγιστικά. Υπάρχουν διάφοροι
τρόποι υπολογισμού, και δύο από αυτούς περιγράφονται πιο
κάτω. Θα τους προγραμματίσετε και θα τους συγκρίνετε μεταξύ
τους και με το π που έχει αποθηκευμένο το MatLab στη
μεταβλητή pi (για να βλέπετε πιο πολλά ψηφία επιλέξτε στο
Command Window την εμφάνιση >>format long).
Βήμα 1. Δημιουργήστε ένα πρόγραμμα που ζητά το πλήθος των
όρων m και θα προσεγγίζει τον αριθμό π υπολογίζοντας το
παρακάτω άθροισμα (Gregory-Leibniz):
𝑚 −1 𝑘 4 4 4 4 4 4
𝜋≈4 𝑘=0 2𝑘+1 𝜋= − + − + − ….
1 3 5 7 9 11
5
Αριθμητικές Προσεγγίσεις 6/9
• Αν π.χ., τα x αρχίζουν από το a και τελειώνουν στο b και
χωρίσουμε το διάστημα a…b σε άλλα μικρότερα με βήματα
μήκους h, θα προκύψουν πολλά τραπέζια με ύψος h και
βάσεις τα f(a), f(a+h), …, f(b-h), f(b), όπως στο παρακάτω
σχήμα:
9
Ενότητα 8: Matlab Άσκηση 8
1
Ευστάθεια Σκάλας 2/9
Μέρος Α, Πρόγραμμα Επίλυσης
Να γραφεί πρόγραμμα στο MatLab που θα ζητά τα δεδομένα L,
A, μ και B και θα λύνει το πρόβλημα, από τις συνθήκες
ισορροπίας δυνάμεων ΣFx=0, ΣFy=0 και ροπών ΣΜ=0, με δύο
τρόπους:
Βήμα 1. Λύνοντας τους παρακάτω τύπους ως προς R1, R2 και LB,
και, τοποθετώντας τους τύπους υπολογισμού
(R1=…,R2=…,LB=…) στο πρόγραμμα skala.m
𝜇𝑅1 − 𝑅2 = 0
𝑅1 + 𝜇𝑅2 = 𝐵
𝐵 ∙ 𝐿𝐵 cos 𝐴 = 𝜇𝑅2 ∙ 𝐿𝑐𝑜𝑠 𝐴 + 𝑅2 ∙ 𝐿 sin 𝐴, ή 𝑅2 ∙
𝐿 𝜇 + tan 𝐴 −B 𝐿𝐵 = 0
2
3
Ευστάθεια Σκάλας 4/9
Βήμα 3. Να συγκρίνετε τα αποτελέσματα των τρόπων Α1 και Α2
για τις παρακάτω τιμές των δεδομένων:
Μ Α L Β 𝐋𝑩=
0.9 35° 2.0μ 90κ ~1.5914
7
Ευστάθεια Σκάλας 8/9
Το κυρίως πρόγραμμα θα σχεδιάζει τα αποτελέσματα σε ένα 3-D
διάγραμμα τη σχέση του μήκους 𝐿𝐵 με τη γωνία Α και τον
συντελεστή μ (εντολή surf(Lb)).
(Παρατηρήστε τις τιμές στους άξονες ΧΥ που έχουν τις τιμές των
i και j αντί των Α και μ).
Βήμα 3. Αντί του διπλού for να γίνει χρήση των πράξεων
πινάκων και της meshgrid() του MatLab.
Διορθώστε τη συνάρτηση LBskalas() ώστε όλες οι πράξεις να
γίνονται στοιχείο-στοιχείο (δηλ.: .*, ./ και .^) και έτσι να
λειτουργεί και για διανύσματα όχι μόνο για βαθμωτές.
9
Ενότητα 9: Matlab Άσκηση 9
1
Ανοιχτή Όδευση 2/5
Οι Αναδρομικοί Υπολογισμοί
Από την αρχική γωνία 𝐹0 (= 𝐺0 + 180° ) και τις γωνίες
𝐵𝑖 υπολογίζουμε αναδρομικά τη γωνία 𝐺𝑖 που σχηματίζει κάθε
τμήμα 𝑆𝑖 με τον άξονα Y:
𝐺𝑖 = 𝐵𝑖 + 𝐺𝑖 -1 + 180° ( - 360° )
και, από τα μήκη 𝑆𝑖 και τις γωνίες 𝐺𝑖 και 𝑊𝑖 υπολογίζουμε
αναδρομικά τις συντεταγμένες όλων των σημείων (𝑋𝑖 , 𝑌𝑖 , 𝑍𝑖 ):
• 𝑋𝑖 = 𝑋𝑖−1 + 𝑆𝑖 ∙ ημ 𝐺𝑖
• 𝑌𝑖 = 𝑌𝑖−1 + 𝑆𝑖 ∙ συν 𝐺𝑖
• 𝑍𝑖 = 𝑍𝑖−1 + 𝑆𝑖 ∙ εφ 𝑊𝑖
5
Τα Δεδομένα
Τα αρχικά δεδομένα (𝑋0 , 𝑌0 , 𝑍0 , 𝐹0 ) και τα δεδομένα όλων των
σημείων-στάσεων (𝑆𝑖 , 𝐵𝑖 , 𝑊𝑖 ) μας δίνονται, από τον μηχανικό
που κάνει τις μετρήσεις, σε δύο αρχεία (odeysidata0.txt και
odeysidata1.txt) με τη παρακάτω μορφή (π.χ.):
odeysidata0.txt odeysidata1.txt
X0 Y0 Z0 F0 S B W
10 10 10 255 0 0 0
100 180 0.9
100 198 0.9
100 207 0.9
55 120 0
80 290 0
60 230 0
118 100 -1
121 120 -1
132 200 -2
6
Η Διαδικασία
1. Δημιουργήστε τα δυο παραπάνω αρχεία δεδομένων.
2. Ξεκινήστε τη δημιουργία του προγράμματος, καλώντας την
εντολή importdata() δύο φορές για να διαβάσετε τα δύο αρχεία.
3. Αντιγράψτε τις στήλες των πινάκων στις αντίστοιχες μεταβλητές S,
B, W, υπολογίστε το G0 από το F0 και βάλτε όλες τις αρχικές τιμές
(G0, X0, Y0, Z0) στη πρώτη θέση των αντίστοιχων διανυσμάτων (G,
X, Y, Z).
4. Χρησιμοποιήστε μια επανάληψη for i=2…N για τους
αναδρομικούς τύπους, και να αποθηκεύετε τα αποτελέσματα στα
διανύσματα G, Χ, Υ και Ζ (Σημ.: για τις τριγωνομετρικές
συναρτήσεις οι μοίρες να γίνουν ακτίνια).
5. Εμφανίστε τα αποτελέσματα στο Command Window σε μορφή
πίνακα και σχεδιάστε την όδευση σε διάγραμμα 2-D (X-Y) και 3-D
(X-Y-Z) (εντολές plot() και plot3()).
7
Παράδειγμα Αποτελεσμάτων 1/2
X Y Z
10.0000 10.0000 10.0000
80.7107 80.7107 11.5709
169.8113 126.1097 13.1419
269.8113 126.1097 14.7128
297.3113 173.7411 14.7128
348.7343 112.4576 14.7128
338.3154 53.3691 14.7128
449.1992 13.0107 12.6531
541.8906 90.7880 10.5410
665.9300 135.9347 10.0802
9
Ανοιχτή Όδευση 5/5
Μέρος Β, Άλλα Δεδομένα
• Εκτελέστε ξανά το πρόγραμμά σας για το παρακάτω σύνολο
δεδομένων (το αρχικό σημείο του odeysidata0.txt είναι το
ίδιο), βρείτε τις συντεταγμένες όλων των σημείων και
σχεδιάστε τα όπως στο Μέρος Α:
οdeysidata2.txt
S B W
0 0 0
300 135 0
150 210 0
150 300 0
300 210 0
50 270 0
150 270 0
50 90 0
150 90 0
50 270 0 10
2
Καμπτικές Ροπές Αμφιέρειστης Δοκού
3/14
Παράδειγμα Αποτελεσμάτων από το Βήμα 1 της άσκησης:
>> dokos
To Athroisma Olwn twn Fortiwn (P+R) einai: 1100 kN
H antidrasi Fa sto A einai: 540 kN
H antidrasi Fb sto B einai: 560 kN
To athroisma twn Antidrasewn (Fa+Fb) einai: 1100 kN
>>
6
Καμπτικές Ροπές Αμφιέρειστης Δοκού
7/14
Παράδειγμα Αποτελεσμάτων από το Βήμα 3 της άσκησης:
Διαγράμματα καμπτικών ροπών, συνολικά και ανά φορτίο:
8
Καμπτικές Ροπές Αμφιέρειστης Δοκού
9/14
Μέρος Β, Καμπτικές Ροπές Δοκού από Σημειακά και Συνεχή
Φορτία
Η δοκός του Μέρους Α, φορτίζεται επιπλέον και με ένα
κατανεμημένο φορτίο Q=100kN/m μήκους QL=3m και αρχή
εφαρμογής σε απόσταση QA=5m από το Α. Το πρόβλημα
περιγράφεται και στο παρακάτω σχήμα:
11
12
Καμπτικές Ροπές Αμφιέρειστης Δοκού
13/14
Διαγράμματα καμπτικών ροπών, συνολικά και ανά φορτίο:
13
14
Ενότητα 11: Matlab XL Άσκηση 11
1
Υπολογισμός Ανοιχτής Όδευσης (στο
EXCEL) 2/4
Οι τύποι υπολογισμού είναι αναδρομικοί και υπολογίζουν κάθε
σημείο από το προηγούμενο:
Gi = Bi + Gi-1 + 180º (- 360º)
Yi = Yi-1 + Si · συν ( Gi )
Xi = Xi-1 + Si · ημ ( Gi )
Zi = Zi-1 + Si · εφ ( Wi )
με αρχικές τιμές: τις συντεταγμένες του αρχικού σημείου Α0 και
τη γωνία F0 με τον άξονα Υ, όπου: F0 = G0 + 180°
3
Υπολογισμός Ανοιχτής Όδευσης (στο
EXCEL) 4/4
=C10*$C$22
2
Πίνακες και Λύση Συστημάτων (στο
EXCEL) 3/7
Βήμα 3. Πολλαπλασιασμός Πινάκων
4
Πίνακες και Λύση Συστημάτων (στο
EXCEL) 5/7
Βήμα 5. Να λυθούν με τη βοήθεια Πινάκων τα παρακάτω
Συστήματα Εξισώσεων
i. 2𝑥 + 2𝑦 = 6 , 4𝑥 + 9𝑦 = 15
𝑦
ii. 3𝑥 + 2𝑦 − 𝑧 = 1 , 2𝑥 − 2𝑦 + 4𝑧 = −2 , −𝑥 + 2 − 𝑧 = 0
iii. 5𝑥1 + 8𝑥2 − 12𝑥3 + 3𝑥4 = 3,
6𝑥1 + 2𝑥2 − 3𝑥3 + 5𝑥4 = 7, 8𝑥1 + 4𝑥2 − 6𝑥3 + 7𝑥4 = −1,
3𝑥1 + 2𝑥2 − 10𝑥3 + 9𝑥4 = 13
𝐴 ∙ 𝑋 = 𝐵 → 𝑋 = 𝐴−1 ∙ 𝐵
Με τη χρήση των Function
MINVERSE και MMULT
6
Πίνακες και Λύση Συστημάτων (στο
EXCEL) 7/7
Για κάθε μεταβλητή, κάνουμε τη διαίρεση δυο οριζουσών. Ο
παρονομαστής είναι πάντα η ορίζουσα του πίνακα των
συντελεστών, ενώ ο αριθμητής είναι η ορίζουσα του πίνακα των
συντελεστών όπου οι συντελεστές της μεταβλητής έχουν
αντικατασταθεί από τους σταθερούς όρους.
Π.Χ.: (i)
Με τη χρήση της
Function MDETERM
𝐴𝑥 Να ελέγξετε ότι τα
𝑥= = 1,5
𝐴 αποτελέσματα των
Βημάτων 5 και 6
𝐴𝑦 συμφωνούν.
𝑦= =1
𝐴 7
A B C D E F G H I J K L
1 Μάθημα: ΠΛΗΡΟΦΟΡΙΚΗ & ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ (Α’ Εξ.) Χειμερινό Εξάμηνο 2014-15
2 Εργαστηριακή Άσκηση
3 13 - Καμπτικές Ροπές Αμφιέρειστης Δοκού (στο EXCEL)
4
5 ΔΟΚΟΣ L Μήκους (m)
6 (L) 10
7 Σημειακό Κατανεμημένο
8 Φορτίο Φορτίο
9 P Q
10 (P) 300 (kN) (Q) 200 (kN/m)
11 Θέση PL Αρχή QA
12 (PL) 2 (m) (QA) 4 (m)
13 Μήκος QL
14 (QL) 4 (m)
15 Συνολικό Κατανεμ. Φορτίο: 800 (kN)
16 Υπολογισμός Αντιδράσεων στις στηρίξεις
17 Ροπές ως προς Α MaP MaQ
18 (kNm) 600 4800
19 Ροπές ως προς Β MbP MbQ
20 (kNm) 2400 3200 Αντιδράσεις
21 Αντίδραση στο Β λόγω: FbP FbQ Fb
22 (kN) 60 480 540
23 Αντίδραση στο Α λόγω: FaP FaQ Fa
24 (kN) 240 320 560 (Fa)
25 Fa+Fb = 1100
26 Επαλήθευση: P+Q*QL= 1100
27 Καμπτικές Ροπές
28 Διαστήματα υπολογ. N 20 (N)
29 Βήμα dL (m) = 0,5 (dL)
30 Σύνολο
31 Θέση X BMxFa BMxP BMxQ BMx
32 0 0 0 0 0
33 0,5 -280 0 0 -280
34 1 -560 0 0 -560
35 1,5 -840 0 0 -840
36 2 -1120 0 0 -1120
37 2,5 -1400 150 0 -1250
38 3 -1680 300 0 -1380
39 3,5 -1960 450 0 -1510
40 4 -2240 600 0 -1640
41 4,5 -2520 750 25 -1745
42 5 -2800 900 100 -1800
43 5,5 -3080 1050 225 -1805
44 6 -3360 1200 400 -1760
45 6,5 -3640 1350 625 -1665
46 7 -3920 1500 900 -1520
47 7,5 -4200 1650 1225 -1325
48 8 -4480 1800 1600 -1080
49 8,5 -4760 1950 2000 -810
50 9 -5040 2100 2400 -540
51 9,5 -5320 2250 2800 -270
52 10 -5600 2400 3200 0
Τ.Ε.Ι ΑΘΗΝΑΣ, Σ.Τ.ΕΦ.,
ΤΜΗΜΑ ΠΟΛΙΤΙΚΩΝ ΜΗΧ. TE ΜΗΧ. ΤΟΠΟΓΡΑΦΙΑΣ ΓΕΩΠΛΗΡΟΦΟΡΙΚΗΣ TE
ΤΟΜΕΑΣ ΔΟΜΟΣΤΑΤΙΚΗΣ
M N O P Q R S T U
ξάμηνο 2014-15
1
2 Καμπτικές Ροπές
3 BMxFa BMxP BMxQ BMx
4 8000
5
6000
6
7 4000
8
9 2000
kN*m
10
11 0
12 0 1 2 3 4 5 6 7 8 9 10
-2000
13
14 -4000
15
16 -6000
17
18 -8000 Θέση Χ
19
20
21 Βοήθημα 1: Scroll Bars για τη ρύθμιση των Φορτίων (μέγεθος & θέση)
22
23 ΒΗΜΑΤΑ:
24 1. Άνοιγμα Εργαλειοθήκης Control Toolbox: View > Toolbars > Control Toolbox
25
26
27 Με το πρώτο πλήκτρο της εργαλειοθήκης επιλέγουμε για: Design Mode
28 (Οταν τελειώσουμε το επιλέγουμε πάλι για: Exit Design Mode)
29 2. Επιλογή εργαλείου Scroll Bar και τοποθέτηση στο φύλλο εργασίας
30 (ένα για κάθε ποσότητα που θέλουμε να μεταβάλλουμε)
31
32
33 3. Ορισμός Ορίων και Συνδεδεμένου Κελιού για κάθε Scroll Bar, από τον πίνακα ιδιοτήτων
34 (Δεξί Κλίκ > Properties)
35
36 Π.Χ.: Για τα Διαστήματα υπολογ. Ν ορίζουμε
37 LinkedCell C28
38 Max 20
39 Min 1
40
41 4. Το ίδιο επαναλαμβάνεται και για τα υπόλοιπα
42 Τα όρια τους θα είναι:
43 για το ScrollBar_P: 0 - 1000
44 για το ScrollBar_Q: 0 - 500
45 για το ScrollBar_PL: 0 - 10
46 για το ScrollBar_QA: 0 - 6
47 για το ScrollBar_QL: 1 - 4
48 Για τις δυμάμεις ορίζουμε επίσης βήμα αλλαγής
49 μεγαλύτερο από 1, π.χ., να είναι 10 ή 50
50 (LargeChange & SmallChange).
51
52 5. Εφαρμόστε την ίδια τεχνική για το πλήθος διαστημάτων Ν στα Ολοκληρώματα της Άσκησης 7.
Τ.Ε.Ι ΑΘΗΝΑΣ, Σ.Τ.ΕΦ.,
ΤΜΗΜΑ ΠΟΛΙΤΙΚΩΝ ΜΗΧ. TE ΜΗΧ. ΤΟΠΟΓΡΑΦΙΑΣ ΓΕΩΠΛΗΡΟΦΟΡΙΚΗΣ TE
ΤΟΜΕΑΣ ΔΟΜΟΣΤΑΤΙΚΗΣ
V W X Y Z AA AB AC AD
1
2 Βοήθημα 2: ΤΥΠΟΙ ΥΠΟΛΟΓΙΣΜΟΥ ΤΩΝ ΑΝΤΙΣΤΟΙΧΩΝ ΚΕΛΙΩΝ
3
4 πλαίσιο : Δεδομένα του προβλήματος. Όλες οι άλλες ποσότητες υπολογίζονται.
5 (όνομα) Ονομα Μεταβλητής του (διπλανού) κελιού για χρήση αντί του C6, G14, κλπ.
6 2003: Insert > Name > Define... 2007: Formulas > Name Managern > Define Name...
7 MaP P*PL
8 MbP P*(L-PL)
9 FbP C18/L
10 FaP C20/L
11 Fa SUM(C24;G24)
12 dL L/N
13 Θέση X IF(A32+dL>L ; L ; A32+dL)
14 BMxFa -Fa*A32
15 BMxP IF($A32<=PL ; 0 ; P*($A32-PL))
16 BMxQ IF($A32<=QA ; 0 ; IF($A32>(QA+QL) ; Q*QL*($A32-QA-QL/2) ; Q*($A32-QA)^2/2))
17
18 Προσοχή στους τύπους: να γράφονται στα Αγγλικά!
19
20
QA QL
21
PL
22 Q
23 P
24
25
26 L
A B
27 0 1 dL 2 3 ( ... N )
28
29 x
Fa Fb
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
Ενότητα 14: Matlab Άσκηση 14
1
Δημιουργία GUI στο MatLab 2/10
• Συγκεκριμένα, όταν πατηθεί το πλήκτρο ΛΥΣΗ από τον χρήστη
θα καλείται μια συνάρτηση (υποπρόγραμμα/διαδικασία) που
θα διερευνά και θα λύνει το τριώνυμο. Πρόκειται για το
πρόγραμμα που έχετε ήδη ολοκληρώσει στην άσκηση 3 και
το οποίο με μικρές αλλαγές θα μετατραπεί σε
υποπρόγραμμα-συνάρτηση ώστε να το καλούν άλλα
προγράμματα MatLab (π.χ. το GUI).
3
Δημιουργία GUI στο MatLab 4/10
5. Αποθηκεύετε το πρόγραμμα με όνομα ίδιο με αυτό της
συνάρτησης (δηλ.: lysitriwnymou.m).
• Τέλος, εκτελείτε τη συνάρτηση δοκιμαστικά για μερικές τιμές
των συντελεστών (A,B, C) για να βεβαιωθείτε ότι λειτουργεί
σωστά και ότι δίνει τις παρακάτω τιμές και μηνύματα:
ΤΡΙΩΝΥΜΟ Χ1 X2
𝑥 2 − 3𝑥 + 2 = 0 2.0 1.0
2𝑥 2 − 4𝑥 + 2 = 0 -1.0 -1.0
0𝑥 2 − 4𝑥 + 2 = 0 -0.5 ‘(Γραμμική Εξίσωση)’
0𝑥 2 − 0𝑥 + 2 = 0 ‘Λύση:’ ‘ΑΔΥΝΑΤΗ’
0𝑥 2 − 0𝑥 + 0 = 0 ‘Λύση:’ ‘ΑΟΡΙΣΤΗ’
𝑥2 − 𝑥 + 2 = 0 ‘Λύσεις:’ ‘ΜΙΓΑΔΙΚΕΣ’
5
Δημιουργία GUI στο MatLab 6/10
4. Αποθηκεύετε το σχέδιό σας με το όνομα lysitriwnymouGUI
οπότε και δημιουργούνται αυτόματα δύο (2) αρχεία τα:
lysitriwnymouGUI.fig και lysitriwnymouGUI.m. Το πρώτο
αρχείο περιέχει την εικόνα του GUI με τα αντικείμενα που
σχεδιάσατε, και, το δεύτερο αρχείο περιέχει τον κώδικα του
GUI. Ο κώδικας του GUI δημιουργείται αυτόματα, και δεν
πρέπει να τον αλλοιώσετε. Επιτρέπεται μόνο να
προσθέσετε στις σωστές θέσεις τις κατάλληλες εντολές.
7
Δημιουργία GUI στο MatLab 8/10
6. Εκτελέστε το GUI από το πλήκτρο
(RUN FIGURE) και δοκιμάστε τη λειτουργία του για τις
παραπάνω περιπτώσεις τριωνύμων (βλ. προηγούμενο βήμα).
9
Δημιουργία GUI στο MatLab 10/10
A = str2double(get(handles.edit1,'String'));
B = str2double(get(handles.edit2,'String'));
C = str2double(get(handles.edit3,'String'));
x = -5:0.1:5; y = A.*x.^2+B.*x+C;
plot(handles.axes1,x,y)
set(handles.axes1,'XGrid','on','YGrid','on')
3. Εκτελέστε ξανά το GUI από το πλήκτρο
(RUN FIGURE) και δοκιμάστε τη λειτουργία των γραφικών
παραστάσεων για διάφορες περιπτώσεις τριωνύμων.
4. Προσθέσετε στο GUI ότι άλλο χρειάζεται ώστε να δίνετε
εσείς τα όρια του x, αντί να είναι σταθερά [-5, 5].
10