Βασικά στοιχεία εργασίας με το MATLAB. XLABEL και YLABEL. Συναρτήσεις που καθορίζουν επεξηγήσεις κατά μήκος του οριζόντιου και του κάθετου άξονα. τίτλος ("δυναμικό μοντέλο της κίνησης ενός σώματος που ρίχνεται υπό γωνία ως προς την οριζόντια")

Στείλτε την καλή δουλειά σας στη βάση γνώσεων είναι απλή. Χρησιμοποιήστε την παρακάτω φόρμα

Φοιτητές, μεταπτυχιακοί φοιτητές, νέοι επιστήμονες που χρησιμοποιούν τη βάση γνώσεων στις σπουδές και την εργασία τους θα σας είναι πολύ ευγνώμονες.

Δημοσιεύτηκε στις http://www.allbest.ru/

  • Εισαγωγή
  • 1. Θεωρητικό μέρος
  • 1.1 Το MATLAB και η σχέση του με άλλες γλώσσες προγραμματισμού
  • 1.2 MatLab και τα κύρια στοιχεία του
  • 1.3 Λίγα λόγια για την εργασία με το σύστημα MATLAB
  • 2. Πρακτικό μέρος
  • 2.1 Δήλωση προβλήματος
  • 2.2 Ιστορικό της εξέλιξης του προβλήματος
  • 2.3 Φόρμουλες που χρησιμοποιούνται
  • 2.4 Κωδικός προγράμματος της εργασίας
  • 2.5 Περιγραφή του προγράμματος
  • συμπέρασμα
  • Κατάλογος πηγών που χρησιμοποιήθηκαν
  • ΕΙΣΑΓΩΓΗ
  • Τα σύγχρονα μαθηματικά υπολογιστών προσφέρουν μια ολόκληρη σειρά ολοκληρωμένων συστημάτων λογισμικού και πακέτων λογισμικού για την αυτοματοποίηση των μαθηματικών υπολογισμών: Gauss, Derive, Mathcad, Mathematica, κ.λπ. Τίθεται το ερώτημα: ποια θέση καταλαμβάνει το σύστημα MATLAB ανάμεσά τους;
  • Το MATLAB είναι ένα από τα παλαιότερα, προσεκτικά αναπτυγμένα συστήματα για την αυτοματοποίηση μαθηματικών υπολογισμών, που βασίζεται σε μια προηγμένη αναπαράσταση και εφαρμογή πράξεων μήτρας.
  • Με τα χρόνια, το MATLAB έχει εξελιχθεί για να εξυπηρετεί διαφορετικούς χρήστες. Σε ένα πανεπιστημιακό περιβάλλον, ήταν ένα τυπικό εργαλείο για εργασία σε διάφορους τομείς των μαθηματικών, της μηχανικής και της επιστήμης.
  • Η γλώσσα προγραμματισμού του συστήματος MATLAB είναι πολύ απλή, περιέχει μόνο μερικές δεκάδες τελεστές. Ο μικρός αριθμός χειριστών εδώ αντισταθμίζεται από μεγάλο αριθμό διαδικασιών και συναρτήσεων, το περιεχόμενο των οποίων είναι κατανοητό σε έναν χρήστη με κατάλληλη μαθηματική και μηχανική κατάρτιση.
  • Το MATLAB περιλαμβάνει υπολογισμό, οπτικοποίηση και προγραμματισμό σε ένα εύχρηστο περιβάλλον όπου τα προβλήματα και οι λύσεις εκφράζονται σε σχεδόν μαθηματική μορφή. Τυπικές χρήσεις του MATLAB είναι: μαθηματικοί υπολογισμοί, δημιουργία αλγορίθμων, μοντελοποίηση, ανάλυση δεδομένων, έρευνα και οπτικοποίηση, επιστημονικά και μηχανικά γραφικά, ανάπτυξη εφαρμογών, συμπεριλαμβανομένης της δημιουργίας γραφικής διεπαφής.
  • Τα προγράμματα που είναι γραμμένα σε MATLAB διατίθενται σε δύο τύπους: συναρτήσεις και σενάρια. Οι συναρτήσεις έχουν ορίσματα εισόδου και εξόδου, καθώς και το δικό τους χώρο εργασίας για την αποθήκευση των ενδιάμεσων αποτελεσμάτων υπολογισμού και των μεταβλητών. Τα σενάρια χρησιμοποιούν έναν κοινό χώρο εργασίας. Τόσο τα σενάρια όσο και οι συναρτήσεις δεν μεταγλωττίζονται σε κώδικα μηχανής και αποθηκεύονται ως αρχεία κειμένου.
  • Σε αυτή την εργασία, ο στόχος είναι να εξεταστεί πώς κινείται ένα σώμα (ή ένα υλικό σημείο) που ρίχνεται υπό γωνία ως προς τον ορίζοντα. Και επίσης, με βάση τα θεωρούμενα δεδομένα από τη μηχανική, γράφοντας ένα πρόγραμμα που θα προσομοίωνε αυτή την κίνηση. Η εργασία περιλαμβάνει τη δημιουργία γραφημάτων κίνησης, γραφημάτων συντεταγμένων σε σχέση με το χρόνο, καθώς και τη δημιουργία ενός δυναμικού μοντέλου κίνησης ενός σώματος που ρίχνεται υπό γωνία ως προς τον ορίζοντα.

1. ΘΕΩΡΗΤΙΚΟ ΜΕΡΟΣ

1.1 ΤΟ MATLAB ΚΑΙ Η ΣΧΕΣΗ ΤΟΥ ΜΕ ΑΛΛΕΣ ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Το σύστημα MATLAB αναπτύχθηκε από ειδικούς της MathWork Inc. (Natick, Μασαχουσέτη, ΗΠΑ). Αν και αυτό το σύστημα χρησιμοποιήθηκε για πρώτη φορά στα τέλη της δεκαετίας του 1970, έγινε ευρέως διαδεδομένο στα τέλη της δεκαετίας του 1980, ειδικά μετά την κυκλοφορία της έκδοσης 4.0 στην αγορά. Οι πιο πρόσφατες εκδόσεις του MATLAB είναι συστήματα που περιέχουν πολλές διαδικασίες και λειτουργίες που είναι απαραίτητες για έναν μηχανικό και επιστήμονα να πραγματοποιήσει σύνθετους αριθμητικούς υπολογισμούς, να προσομοιώσει τεχνικά και φυσικά συστήματα και να παρουσιάσει τα αποτελέσματα αυτών των υπολογισμών. Το MATLAB (συντομογραφία του MATrix LABoratory - matrix laboratory) είναι ένα διαδραστικό σύστημα που έχει σχεδιαστεί για την εκτέλεση μηχανικών και επιστημονικών υπολογισμών και επικεντρώνεται στην εργασία με σύνολα δεδομένων. Το σύστημα παρέχει τη δυνατότητα πρόσβασης σε προγράμματα γραμμένα σε FORTRAN, C και C++.

Ένα ελκυστικό χαρακτηριστικό του MATLAB είναι ο ενσωματωμένος πίνακας και η πολύπλοκη αριθμητική του. Το σύστημα υποστηρίζει λειτουργίες με διανύσματα, πίνακες και πίνακες δεδομένων, υλοποιεί την ενιαία και φασματική αποσύνθεση, τον υπολογισμό των αριθμών κατάταξης και των συνθηκών πινάκων, υποστηρίζει εργασία με αλγεβρικά πολυώνυμα, επίλυση μη γραμμικών εξισώσεων και προβλημάτων βελτιστοποίησης, ενσωμάτωση συναρτήσεων σε τετράγωνα, αριθμητική και ολοκλήρωση διαφορετικών εξισώσεις διαφοράς, κατασκευή διαφόρων γραφημάτων, τρισδιάστατες επιφάνειες και γραμμές επιπέδων.

Το σύστημα MATLAB παρέχει λειτουργίες με διανύσματα και πίνακες ακόμη και σε άμεσο τρόπο υπολογισμού. Μπορεί να χρησιμοποιηθεί ως ισχυρός υπολογιστής, στον οποίο, μαζί με συνηθισμένες αριθμητικές και αλγεβρικές πράξεις, μπορούν να χρησιμοποιηθούν σύνθετες πράξεις όπως η αντιστροφή ενός πίνακα, ο υπολογισμός των ιδιοτιμών και των διανυσμάτων του, η επίλυση συστημάτων γραμμικών αλγεβρικών εξισώσεων και πολλές άλλες. Χαρακτηριστικό γνώρισμα του συστήματος είναι η ανοιχτότητά του, δηλαδή η δυνατότητα τροποποίησης και προσαρμογής του σε συγκεκριμένες εργασίες χρήστη.

Το σύστημα MATLAB χρησιμοποιεί τη δική του γλώσσα M, η οποία συνδυάζει τις θετικές ιδιότητες διαφόρων γνωστών γλωσσών προγραμματισμού υψηλού επιπέδου. Αυτό που έχει κοινό το σύστημα MATLAB με τη γλώσσα BASIC είναι ότι είναι διερμηνέας (πραγματοποιεί μεταγλώττιση και εκτέλεση δήλωσης και εκτέλεση του προγράμματος χωρίς να δημιουργεί ξεχωριστό εκτελέσιμο αρχείο), η γλώσσα M έχει μικρό αριθμό τελεστών, και δεν χρειάζεται να δηλώσετε τους τύπους και τα μεγέθη των μεταβλητών. Από τη γλώσσα Pascal, το σύστημα MATLAB δανείστηκε έναν αντικειμενικό προσανατολισμό, δηλαδή μια δομή γλώσσας που εξασφαλίζει το σχηματισμό νέων τύπων υπολογιστικών αντικειμένων με βάση τους τύπους αντικειμένων που υπάρχουν ήδη στη γλώσσα. Οι νέοι τύποι αντικειμένων (στο MATLAB ονομάζονται κλάσεις) μπορούν να έχουν τις δικές τους διαδικασίες για τη μετατροπή τους (καθορίζουν μεθόδους αυτής της κλάσης) και νέες διαδικασίες μπορούν να καλούνται χρησιμοποιώντας συνηθισμένα αριθμητικά σύμβολα και ορισμένα ειδικά σύμβολα που χρησιμοποιούνται στα μαθηματικά.

Οι αρχές αποθήκευσης τιμών μεταβλητών στο MATLAB είναι πιο κοντινές με αυτές που είναι εγγενείς στη γλώσσα FORTRAN, δηλαδή: όλες οι μεταβλητές είναι τοπικές - ενεργούν μόνο εντός των ορίων της μονάδας προγράμματος (διαδικασία, λειτουργία ή κύριο πρόγραμμα ελέγχου) όπου έχουν εκχωρηθεί κάποιες συγκεκριμένες αξίες. Κατά τη μετάβαση στην εκτέλεση μιας άλλης μονάδας προγράμματος, οι τιμές των μεταβλητών της προηγούμενης μονάδας προγράμματος είτε χάνονται (αν η εκτελούμενη μονάδα προγράμματος είναι διαδικασία ή συνάρτηση) είτε καθίστανται μη διαθέσιμες (εάν το εκτελούμενο πρόγραμμα είναι έλεγχος). . Σε αντίθεση με τις γλώσσες BASIC και Pascal, η γλώσσα MATLAB δεν έχει καθολικές μεταβλητές των οποίων τα αποτελέσματα θα ισχύουν για όλες τις μονάδες προγράμματος. Αλλά ταυτόχρονα, η γλώσσα MATLAB έχει ένα χαρακτηριστικό που λείπει σε άλλες γλώσσες. Ο διερμηνέας MATLAB σάς επιτρέπει να εκτελέσετε πολλά ανεξάρτητα προγράμματα στην ίδια περίοδο εργασίας και όλες οι μεταβλητές που χρησιμοποιούνται σε αυτά τα προγράμματα είναι κοινές σε αυτά και αποτελούν έναν ενιαίο χώρο εργασίας. Αυτό καθιστά δυνατή την ορθολογικότερη οργάνωση πολύπλοκων (δύσχρηστων) υπολογισμών χρησιμοποιώντας τον τύπο των δομών επικάλυψης.

Τα παραπάνω χαρακτηριστικά του συστήματος MATLAB το καθιστούν ένα πολύ ευέλικτο και εύχρηστο υπολογιστικό σύστημα.

1.2 ΤΟ MATLAB ΚΑΙ ΤΑ ΚΥΡΙΑ ΣΤΟΙΧΕΙΑ ΤΟΥ

Το MATLAB είναι μια γλώσσα υψηλής απόδοσης για τεχνικούς υπολογισμούς. Περιλαμβάνει υπολογισμούς, οπτικοποίηση και προγραμματισμό σε ένα φιλικό προς τον χρήστη περιβάλλον όπου τα προβλήματα και οι λύσεις εκφράζονται με μια μορφή κοντά στα μαθηματικά. Οι τυπικές χρήσεις του MATLAB είναι:

Μαθηματικοί υπολογισμοί;

Δημιουργία αλγορίθμων;

Πρίπλασμα;

Ανάλυση δεδομένων, έρευνα και οπτικοποίηση.

Επιστημονικά και μηχανικά γραφικά.

Ανάπτυξη εφαρμογών, συμπεριλαμβανομένης της δημιουργίας διεπαφής γραφικών.

Το MATLAB είναι ένα διαδραστικό σύστημα στο οποίο το κύριο στοιχείο δεδομένων είναι ένας πίνακας. Αυτό σας επιτρέπει να επιλύετε διάφορα τεχνικά υπολογιστικά προβλήματα, ειδικά αυτά που αφορούν πίνακες και διανύσματα, αρκετές φορές πιο γρήγορα από τη σύνταξη προγραμμάτων που χρησιμοποιούν γλώσσες προγραμματισμού "βαθμωτές" όπως η C ή η Fortran. matlab μαθηματικού προγραμματισμού

Στο MATLAB, εξειδικευμένες ομάδες προγραμμάτων που ονομάζονται εργαλειοθήκες παίζουν σημαντικό ρόλο. Είναι πολύ σημαντικά για τους περισσότερους χρήστες του MATLAB γιατί τους επιτρέπουν να μαθαίνουν και να εφαρμόζουν εξειδικευμένες τεχνικές. Οι εργαλειοθήκες είναι μια ολοκληρωμένη συλλογή συναρτήσεων MATLAB (M-αρχεία) που σας επιτρέπουν να λύσετε συγκεκριμένες κατηγορίες προβλημάτων. Οι εργαλειοθήκες χρησιμοποιούνται για επεξεργασία σήματος, συστήματα ελέγχου, νευρωνικά δίκτυα, ασαφή λογική, κυματίδια, μοντελοποίηση κ.λπ.

Το σύστημα MATLAB αποτελείται από πέντε κύρια μέρη.

1. Γλώσσα MATLAB. Είναι μια γλώσσα matrix και πίνακα υψηλού επιπέδου με διαχείριση νημάτων, συναρτήσεις, δομές δεδομένων, I/O και αντικειμενοστραφή χαρακτηριστικά προγραμματισμού.

2. Περιβάλλον MATLAB. Είναι ένα σύνολο εργαλείων και συσκευών με τα οποία δουλεύει ο χρήστης ή ο προγραμματιστής του MATLAB. Περιλαμβάνει εργαλεία για τη διαχείριση μεταβλητών στο χώρο εργασίας του MATLAB, την εισαγωγή και έξοδο δεδομένων και τη δημιουργία, παρακολούθηση και εντοπισμό σφαλμάτων M-αρχείων και εφαρμογών MATLAB.

3. Ελεγχόμενα γραφικά. Είναι ένα σύστημα γραφικών MATLAB που περιλαμβάνει εντολές υψηλού επιπέδου για δισδιάστατη και τρισδιάστατη απεικόνιση δεδομένων, επεξεργασία εικόνας, κινούμενα σχέδια και εικονογραφημένα γραφικά. Περιλαμβάνει επίσης εντολές χαμηλού επιπέδου που σας επιτρέπουν να επεξεργάζεστε πλήρως την εμφάνιση των γραφικών, σαν να δημιουργείτε μια γραφική διεπαφή χρήστη (GUI) για εφαρμογές MATLAB.

4. Βιβλιοθήκη μαθηματικών συναρτήσεων. Αυτή είναι μια εκτεταμένη συλλογή υπολογιστικών αλγορίθμων από στοιχειώδεις συναρτήσεις όπως άθροισμα, ημίτονο, συνημίτονο, σύνθετη αριθμητική, έως πιο σύνθετες όπως αντιστροφή πίνακα, εύρεση ιδιοτιμών, συναρτήσεις Bessel και γρήγορος μετασχηματισμός Fourier.

5. Διεπαφή λογισμικού. Αυτή είναι μια βιβλιοθήκη που σας επιτρέπει να γράφετε προγράμματα σε C και Fortran που αλληλεπιδρούν με το MATLAB. Περιλαμβάνει εγκαταστάσεις για κλήση προγραμμάτων από MATLAB (δυναμική σύνδεση), κλήση MATLAB ως υπολογιστικό εργαλείο και για ανάγνωση και εγγραφή αρχείων MAT.

Το Simulink, ένα συνοδευτικό πρόγραμμα του MATLAB, είναι ένα διαδραστικό σύστημα για τη μοντελοποίηση μη γραμμικών δυναμικών συστημάτων. Είναι ένα περιβάλλον ελεγχόμενο από το ποντίκι που σας επιτρέπει να προσομοιώσετε μια διαδικασία σύροντας και χειρίζοντας μπλοκ διαγραμμάτων στην οθόνη. Το Simulink λειτουργεί με γραμμικά, μη γραμμικά, συνεχή, διακριτά και πολυδιάστατα συστήματα.

Τα blockset είναι επεκτάσεις του Simulink που παρέχουν βιβλιοθήκες μπλοκ για εξειδικευμένες εφαρμογές όπως επικοινωνίες, επεξεργασία σήματος, συστήματα ισχύος.

Το Real-Time Workshop είναι ένα πρόγραμμα που σας επιτρέπει να δημιουργείτε κώδικα C από μπλοκ διαγραμμάτων και να τα εκτελείτε σε διάφορα συστήματα σε πραγματικό χρόνο.

1.3 ΛΙΓΑ ΓΙΑ ΤΗ ΔΟΥΛΕΙΑ ΜΕ ΤΟ ΣΥΣΤΗΜΑ MATLAB

Αφού κάνετε κλικ στο εικονίδιο του MATLAB, θα εμφανιστεί μπροστά σας μια οθόνη, στην κορυφή της οποίας υπάρχει μια γραμμή με αναπτυσσόμενα μενού, μια γραμμή εργαλείων με κουμπιά που υλοποιούν τις πιο συχνά εκτελούμενες ενέργειες (βλ. Εικ. 1.1). και στο ίδιο το παράθυρο - μια γραμμή ερωτήματος σε δύο χαρακτήρες>>. Αυτό είναι το παράθυρο εντολών του MATLAB

Ρύζιunok1. 1 - Ενόργανοςπακανένα παράθυρο εντολών

Το τυπικό αναπτυσσόμενο μενού Αρχείο περιέχει στοιχεία όπως Νέο για τη δημιουργία νέων αρχείων, Άνοιγμα M-file για άνοιγμα ενός υπάρχοντος αρχείου προγράμματος ή αρχείου λειτουργίας για επεξεργασία, έλεγχο κειμένου ή εντοπισμό σφαλμάτων. Όταν χρησιμοποιείτε αυτό το στοιχείο, σας προσφέρεται ένα τυπικό παράθυρο επιλογής αρχείου και αφού επιλέξετε το απαιτούμενο αρχείο, ανοίγει το παράθυρο επεξεργασίας αρχείων m-file/debugger.

Τα M-αρχεία είναι αρχεία κειμένου με την επέκταση .m, που περιέχουν κείμενα προγραμμάτων σεναρίων ή κείμενα συναρτήσεων από τυπικές ή ιδιόκτητες βιβλιοθήκες. Μπορείτε να τα διορθώσετε στο πρόγραμμα επεξεργασίας και να ορίσετε σημεία διακοπής για τον εντοπισμό σφαλμάτων, αλλά θα πρέπει να θυμάστε ότι για να τεθεί σε ισχύ μια νέα, διορθωμένη έκδοση μιας λειτουργίας ή προγράμματος, είναι απαραίτητο με τον τυπικό τρόπο (μέσω του μενού Αρχείο του προγράμματος επεξεργασίας ή χρησιμοποιώντας το αντίστοιχο κουμπί στη γραμμή εργαλείων του προγράμματος επεξεργασίας/το πρόγραμμα εντοπισμού σφαλμάτων) αποθηκεύστε το τροποποιημένο αρχείο.

Η γραμμή εργαλείων (βλ. Εικόνα 1.1) του παραθύρου εντολών σας επιτρέπει να εκτελέσετε τις απαιτούμενες ενέργειες κάνοντας απλά κλικ στο αντίστοιχο κουμπί. Τα περισσότερα από τα κουμπιά έχουν τυπική εμφάνιση και εκτελούν τυπικές ενέργειες παρόμοιες με άλλα προγράμματα - αντιγραφή (Αντιγραφή), άνοιγμα αρχείου (Άνοιγμα), εκτύπωση (Εκτύπωση) κ.λπ. Θα πρέπει να δώσετε προσοχή στο κουμπί Path Browser, το οποίο σας επιτρέπει να δημιουργήσετε διαδρομές σε διαφορετικούς καταλόγους και να κάνετε τον απαιτούμενο κατάλογο τον τρέχοντα, καθώς και το κουμπί Workspace Browser, το οποίο σας επιτρέπει να προβάλετε και να επεξεργαστείτε μεταβλητές στο χώρο εργασίας.

Η εντολή βοήθειας, που πληκτρολογείται ως απάντηση σε μια προτροπή, ακολουθούμενη από το πάτημα του πλήκτρου Enter ή ενός κουμπιού της γραμμής εργαλείων με ένα ερωτηματικό, παρέχει μια λίστα λειτουργιών για τις οποίες είναι διαθέσιμη ηλεκτρονική βοήθεια. εντολή βοήθειας<имя_функции>Σας επιτρέπει να λαμβάνετε βοήθεια στην οθόνη για μια συγκεκριμένη λειτουργία.

Για παράδειγμα, η εντολή help eig σάς επιτρέπει να λαμβάνετε ηλεκτρονική βοήθεια για τη συνάρτηση eig, μια συνάρτηση για τον υπολογισμό των ιδιοτιμών ενός πίνακα. Μπορείτε να εξοικειωθείτε με κάποιες από τις δυνατότητες του συστήματος MATLAB χρησιμοποιώντας την εντολή demo.

Σε αυτή τη σύντομη εισαγωγή, θα πρέπει να σημειωθεί ότι τα κύρια αντικείμενα - μεταβλητές με τις οποίες λειτουργεί το MATLAB - είναι ορθογώνιες μήτρες. Αυτό καθιστά δυνατή την πολύ σύντομη εγγραφή προγραμμάτων, καθιστώντας τα προγράμματα εύκολα ορατά. Υπάρχουν πολλές λειτουργίες που μπορούν να εκτελεστούν σε πίνακες. Φυσικά, η καταγραφή πράξεων όπως ο πολλαπλασιασμός και η πρόσθεση πινάκων θα πρέπει να απομνημονεύονται. Είναι άσκοπο να μελετάς και να απομνημονεύεις όλες τις δυνατότητες «για μελλοντική χρήση» πριν αυτές χρειαστούν.

Εάν πρέπει να διακόψετε την εργασία σας, αλλά να αποθηκεύσετε όλες τις μεταβλητές που δημιουργήθηκαν στον χώρο εργασίας, ο ευκολότερος τρόπος για να το κάνετε αυτό είναι να χρησιμοποιήσετε την εντολή αποθήκευση<имя_файла>. Όλες οι μεταβλητές σε δυαδική μορφή αποθηκεύονται σε ένα αρχείο<имя_файла>.χαλάκι. Στη συνέχεια, κατά την επανεκκίνηση του συστήματος, μπορείτε να φορτώσετε ολόκληρο τον χώρο εργασίας χρησιμοποιώντας την εντολή φόρτωσης<имя_файла>και συνεχίστε τους υπολογισμούς από το ίδιο μέρος. Για να καθαρίσετε την περιοχή εργασίας, χρησιμοποιήστε την εντολή διαγραφής χωρίς ορίσματα, οπότε ολόκληρη η περιοχή διαγράφεται από όλες τις μεταβλητές. Εάν η εντολή διαγραφής συνοδεύεται από μια λίστα μεταβλητών που χωρίζονται με κενά, τότε αφαιρούνται μόνο οι μεταβλητές που αναφέρονται.

2. ΠΡΑΚΤΙΚΟ ΜΕΡΟΣ

2.1 ΣΥΝΘΕΣΗ ΠΡΟΒΛΗΜΑΤΟΣ

Ο κύριος στόχος αυτής της εργασίας του μαθήματος είναι: η σύνταξη ενός προγράμματος σε MATLAB που θα προσομοίωνε την κίνηση ενός σώματος που ρίχνεται υπό γωνία ως προς την οριζόντια.

2.2 ΙΣΤΟΡΙΚΟ ΤΗΣ ΕΞΕΛΙΞΗΣ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ

Η μηχανική (από τα ελληνικά MzchbnykYu μεταφράζεται ως η τέχνη της κατασκευής μηχανών) είναι ένας τομέας της φυσικής που μελετά την κίνηση των υλικών αντικειμένων και την αλληλεπίδραση μεταξύ τους. Οι σημαντικότεροι κλάδοι της μηχανικής είναι η κλασική μηχανική και η κβαντομηχανική.

Η κίνηση ενός σώματος που ρίχνεται υπό γωνία προς τον ορίζοντα πρέπει να θεωρείται ως καμπυλόγραμμη κίνηση, η οποία με τη σειρά της είναι ένας από τους κλάδους της μηχανικής.

Η μελέτη των χαρακτηριστικών ενός τέτοιου κινήματος ξεκίνησε πριν από πολύ καιρό, τον 16ο αιώνα, και συνδέθηκε με την εμφάνιση και τη βελτίωση των πυροβόλων πυροβολικού.

Οι ιδέες για την τροχιά των βλημάτων πυροβολικού εκείνη την εποχή ήταν αρκετά αστείες. Θεωρήθηκε ότι αυτή η τροχιά αποτελείται από τρία τμήματα: βίαιη κίνηση, μικτή κίνηση και φυσική κίνηση, κατά την οποία η οβίδα πέφτει πάνω στους εχθρικούς στρατιώτες από ψηλά (βλ. Εικ. 2.1).

Ρύζι. 2.1 - Τροχιά βλημάτων πυροβολικού

Οι νόμοι της πτήσης των βλημάτων δεν τράβηξαν ιδιαίτερη προσοχή από τους επιστήμονες έως ότου εφευρέθηκαν όπλα μεγάλης εμβέλειας που έστελναν το βλήμα μέσα από λόφους ή δέντρα χωρίς ο σκοπευτής να δει την πτήση τους.

Αρχικά, η σκοποβολή εξαιρετικά μεγάλης εμβέλειας από τέτοια όπλα χρησιμοποιήθηκε κυρίως για την απογοήτευση και τον εκφοβισμό του εχθρού και η ακρίβεια βολής δεν έπαιξε αρχικά ιδιαίτερα σημαντικό ρόλο.

Ο Ιταλός μαθηματικός Tartaglia έφτασε κοντά στη σωστή λύση για το πέταγμα των κανονιοβολίδων· μπόρεσε να δείξει ότι το μεγαλύτερο εύρος βλημάτων μπορούσε να επιτευχθεί όταν η βολή κατευθυνόταν υπό γωνία 45° ως προς τον ορίζοντα. Το βιβλίο του «Νέα Επιστήμη» διατύπωσε τους κανόνες βολής που καθοδηγούσαν τους πυροβολικούς μέχρι τα μέσα του 17ου αιώνα.

Ωστόσο, μια πλήρης λύση στα προβλήματα που σχετίζονται με την κίνηση των σωμάτων που ρίχνονται οριζόντια ή υπό γωνία προς τον ορίζοντα πραγματοποιήθηκε από τον ίδιο Galileo. Στο σκεπτικό του, προχώρησε από δύο κύριες ιδέες: τα σώματα που κινούνται οριζόντια και δεν επηρεάζονται από άλλες δυνάμεις θα διατηρήσουν την ταχύτητά τους. η εμφάνιση εξωτερικών επιρροών θα αλλάξει την ταχύτητα ενός κινούμενου σώματος, ανεξάρτητα από το αν ήταν σε ηρεμία ή κινούμενο πριν από την έναρξη της δράσης τους. Ο Γαλιλαίος έδειξε ότι οι τροχιές των βλημάτων, αν παραμελήσουμε την αντίσταση του αέρα, είναι παραβολές. Ο Γαλιλαίος επεσήμανε ότι με την πραγματική κίνηση των βλημάτων, λόγω της αντίστασης του αέρα, η τροχιά τους δεν θα μοιάζει πλέον με παραβολή: ο κατερχόμενος κλάδος της τροχιάς θα είναι κάπως πιο απότομος από την υπολογισμένη καμπύλη.

Ο Newton και άλλοι επιστήμονες ανέπτυξαν και βελτίωσαν μια νέα θεωρία βολής, λαμβάνοντας υπόψη την αυξημένη επιρροή των δυνάμεων της αντίστασης του αέρα στην κίνηση των βλημάτων πυροβολικού. Εμφανίστηκε επίσης μια νέα επιστήμη - η βαλλιστική. Έχουν περάσει πολλά, πολλά χρόνια, και τώρα τα βλήματα κινούνται τόσο γρήγορα που ακόμη και μια απλή σύγκριση του τύπου των τροχιών της κίνησής τους επιβεβαιώνει την αυξημένη επίδραση της αντίστασης του αέρα.

Στη σύγχρονη βαλλιστική, η τεχνολογία ηλεκτρονικών υπολογιστών - υπολογιστές - χρησιμοποιείται για την επίλυση τέτοιων προβλημάτων, αλλά προς το παρόν θα περιοριστούμε σε μια απλή περίπτωση - τη μελέτη μιας κίνησης στην οποία η αντίσταση του αέρα μπορεί να παραμεληθεί. Αυτό θα μας επιτρέψει να επαναλάβουμε το σκεπτικό του Galileo σχεδόν χωρίς καμία αλλαγή.

2.3 ΧΡΗΣΙΜΟΠΟΙΗΜΕΝΕΣ ΣΥΝΘΕΣΕΙΣ

Ας μελετήσουμε την κίνηση ενός σώματος που εκτινάσσεται με αρχική ταχύτητα V 0 σε γωνία b ως προς τον ορίζοντα, θεωρώντας το ως υλικό σημείο μάζας m. Σε αυτή την περίπτωση, θα παραμελήσουμε την αντίσταση του αέρα και θα θεωρήσουμε το πεδίο βαρύτητας ομοιόμορφο (P = const), υποθέτοντας ότι το εύρος πτήσης και το ύψος της τροχιάς είναι μικρά σε σύγκριση με την ακτίνα της Γης.

Ας τοποθετήσουμε την αρχή των συντεταγμένων Ο στην αρχική θέση του σημείου. Ας κατευθύνουμε τον άξονα Oy κατακόρυφα προς τα πάνω. Θα τοποθετήσουμε τον οριζόντιο άξονα Ox στο επίπεδο που διέρχεται από το Oy και το διάνυσμα V 0 και θα σχεδιάσουμε τον άξονα Oz κάθετα στους δύο πρώτους άξονες (Εικ. 2.2). Τότε η γωνία μεταξύ του διανύσματος V 0 και του άξονα Ox θα είναι ίση με b.

Εικ. 2.2 - Κίνηση σώματος που ρίχνεται υπό γωνία ως προς την οριζόντια.

Ας απεικονίσουμε ένα κινούμενο σημείο Μ κάπου στην τροχιά. Το σημείο επηρεάζεται μόνο από τη δύναμη της βαρύτητας F, οι προβολές της οποίας στους άξονες συντεταγμένων είναι ίσες με:

Αντικαθιστώντας αυτές τις ποσότητες στις διαφορικές εξισώσεις και σημειώνοντας ότι

και τα λοιπά. μετά από μείωση κατά m παίρνουμε:

Πολλαπλασιάζοντας και τις δύο πλευρές αυτών των εξισώσεων με dt και ολοκληρώνοντας, βρίσκουμε:

Οι αρχικές συνθήκες στο πρόβλημά μας έχουν τη μορφή:

σε t=0:

Ικανοποιώντας τις αρχικές προϋποθέσεις, θα έχουμε:

Αντικατάσταση αυτών των τιμών ντο 1 , ντο 2 Και ντο 3 στο διάλυμα που βρέθηκε παραπάνω και αντικαθιστώντας Vx, Vy, Vzεπί

Ας φτάσουμε στις εξισώσεις:

Ενσωματώνοντας αυτές τις εξισώσεις, παίρνουμε:

Αντικατάσταση των αρχικών δεδομένων δίνει ντο 4 =ντο 5 =ντο 6 =0, και τελικά βρίσκουμε τις εξισώσεις κίνησης του σημείου Μ με τη μορφή:

Από την τελευταία εξίσωση προκύπτει ότι η κίνηση συμβαίνει στο επίπεδο Oxy.

Έχοντας την εξίσωση κίνησης ενός σημείου, είναι δυνατό να προσδιοριστούν όλα τα χαρακτηριστικά μιας δεδομένης κίνησης χρησιμοποιώντας κινηματικές μεθόδους.

Ας βρούμε τον χρόνο πτήσης του σώματος από το σημείο εκκίνησης μέχρι το σημείο πρόσκρουσης.

Ωρα πτήσης:

2.4 ΚΩΔΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ ΤΗΣ ΕΡΓΑΣΙΑΣ

clc; %εκκαθάριση παραθύρου εντολών

v0=36; % ταχύτητα εκκίνησης

g=9,81; %ένταση βαρύτητος

k=1;

άλφα=pi/3; % γωνία στην οποία εκτινάσσεται το σώμα

m=(2*v0*sin(alfa))/g %χρόνος πτήσης

ενώ ο κ<5

k=menu("επιλογή κατηγορίας", ...

sprintf ("εξάρτηση της συντεταγμένης x από το t"), ...

sprintf ("εξάρτηση της συντεταγμένης y από το t"), ...

sprintf ("γραφική παράσταση της κίνησης ενός σώματος που ρίχνεται υπό γωνία ως προς την οριζόντια"), ...

sprintf ("δυναμικό μοντέλο της κίνησης ενός σώματος που ρίχνεται υπό γωνία προς την οριζόντια"), ...

"έξοδος");

αν k == 1

t=0:0.001:m;

x=v0*t*cos(alfa);

plot(x);

title("εξάρτηση της συντεταγμένης x από το t");

xlabel("x"); ylabel("y");

elseif k == 2

t=0:0.001:m;

y=v0*t*sin(alfa)-(g*t.^2)/2;

plot(y);

title("εξάρτηση της συντεταγμένης y από το t");

xlabel("x"); ylabel("y");

elseif k == 3

t=0:0.001:m;

x=v0*t*cos(alfa);

y=v0*t*sin(alfa)-(g*t.^2)/2;

plot(x,y);

title("γραφική παράσταση της κίνησης ενός σώματος που ρίχνεται υπό γωνία ως προς την οριζόντια");

xlabel("x"); ylabel("y");

elseif k == 4

t=0:0.001:m;

x=v0*t*cos(alfa);

y=v0*t*sin(alfa)-(g*t.^2)/2;

κομήτης (x,y);

title("δυναμικό μοντέλο της κίνησης ενός σώματος που ρίχνεται υπό γωνία ως προς τον ορίζοντα");

xlabel("x"); ylabel("y");

τέλος;

τέλος;

2.5 ΠΕΡΙΓΡΑΦΗ ΠΡΟΓΡΑΜΜΑΤΟΣ

Αυτό το πρόγραμμα περιέχει συναρτήσεις και διαδικασίες όπως clc, plot, menu, comet κ.λπ., καθώς και μεταβλητές και τις τιμές τους.

Ας περιγράψουμε τις διαδικασίες και τις λειτουργίες που χρησιμοποιούνται σε αυτό το πρόγραμμα:

CLC. Μια εντολή που έχει σχεδιαστεί για να καθαρίζει το παράθυρο εντολών.

ΜΕΝΟΥ. Ένα βολικό εργαλείο για την επιλογή μιας από τις εναλλακτικές για μελλοντικές υπολογιστικές ενέργειες είναι η λειτουργία μενού, η οποία δημιουργεί ένα προσαρμοσμένο παράθυρο μενού. Η πρόσβαση στη λειτουργία μενού πρέπει να γίνεται ως εξής:

K=MENU("MENU TITLE","alternative 1","alternative 2","alternative n")

Αυτή η κλήση οδηγεί στην εμφάνιση ενός παραθύρου μενού (βλ. Εικ. 2.3).

Εικόνα 2.3 - Παράθυρο μενού

Η εκτέλεση του προγράμματος αναστέλλεται προσωρινά και το σύστημα περιμένει για την επιλογή ενός από τα κουμπιά μενού με εναλλακτικές. Μετά τη σωστή επιλογή, στην αρχική παράμετρο k εκχωρείται μια τιμή που αντιστοιχεί στον αριθμό της εναλλακτικής (1,2...n). Σε γενικές γραμμές, ο αριθμός των εναλλακτικών μπορεί να φτάσει τις 32.

ΕΝΩ. Ένας τελεστής βρόχου με μια προϋπόθεση μοιάζει με αυτό:

Ενώ <условие>

<операторы>

τέλος

Οι εντολές εντός του βρόχου εκτελούνται μόνο εάν πληρούται η συνθήκη που γράφτηκε μετά τη λέξη while. Επιπλέον, μεταξύ των τελεστών εντός του βρόχου πρέπει να υπάρχουν αυτοί που αλλάζουν την τιμή μιας από τις μεταβλητές.

SPRINTF. Μια λειτουργία που εμφανίζει πληροφορίες σχετικά με την τρέχουσα τιμή της αντίστοιχης παραμέτρου σε κάθε κουμπί μενού.

ΑΝ. Γενικά, η σύνταξη του τελεστή άλματος υπό όρους είναι η εξής:

Αν < κατάσταση>

< χειριστές 1>

Αλλού

< χειριστές 2>

μιnd

Αυτός ο χειριστής λειτουργεί ως εξής. Αρχικά, γίνεται έλεγχος για να διαπιστωθεί εάν πληρούται η καθορισμένη προϋπόθεση. Εάν το αποτέλεσμα της δοκιμής είναι θετικό, το πρόγραμμα εκτελεί ένα σύνολο εντολών <операторы1> . Διαφορετικά, εκτελείται η σειρά των δηλώσεων <операторы2>.

ΟΙΚΟΠΕΔΟ. Η κύρια λειτουργία που διασφαλίζει την κατασκευή γραφημάτων στην οθόνη είναι η γραφική παράσταση (βλ. Εικόνα 2.4). Η γενική μορφή αντιμετώπισής του είναι η εξής:

Οικόπεδο(x1,y1,s1,x2,y2,s2…)

Εδώ δίνονται διανύσματα x1,y1, τα στοιχεία των οποίων είναι πίνακες ορίσματος (x1) και τιμές συνάρτησης (y1) που αντιστοιχούν στην πρώτη καμπύλη του γραφήματος. x2,y2 - πίνακες τιμών του ορίσματος και της συνάρτησης της δεύτερης καμπύλης κ.λπ. Υποτίθεται ότι η τιμή του ορίσματος απεικονίζεται κατά μήκος του οριζόντιου άξονα του γραφήματος και η τιμή της συνάρτησης απεικονίζεται κατά μήκος του κατακόρυφου άξονα. Οι μεταβλητές s1,s2,... είναι συμβολικές (η ένδειξη τους είναι προαιρετική).

Εικόνα 2.4 - Δράση της συνάρτησης γραφικής παράστασης.

ΤΙΤΛΟΣ. Η διαδικασία με την οποία ορίζεται ο τίτλος του γραφήματος.

XLABELΚαι YLABEL. Συναρτήσεις που καθορίζουν επεξηγήσεις κατά μήκος του οριζόντιου και του κάθετου άξονα.

ΚΟΜΗΤΗΣ. Η διαδικασία comet(x,y) ("comet") δημιουργεί μια γραφική παράσταση της εξάρτησης y(x) σταδιακά με τη μορφή τροχιάς κομήτη. Σε αυτήν την περίπτωση, το «αναπαραστατικό» σημείο στο γράφημα μοιάζει με έναν μικρό κομήτη, ο οποίος κινείται ομαλά από το ένα σημείο στο άλλο.

Τελικά, το πρόγραμμα δείχνει πώς κινείται ένα σώμα όταν εκτινάσσεται υπό γωνία ως προς τον ορίζοντα. Επίσης στο πρόγραμμα μπορείτε να δείτε την εξάρτηση των συντεταγμένων του σώματος από το χρόνο (βλ. Εικ. 2.5 και Εικ. 2.6), το γράφημα της τροχιάς του σώματος (βλ. Εικ. 2.7) και το ίδιο το μοντέλο κίνησης του σώματος (βλ. Εικ. 2.8 ).

Εικόνα 2.5 - Γράφημα x έναντι t.

Εικόνα 2.6 - Γράφημα y έναντι t.

Εικόνα 2.7 - Γράφημα της κίνησης ενός σώματος που εκτοξεύεται υπό γωνία ως προς την οριζόντια.

Εικόνα 2.8 - Δυναμικό μοντέλο της κίνησης ενός σώματος που ρίχνεται υπό γωνία ως προς την οριζόντια.

ΣΥΜΠΕΡΑΣΜΑ

Το έργο του μαθήματος ολοκληρώθηκε στο περιβάλλον MatLab 6.5. Η ανάπτυξη του έργου πραγματοποιήθηκε σε διάφορα στάδια, τα οποία συνίστατο στη μελέτη της θεματικής περιοχής του προβλήματος. μελέτη των βασικών νόμων της μηχανικής. ανάπτυξη του ίδιου του προγράμματος, το οποίο σας επιτρέπει να προσομοιώσετε την κίνηση ενός σώματος που ρίχνεται υπό γωνία προς τον ορίζοντα.

Το αποτέλεσμα της δουλειάς που έγινε ήταν ένα πρόγραμμα που υλοποιεί ένα μοντέλο κίνησης ενός σώματος που ρίχνεται υπό γωνία ως προς τον ορίζοντα.

Η πρακτική αξία του προγράμματος έγκειται στο γεγονός ότι δείχνει ξεκάθαρα πώς κινείται ένα σώμα που ρίχνεται υπό γωνία προς τον ορίζοντα.

Επίσης, η εργασία του μαθήματος συνέβαλε στην ανάπτυξη δεξιοτήτων στον ανεξάρτητο σχεδιασμό και υλοποίηση ερευνητικών εργασιών, στην απόκτηση εμπειρίας στη συλλογή και επεξεργασία υλικού πηγής, στην ανάλυση επιστημονικής και τεχνικής βιβλιογραφίας, βιβλίων αναφοράς, προτύπων και τεχνικής τεκμηρίωσης, στην απόκτηση δεξιοτήτων αιτιολόγησης σχεδιαστικών αποφάσεων και επαγγελματική προετοιμασία της τεκμηρίωσης του έργου.

ΚΑΤΑΛΟΓΟΣ ΧΡΗΣΙΜΟΠΟΙΗΜΕΝΩΝ ΠΗΓΩΝ

1. Lazarev, Yu. Διαδικασίες και συστήματα μοντελοποίησης στο MatLab. Εκπαιδευτικό πρόγραμμα. / Yu. Lazarev. - Αγία Πετρούπολη: Peter; Kyiv: BHV Publishing Group, 2005. - 512 p.

2. Aleshkevich, V.A. Μηχανική / V.A. Aleshkevich, L.G. Dedenko, V.A. Καραβάεφ. - Ακαδημία 2004.

3. Kotkin, G.L. Cherkassky V.S., Υπολογιστική μοντελοποίηση φυσικών διεργασιών με χρήση MATLAB: Εγχειρίδιο. επίδομα / Γ.Λ. Kotkin, V.S. Τσερκάσκι. - Novosib. παν. Novosibirsk, 2001. - 173 p.

Δημοσιεύτηκε στο Allbest.ru

...

Παρόμοια έγγραφα

    Γενικά χαρακτηριστικά και ιδιότητες του συστήματος Matlab - ένα πακέτο προγραμμάτων εφαρμογής για την επίλυση τεχνικών υπολογιστικών προβλημάτων. Ανάπτυξη μαθηματικού μοντέλου σε αυτό το περιβάλλον, προγραμματισμός συναρτήσεων για την επιρροή αναφοράς. Σχεδιασμός διεπαφής GUI.

    εργασία μαθήματος, προστέθηκε 23/05/2013

    Δυνατότητες εργασίας σε λειτουργία γραμμής εντολών στο σύστημα Matlab. Μεταβλητές και εκχώρηση τιμών σε αυτές. Μιγαδικοί αριθμοί και υπολογισμοί στο Matlab. Υπολογισμοί με χρήση της συνάρτησης sqrt. Λανθασμένη χρήση συναρτήσεων με σύνθετα ορίσματα.

    διατριβή, προστέθηκε 30/07/2015

    Εκμάθηση προγραμματισμού στο MATLAB. Χρησιμοποιώντας τις εντολές Αποθήκευση και Φόρτωση, εντολές εισόδου και εξόδου για εργασία στο παράθυρο εντολών. Εντοπισμός σφαλμάτων των δικών σας προγραμμάτων. Διεπαφή MATLAB. Διαφορές μεταξύ της νεότερης έκδοσης του MATLAB και των προηγούμενων. Εργαλείο διασύνδεσης ελέγχου πηγής.

    δοκιμή, προστέθηκε στις 25/12/2011

    Matlab - εργαστήριο matrix - σύστημα προγραμματισμού για επιστημονικούς και τεχνικούς υπολογισμούς. Χαρακτηριστικά της διανυσματικής εισαγωγής. Ειδικοί πίνακες, απλές εντολές. Απλά παραδείγματα που δείχνουν την αποτελεσματικότητα του Matlab. Γραφική μέθοδος επίλυσης εξισώσεων.

    περίληψη, προστέθηκε 01/05/2010

    Μαθηματική βάση παράλληλων υπολογιστών. Ιδιότητες της εργαλειοθήκης παράλληλων υπολογιστών. Ανάπτυξη παράλληλων εφαρμογών στο Matlab. Παραδείγματα προγραμματισμού παράλληλων εργασιών. Υπολογισμός ορισμένου ολοκληρώματος. Σειριακός και παράλληλος πολλαπλασιασμός.

    εργασία μαθήματος, προστέθηκε 15/12/2010

    Το MATLAB – Matrix Laboratory – είναι το πιο προηγμένο σύστημα προγραμματισμού για επιστημονικούς και τεχνικούς υπολογισμούς. Μεταβλητές και στοιχεία xy-graphics. Απλά παραδείγματα που δείχνουν την αποτελεσματικότητα του MATLAB. Συστήματα γραμμικών αλγεβρικών εξισώσεων και πολυωνύμων.

    εκπαιδευτικό εγχειρίδιο, προστέθηκε 26/01/2009

    Δημιουργία και αναπαράσταση συμβολικών μεταβλητών στο Matlab, πράξεις σε πολυώνυμα και απλοποίηση παραστάσεων. Παράδειγμα αντικατάστασης μιας τιμής σε συνάρτηση, επίλυσης εξισώσεων και συστημάτων, διαφοροποίησης, ολοκλήρωσης και υπολογισμού των ορίων συναρτήσεων.

    παρουσίαση, προστέθηκε 24/01/2014

    Χαρακτηριστικά και σύνταξη εντολών MATLAB, λίστα προγραμμάτων και περιγραφή κύκλου. Η διαδικασία για τη σύνταξη προγράμματος για τον υπολογισμό των συντελεστών ενός αλγεβρικού πολυωνύμου παρεμβολής και την κατασκευή μιας συνάρτησης spline «κολλημένης μεταξύ τους» από κομμάτια πολυωνύμων τρίτης τάξης.

    εργαστηριακές εργασίες, προστέθηκε 07/04/2009

    Ανάλυση των δυνατοτήτων του πακέτου MATLAB και των επεκτάσεών του. Γλώσσα προγραμματισμού συστήματος. Έρευνα της συσκευής ανόρθωσης. Μοντελοποίηση τριφασικού μετασχηματιστή. Σχηματικό διάγραμμα ρυθμιζόμενου μετατροπέα. Δυνατότητες ευέλικτου ψηφιακού μοντέλου.

    παρουσίαση, προστέθηκε 22/10/2013

    Μέθοδοι αριθμητικής ολοκλήρωσης. Χαρακτηριστικά των κύριων στοιχείων του δομημένου προγραμματισμού. Λύση της εργασίας στη γλώσσα υψηλού επιπέδου Pascal. Κατασκευάζοντας μια γραφική λύση στο πρόβλημα στο Matlab. Λύση της εργασίας σε γλώσσα υψηλού επιπέδου Γ.

Η εργασία από τη γραμμή εντολών του MatLab είναι δύσκολη εάν χρειάζεται να εισάγετε πολλές εντολές και να τις αλλάζετε συχνά. Η τήρηση ημερολογίου χρησιμοποιώντας την εντολή ημερολόγιο και η αποθήκευση του περιβάλλοντος εργασίας κάνει τα πράγματα λίγο πιο εύκολα. Ο πιο βολικός τρόπος για να εκτελέσετε εντολές MatLab είναι να χρησιμοποιήσετε M-αρχεία,στο οποίο μπορείτε να πληκτρολογήσετε εντολές, να τις εκτελέσετε όλες ταυτόχρονα ή τμηματικά, να τις αποθηκεύσετε σε ένα αρχείο και να τις χρησιμοποιήσετε στο μέλλον. Ο επεξεργαστής αρχείων M έχει σχεδιαστεί για να λειτουργεί με αρχεία M. Χρησιμοποιώντας αυτό το πρόγραμμα επεξεργασίας, μπορείτε να δημιουργήσετε τις δικές σας συναρτήσεις και να τις καλέσετε, μεταξύ άλλων από τη γραμμή εντολών.

Αναπτύξτε το μενού Αρχείοκύριο παράθυρο του MatLab και στο στοιχείο Νέοςεπιλέξτε υποστοιχείο M-αρχείο. Το νέο αρχείο ανοίγει στο παράθυρο επεξεργασίας αρχείων M.

Εισαγάγετε εντολές στο πρόγραμμα επεξεργασίας που οδηγούν στην κατασκευή δύο γραφημάτων σε ένα παράθυρο γραφικών:

x = ;
f = exp(-x);
υποπλοκή(1, 2, 1)
οικόπεδο (x, f)
g = sin(x);
υποπλοκή(1, 2, 2)
οικόπεδο (x, g)

Τώρα αποθηκεύστε το αρχείο που ονομάζεται mydemo.m σε έναν υποκατάλογο δουλειάκύριος κατάλογος MatLab επιλέγοντας Αποθήκευση ωςμενού Αρχείοσυντάκτης. Για να εκτελέσετε όλες τις εντολές που περιέχονται στο αρχείο, επιλέξτε Τρέξιμοστο μενού Εντοπισμός σφαλμάτων.Στην οθόνη θα εμφανιστεί ένα γραφικό παράθυρο Εικόνα Νο. 1,που περιέχει γραφήματα συναρτήσεων. Εάν αποφασίσετε να σχεδιάσετε συνημίτονο αντί για ημίτονο, τότε απλώς αλλάξτε τη γραμμή g = sin(x) στο αρχείο M σε g = cos(x) και εκτελέστε ξανά όλες τις εντολές.

Σημείωση 1

Εάν παρουσιαστεί σφάλμα κατά την πληκτρολόγηση και το MatLab δεν μπορεί να αναγνωρίσει την εντολή, τότε εκτελούνται οι εντολές μέχρι την εσφαλμένη εισαγωγή και μετά εμφανίζεται ένα μήνυμα σφάλματος στο παράθυρο εντολών.

Ένα πολύ βολικό χαρακτηριστικό που παρέχεται από το πρόγραμμα επεξεργασίας αρχείων M είναι εκτέλεση κάποιων εντολών.Κλείστε το παράθυρο γραφικών Εικόνα Νο. 1.Επιλέξτε χρησιμοποιώντας το ποντίκι κρατώντας πατημένο το αριστερό κουμπί ή χρησιμοποιώντας τα πλήκτρα βέλους ενώ κρατάτε πατημένο το πλήκτρο , τις τέσσερις πρώτες εντολές του προγράμματος και να τις εκτελέσετε από σημείο Αξιολογώ Επιλογήμενού Κείμενο. Λάβετε υπόψη ότι μόνο ένα γράφημα που αντιστοιχεί στις εκτελεσμένες εντολές εμφανίστηκε στο παράθυρο γραφικών. Να θυμάστε ότι για να εκτελέσετε κάποιες εντολές πρέπει να τις επιλέξετε και να πατήσετε . Εκτελέστε τις υπόλοιπες τρεις εντολές προγράμματος και παρακολουθήστε την κατάσταση του παραθύρου γραφικών. Εξασκηθείτε μόνοι σας, πληκτρολογήστε μερικά παραδείγματα από προηγούμενα εργαστήρια στον επεξεργαστή αρχείων M και εκτελέστε τα.

Μπορούν να παρέχονται μεμονωμένα μπλοκ αρχείων M σχόλια,τα οποία παραλείπονται όταν εκτελούνται, αλλά είναι βολικά όταν εργάζεστε με ένα αρχείο M. Τα σχόλια στο MatLab ξεκινούν με ένα σύμβολο ποσοστού και επισημαίνονται αυτόματα με πράσινο χρώμα, για παράδειγμα:

% σχεδίαση sin(x) σε ξεχωριστό παράθυρο

Ο επεξεργαστής αρχείων M μπορεί να έχει πολλαπλά αρχεία ανοιχτά ταυτόχρονα. Η μετάβαση μεταξύ αρχείων πραγματοποιείται χρησιμοποιώντας σελιδοδείκτες με ονόματα αρχείων που βρίσκονται στο κάτω μέρος του παραθύρου του προγράμματος επεξεργασίας.

Το άνοιγμα ενός υπάρχοντος αρχείου M γίνεται χρησιμοποιώντας το στοιχείο Ανοιξεμενού Αρχείοπεριβάλλον εργασίας ή πρόγραμμα επεξεργασίας αρχείων M. Μπορείτε επίσης να ανοίξετε το αρχείο στο πρόγραμμα επεξεργασίας χρησιμοποιώντας την εντολή επεξεργασίας MatLab από τη γραμμή εντολών, καθορίζοντας το όνομα του αρχείου ως όρισμα, για παράδειγμα:

Η εντολή επεξεργασίας χωρίς όρισμα δημιουργεί ένα νέο αρχείο.
Όλα τα παραδείγματα που εμφανίζονται σε αυτό και στα ακόλουθα εργαστήρια πληκτρολογούνται καλύτερα και αποθηκεύονται σε M-αρχεία, συμπληρώνονται με σχόλια και εκτελούνται από τον επεξεργαστή αρχείων M. Η χρήση αριθμητικών μεθόδων και προγραμματισμού στο MatLab απαιτεί τη δημιουργία M-αρχείων.

2. Τύποι M-αρχείων

Υπάρχουν δύο τύποι αρχείων M στο MatLab: αρχείο προγράμματος(Script M-Files) που περιέχει μια ακολουθία εντολών και αρχείο-συνάρτηση(Λειτουργία M-Files), που περιγράφουν λειτουργίες που καθορίζονται από το χρήστη.

Δημιουργήσατε το πρόγραμμα αρχείων (διαδικασία αρχείου) κατά την ανάγνωση της προηγούμενης υποενότητας. Όλες οι μεταβλητές που δηλώνονται στο πρόγραμμα αρχείων γίνονται διαθέσιμες στο περιβάλλον εργασίας μετά την εκτέλεσή του. Εκτελέστε το πρόγραμμα αρχείων που δίνεται στην υποενότητα 2.1 στον επεξεργαστή αρχείων M και πληκτρολογήστε την εντολή whos στη γραμμή εντολών για να δείτε τα περιεχόμενα του περιβάλλοντος εργασίας. Μια περιγραφή των μεταβλητών θα εμφανιστεί στο παράθυρο εντολών:

«Ποιος
Όνομα Μέγεθος Bytes Κατηγορία
f 1x71 568 διπλός πίνακας
g 1x71 568 διπλός πίνακας
x 1x71 568 διπλός πίνακας
Το συνολικό σύνολο είναι 213 στοιχεία που χρησιμοποιούν 1704 byte

Οι μεταβλητές που ορίζονται σε ένα πρόγραμμα αρχείων μπορούν να χρησιμοποιηθούν σε άλλα προγράμματα αρχείων και σε εντολές που εκτελούνται από τη γραμμή εντολών. Η εκτέλεση των εντολών που περιέχονται σε ένα πρόγραμμα αρχείων πραγματοποιείται με δύο τρόπους:

  • Από τον επεξεργαστή αρχείων M όπως περιγράφεται παραπάνω.
  • Από τη γραμμή εντολών ή άλλο πρόγραμμα αρχείου, χρησιμοποιώντας το όνομα του αρχείου M ως εντολή.

Η χρήση της δεύτερης μεθόδου είναι πολύ πιο βολική, ειδικά εάν το πρόγραμμα αρχείων που δημιουργήθηκε θα χρησιμοποιηθεί επανειλημμένα στο μέλλον. Στην πραγματικότητα, το δημιουργημένο αρχείο M γίνεται μια εντολή που κατανοεί το MatLab. Κλείστε όλα τα γραφικά παράθυρα και πληκτρολογήστε mydemo στη γραμμή εντολών, εμφανίζεται ένα γραφικό παράθυρο που αντιστοιχεί στις εντολές του αρχείου προγράμματος mydemo.m. Αφού εισαγάγετε την εντολή mydemo, το MatLab εκτελεί τις ακόλουθες ενέργειες.

  • Ελέγχει εάν η εντολή που εισάγεται είναι το όνομα οποιασδήποτε από τις μεταβλητές που ορίζονται στο χρόνο εκτέλεσης. Εάν εισαχθεί μια μεταβλητή, εμφανίζεται η τιμή της.
  • Εάν η είσοδος δεν είναι μεταβλητή, τότε το MatLab αναζητά την εισαγόμενη εντολή μεταξύ των ενσωματωμένων συναρτήσεων. Εάν η εντολή αποδειχθεί ότι είναι μια ενσωματωμένη συνάρτηση, τότε εκτελείται.

Εάν δεν έχει εισαχθεί ούτε μεταβλητή ούτε ενσωματωμένη συνάρτηση, τότε το MatLab ξεκινά την αναζήτηση για ένα αρχείο M με το όνομα και την επέκταση εντολής Μ. Η αναζήτηση ξεκινά με τρέχον κατάλογο(Τρέχον Κατάλογος), εάν το αρχείο M δεν βρίσκεται σε αυτό, τότε το MatLab εξετάζει τους καταλόγους που είναι εγκατεστημένοι σε μονοπάτια αναζήτησης(Μονοπάτι). Το αρχείο M που βρέθηκε εκτελείται στο MatLab.

Εάν καμία από τις παραπάνω ενέργειες δεν οδήγησε σε επιτυχία, εμφανίζεται ένα μήνυμα στο παράθυρο εντολών, για παράδειγμα:

» mydem
??? Απροσδιόριστη συνάρτηση ή μεταβλητή "mydem".

Συνήθως, τα M-αρχεία αποθηκεύονται στον κατάλογο του χρήστη. Για να τα βρει το σύστημα MatLab, πρέπει να οριστούν οι διαδρομές για να υποδεικνύουν τη θέση των M-αρχείων.

Σημείωση 2

Υπάρχουν δύο λόγοι για να αποθηκεύσετε τα δικά σας M-αρχεία εκτός του κύριου καταλόγου MatLab. Πρώτον, όταν επανεγκαθιστάτε το MatLab, τα αρχεία που περιέχονται σε υποκαταλόγους του κύριου καταλόγου MatLab ενδέχεται να καταστραφούν. Δεύτερον, κατά την εκκίνηση του MatLab, όλα τα αρχεία στον υποκατάλογο της εργαλειοθήκης τοποθετούνται στη μνήμη του υπολογιστή με κάποιο βέλτιστο τρόπο ώστε να αυξηθεί η απόδοση. Εάν γράψατε το αρχείο M σε αυτόν τον κατάλογο, μπορείτε να το χρησιμοποιήσετε μόνο μετά την επανεκκίνηση του MatLab.

3. Ορισμός μονοπατιών

Στις εκδόσεις 6 του MatLab καθορίζεται ο τρέχων κατάλογος και οι διαδρομές αναζήτησης. Η ρύθμιση αυτών των ιδιοτήτων γίνεται είτε χρησιμοποιώντας τα αντίστοιχα παράθυρα διαλόγου είτε χρησιμοποιώντας εντολές από τη γραμμή εντολών.

Ο τρέχων κατάλογος προσδιορίζεται στο πλαίσιο διαλόγου Ρεύμα Ευρετήριοπεριβάλλον εργασίας. Το παράθυρο είναι παρόν στον χώρο εργασίας εάν είναι επιλεγμένη η επιλογή Ρεύμα Ευρετήριομενού Θέαπεριβάλλον εργασίας.
Ο τρέχων κατάλογος επιλέγεται από τη λίστα. Εάν δεν υπάρχει στη λίστα, μπορείτε να το προσθέσετε από το παράθυρο διαλόγου Ξεφυλλίζω Για Ντοσιέκαλείται κάνοντας κλικ στο κουμπί που βρίσκεται στα δεξιά της λίστας. Τα περιεχόμενα του τρέχοντος καταλόγου εμφανίζονται στον πίνακα αρχείων.

Οι διαδρομές αναζήτησης ορίζονται στο πλαίσιο διαλόγου Σειρά Μονοπάτιπλοηγός διαδρομής, πρόσβαση από το σημείο Σειρά Μονοπάτιμενού Αρχείοπεριβάλλον εργασίας.

Για να προσθέσετε έναν κατάλογο, κάντε κλικ στο κουμπί Προσθήκη Ντοσιέ Ξεφυλλίζω Για Μονοπάτιεπιλέξτε τον απαιτούμενο κατάλογο. Η προσθήκη ενός καταλόγου με όλους τους υποκαταλόγους του γίνεται κάνοντας κλικ στο κουμπί Προσθήκη με υποφακέλους. MATLAB Αναζήτηση μονοπάτι.Η σειρά αναζήτησης αντιστοιχεί στη θέση των μονοπατιών σε αυτό το πεδίο· πρώτα αναζητείται ο κατάλογος του οποίου η διαδρομή βρίσκεται στην κορυφή της λίστας. Μπορείτε να αλλάξετε τη σειρά αναζήτησης ή ακόμα και να καταργήσετε τη διαδρομή προς έναν κατάλογο επιλέγοντας τον κατάλογο στο πεδίο MATLAB Αναζήτηση μονοπάτικαι προσδιορίστε τη θέση του χρησιμοποιώντας τα ακόλουθα κουμπιά:
Κίνηση προς την Μπλουζα - Τοποθετήστε στην κορυφή της λίστας.
Κίνηση Πάνω - ανεβείτε μια θέση.
Αφαιρώ - διαγραφή από τη λίστα?
Κίνηση Κάτω - μετακινηθείτε προς τα κάτω μια θέση.
Κίνηση προς την Κάτω μέρος - τοποθετήστε στο κάτω μέρος της λίστας.

4. Εντολές για τον καθορισμό μονοπατιών.

Βήματα για να ορίσετε μονοπάτια στο MatLab 6 αντιγράφονται από ομάδες. Ο τρέχων κατάλογος ορίζεται με την εντολή cd, για παράδειγμα cd c:\users\igor. Η εντολή cd, που εκδίδεται χωρίς όρισμα, εκτυπώνει τη διαδρομή προς τον τρέχοντα κατάλογο. Για να ορίσετε μονοπάτια, χρησιμοποιήστε την εντολή path, που καλείται με δύο ορίσματα:

διαδρομή (διαδρομή, "c:\users\igor") - προσθέτει τον κατάλογο c:\users\igor με τη χαμηλότερη προτεραιότητα αναζήτησης.
διαδρομή ("c:\users\igor",path) - προσθέτει τον κατάλογο c:\users\igor με την υψηλότερη προτεραιότητα αναζήτησης.

Η χρήση της εντολής διαδρομής χωρίς ορίσματα προκαλεί την εμφάνιση μιας λίστας μονοπατιών αναζήτησης στην οθόνη. Μπορείτε να αφαιρέσετε μια διαδρομή από τη λίστα χρησιμοποιώντας την εντολή rmpath:

Το rmpath("c:\users\igor") αφαιρεί τη διαδρομή προς τον κατάλογο c:\users\igor από τη λίστα των διαδρομών.

Σημείωση 3

Μη διαγράφετε άσκοπα διαδρομές καταλόγου, ειδικά εκείνες για τον σκοπό των οποίων δεν είστε σίγουροι. Η κατάργηση ενδέχεται να έχει ως αποτέλεσμα ορισμένες από τις λειτουργίες που ορίζονται στο MatLab να μην είναι διαθέσιμες.

Παράδειγμα.Δημιουργήστε στον ριζικό κατάλογο του δίσκου ρε(ή οποιονδήποτε άλλο δίσκο ή κατάλογο όπου επιτρέπεται στους μαθητές να δημιουργήσουν τους δικούς τους καταλόγους) έναν κατάλογο με το επώνυμό σας, για παράδειγμα, WORK_IVANOV, και γράψτε το αρχείο M mydemo.m εκεί με το όνομα mydemo3.m. Ορίστε διαδρομές αρχείων και αποδείξτε την προσβασιμότητα του αρχείου από τη γραμμή εντολών. Δώστε τα αποτελέσματα στην εργαστηριακή σας έκθεση.

Επιλογή λύσης:

1. Στον ριζικό κατάλογο του δίσκου ρεδημιουργείται ο κατάλογος WORK_IVANOV.
2. Το αρχείο M mydemo.m γράφεται στον κατάλογο WORK_IVANOV με το όνομα mydemo3.m.
3. Ανοίγει ένα πλαίσιο διαλόγου Σειρά Μονοπάτιμενού Αρχείοπεριβάλλον εργασίας MatLab.
4. Το κουμπί είναι πατημένο Προσθήκη Ντοσιέκαι στο παράθυρο διαλόγου που εμφανίζεται Ξεφυλλίζω Για Μονοπάτιέχει επιλεγεί ο κατάλογος WORK_IVANOV.
5. Η προσθήκη ενός καταλόγου με όλους τους υποκαταλόγους του γίνεται κάνοντας κλικ στο κουμπί Προσθήκη με Υποφάκελοι.Η διαδρομή προς τον προστιθέμενο κατάλογο εμφανίζεται στο πεδίο MATLAB Αναζήτηση μονοπάτι.
6. Για να θυμηθείτε τη διαδρομή, πατήστε το πλήκτρο Αποθηκεύσετεκουτί διαλόγου Σειρά Μονοπάτι.
7. Η ορθότητα όλων των ενεργειών ελέγχεται πληκτρολογώντας την εντολή mydemo3 από τη γραμμή εντολών. Στην οθόνη θα εμφανιστεί ένα παράθυρο γραφικών.

5. Λειτουργίες αρχείου

Τα προγράμματα αρχείων που συζητήθηκαν παραπάνω είναι μια ακολουθία εντολών MatLab· δεν έχουν ορίσματα εισόδου ή εξόδου. Για να χρησιμοποιήσετε αριθμητικές μεθόδους και κατά τον προγραμματισμό των δικών σας εφαρμογών στο MatLab, πρέπει να μπορείτε να δημιουργήσετε συναρτήσεις αρχείων που εκτελούν τις απαραίτητες ενέργειες με ορίσματα εισόδου και επιστρέφουν το αποτέλεσμα σε ορίσματα εξόδου. Αυτή η υποενότητα περιέχει πολλά απλά παραδείγματα που θα σας βοηθήσουν να κατανοήσετε πώς να εργάζεστε με συναρτήσεις αρχείων. Οι συναρτήσεις αρχείων, καθώς και οι διαδικασίες αρχείων, δημιουργούνται στον επεξεργαστή αρχείων M.

5.1. Λειτουργίες αρχείου με ένα όρισμα εισαγωγής

Ας υποθέσουμε ότι στους υπολογισμούς είναι συχνά απαραίτητο να χρησιμοποιηθεί η συνάρτηση

Είναι λογικό να γράψετε μια συνάρτηση αρχείου μία φορά και στη συνέχεια να την καλέσετε όπου χρειάζεται να υπολογιστεί αυτή η συνάρτηση. Ανοίξτε ένα νέο αρχείο στο πρόγραμμα επεξεργασίας αρχείων M και πληκτρολογήστε το κείμενο της καταχώρισης

συνάρτηση f = myfun(x)
f= exp(-x)*sqrt((x^2+1)/(x^4+0.1));

Η λέξη συνάρτηση στην πρώτη γραμμή προσδιορίζει ότι αυτό το αρχείο περιέχει ένα αρχείο συνάρτησης. Η πρώτη γραμμή είναι κεφαλίδα συνάρτησης,τα οποία σπίτια όνομα συνάρτησηςκαι λίστες ορισμάτων εισόδου και εξόδου. Στο παράδειγμα που εμφανίζεται στην καταχώριση, το όνομα της συνάρτησης είναι myfun, ένα όρισμα εισόδου είναι x και ένα όρισμα εξόδου είναι f. Μετά έρχεται ο τίτλος σώμα λειτουργίας(στο παράδειγμα αυτό αποτελείται από μία γραμμή), όπου υπολογίζεται η τιμή της. Είναι σημαντικό η υπολογισμένη τιμή να γράφεται στο f. Το ερωτηματικό περιλαμβάνεται για να αποτρέψει την εμφάνιση περιττών πληροφοριών στην οθόνη.

Τώρα αποθηκεύστε το αρχείο στον κατάλογο εργασίας σας. Λάβετε υπόψη ότι η επιλογή ενός στοιχείου Αποθηκεύσετεή Αποθηκεύσετε όπως καιμενού Αρχείοκάνει να εμφανιστεί ένα πλαίσιο διαλόγου για την αποθήκευση του αρχείου, στο πεδίο Αρχείο όνομαπου περιέχει ήδη το όνομα myfun. Μην το αλλάξετε, αποθηκεύστε το αρχείο συνάρτησης σε ένα αρχείο με το προτεινόμενο όνομα.

Τώρα η συνάρτηση που δημιουργήθηκε μπορεί να χρησιμοποιηθεί με τον ίδιο τρόπο όπως το ενσωματωμένο sin, cos και άλλα, για παράδειγμα από τη γραμμή εντολών:

» y =myfun(1.3)
Υ =
0.2600

Οι δικές σας συναρτήσεις μπορούν να κληθούν από ένα πρόγραμμα αρχείου και από μια άλλη συνάρτηση αρχείου.

Προειδοποίηση

Ο κατάλογος που περιέχει το αρχείο συνάρτησης πρέπει να είναι τρέχων ή η διαδρομή του πρέπει να προστεθεί στη διαδρομή αναζήτησης, διαφορετικά το MatLab απλά δεν θα βρει τη συνάρτηση ή θα καλέσει μια άλλη με το ίδιο όνομα (αν βρίσκεται σε καταλόγους με δυνατότητα αναζήτησης).

Η λειτουργία αρχείου που δίνεται στην καταχώριση έχει ένα σημαντικό μειονέκτημα. Η προσπάθεια αξιολόγησης των τιμών μιας συνάρτησης από έναν πίνακα έχει ως αποτέλεσμα ένα σφάλμα αντί για έναν πίνακα τιμών, όπως συμβαίνει κατά την αξιολόγηση των ενσωματωμένων συναρτήσεων.

» x = ;
» y = myfun(x)
??? Σφάλμα κατά τη χρήση ==> ^
Ο πίνακας πρέπει να είναι τετράγωνος.
Σφάλμα στο ==> C:\MATLABRll\work\myfun.m
Στη γραμμή 2 ==> f = exp(-x)*sqrt((x^2+1)/(x^4+1));

Εάν έχετε μάθει πώς να εργάζεστε με πίνακες, τότε η εξάλειψη αυτής της έλλειψης δεν θα είναι δύσκολη. Χρειάζεται απλώς να χρησιμοποιήσετε λειτουργίες βάσει στοιχείων κατά τον υπολογισμό της τιμής μιας συνάρτησης.
Τροποποιήστε το σώμα της συνάρτησης όπως φαίνεται στην ακόλουθη λίστα (θυμηθείτε να αποθηκεύσετε τις αλλαγές στο αρχείο myfun.m).

συνάρτηση f = myfun(x)
f = exp(-x).*sqrt((x.^2+1)./(x.^4+0.1));

Τώρα το όρισμα στη συνάρτηση myfun μπορεί να είναι είτε ένας αριθμός είτε ένα διάνυσμα ή μήτρα τιμών, για παράδειγμα:

» x = ;
» y = myfun(x)
Υ =
0.2600 0.0001

Η μεταβλητή y, στην οποία γράφεται το αποτέλεσμα της κλήσης της συνάρτησης myfun, γίνεται αυτόματα διάνυσμα του απαιτούμενου μεγέθους.

Σχεδιάστε τη συνάρτηση myfun σε ένα τμήμα από τη γραμμή εντολών ή χρησιμοποιώντας ένα πρόγραμμα αρχείων:

x = ;
y = myfun(x);
plot (x, y)

Το MatLab παρέχει έναν άλλο τρόπο εργασίας με συναρτήσεις αρχείων - χρησιμοποιώντας τες ως ορίσματα σε ορισμένες εντολές. Για παράδειγμα, για να σχεδιάσετε ένα γράφημα, χρησιμοποιήστε την ειδική συνάρτηση fplot, η οποία αντικαθιστά την ακολουθία εντολών που δίνονται παραπάνω. Όταν καλείτε fplot, το όνομα της συνάρτησης της οποίας το γράφημα θέλετε να σχεδιάσετε περικλείεται σε απόστροφους, τα όρια γραφικής παράστασης υποδεικνύονται σε διάνυσμα σειράς δύο στοιχείων

fplot ("myfun", )

Σχεδιάστε τα γραφήματα myfun χρησιμοποιώντας plot και fplot στους ίδιους άξονες, χρησιμοποιώντας το hold on. Λάβετε υπόψη ότι το γράφημα που κατασκευάστηκε χρησιμοποιώντας fplot αντικατοπτρίζει με μεγαλύτερη ακρίβεια τη συμπεριφορά της συνάρτησης, καθώς το ίδιο το fplot επιλέγει το βήμα του ορίσματος, μειώνοντάς το σε περιοχές ταχείας αλλαγής στην εμφανιζόμενη συνάρτηση. Δώστε τα αποτελέσματα στην εργαστηριακή σας έκθεση.

5.2. Λειτουργίες αρχείου με πολλαπλά ορίσματα εισαγωγής

Η εγγραφή συναρτήσεων αρχείου με πολλαπλά ορίσματα εισόδου πρακτικά δεν διαφέρει από τη σύνταξη με ένα όρισμα. Όλα τα ορίσματα εισόδου τοποθετούνται σε μια λίστα που χωρίζεται με κόμμα. Για παράδειγμα, η ακόλουθη λίστα περιέχει μια συνάρτηση αρχείου που υπολογίζει το μήκος του διανύσματος ακτίνας ενός σημείου σε τρισδιάστατο χώρο
Καταχώριση μιας συνάρτησης αρχείου με πολλά ορίσματα

συνάρτηση r = ακτίνα 3(x, y, z)
r = sqrt(x.^2 + y.^2 + z.^2);

» R = ακτίνα 3(1, 1, 1)
R=
1.732

Εκτός από συναρτήσεις με πολλαπλά ορίσματα εισαγωγής, το MatLab σάς επιτρέπει να δημιουργείτε συναρτήσεις που επιστρέφουν πολλαπλές τιμές, π.χ. έχοντας πολλαπλά ορίσματα εξόδου.

5.3. Λειτουργίες αρχείου με πολλαπλά ορίσματα εξόδου

Οι συναρτήσεις αρχείων με πολλαπλά ορίσματα εξόδου είναι χρήσιμες κατά την αξιολόγηση συναρτήσεων που επιστρέφουν πολλαπλές τιμές (στα μαθηματικά ονομάζονται διανυσματικές συναρτήσεις). Ορίσματα εξόδου επισυνάπτονται στη λίστα των ορισμάτων εξόδου, διαχωρισμένα με κόμμα, και η ίδια η λίστα περικλείεται σε αγκύλες. Ένα καλό παράδειγμα είναι μια συνάρτηση που μετατρέπει έναν χρόνο που καθορίζεται σε δευτερόλεπτα σε ώρες, λεπτά και δευτερόλεπτα. Αυτή η λειτουργία αρχείου εμφανίζεται στην ακόλουθη λίστα.

Λίστα της λειτουργίας για μετατροπή δευτερολέπτων σε ώρες, λεπτά και δευτερόλεπτα

συνάρτηση = hms(sec)
ώρα = όροφος (δευτ./3600);
λεπτό = όροφος ((δευτ. ώρα*3600)/60);
δευτερόλεπτο = δευτ.-ώρα*3600-λεπτά*60;

Όταν καλείτε συναρτήσεις αρχείου με πολλαπλά ορίσματα εξόδου, το αποτέλεσμα πρέπει να γράφεται σε ένα διάνυσμα κατάλληλου μήκους:

» [N, M, S] = hms(10000)
H=
2
Μ =
46
S=
40

6. Βασικά στοιχεία προγραμματισμού στο MatLab

Οι συναρτήσεις αρχείου και το αρχείο προγράμματος που χρησιμοποιήθηκαν στις προηγούμενες υποενότητες είναι τα πιο απλά παραδείγματα προγραμμάτων. Όλες οι εντολές του MatLab που περιέχονται σε αυτά εκτελούνται διαδοχικά. Για να λύσετε πολλά πιο σοβαρά προβλήματα, πρέπει να γράψετε προγράμματα στα οποία οι ενέργειες εκτελούνται κυκλικά ή, ανάλογα με ορισμένες συνθήκες, εκτελούνται διαφορετικά μέρη των προγραμμάτων. Ας δούμε τους κύριους τελεστές που καθορίζουν τη σειρά εκτέλεσης των εντολών του MatLab. Οι χειριστές μπορούν να χρησιμοποιηθούν τόσο σε διαδικασίες αρχείων όσο και σε συναρτήσεις, γεγονός που σας επιτρέπει να δημιουργείτε προγράμματα με πολύπλοκες διακλαδισμένες δομές.

6.1. Χειριστής βρόχου Για

Ένας χειριστής έχει σχεδιαστεί για να εκτελεί έναν καθορισμένο αριθμό επαναλαμβανόμενων ενεργειών. Η απλούστερη χρήση της δήλωσης for είναι η εξής:

για μέτρηση = έναρξη:βήμα:τελικό
Εντολές MatLab
τέλος

Εδώ το count είναι μια μεταβλητή βρόχου, η αρχή είναι η αρχική της τιμή, η τελική είναι η τελική της τιμή και το βήμα είναι το βήμα κατά το οποίο η μέτρηση αυξάνεται κάθε φορά που εισάγεται ο βρόχος. Ο βρόχος τελειώνει μόλις το πλήθος γίνει μεγαλύτερο από το τελικό. Μια μεταβλητή βρόχου μπορεί να λάβει όχι μόνο ακέραιες τιμές, αλλά και πραγματικές τιμές οποιουδήποτε σημείου. Ας δούμε τη χρήση του τελεστή βρόχου for χρησιμοποιώντας μερικά χαρακτηριστικά παραδείγματα.
Ας είναι απαραίτητο να εξαχθεί μια οικογένεια καμπυλών για , η οποία καθορίζεται από μια συνάρτηση ανάλογα με την παράμετρο για τιμές παραμέτρων από -0,1 έως 0,1.
Πληκτρολογήστε το κείμενο της διαδικασίας αρχείου στον επεξεργαστή αρχείου M και αποθηκεύστε το στο αρχείο FORdem1.m και εκτελέστε το για εκτέλεση (από τον επεξεργαστή αρχείου M ή από τη γραμμή εντολών πληκτρολογώντας την εντολή FORdem1 σε αυτό και πατώντας ):

Πρόγραμμα αρχείου % για την κατασκευή μιας οικογένειας καμπυλών
x = ;
για = -0,1:0,02:0,1
y = exp(-a*x).*sin(x);
περίμενε
plot (x, y)
τέλος

Σημείωση 4

Ο επεξεργαστής αρχείων M προτείνει αυτόματα την τοποθέτηση εντολών μέσα στον βρόχο, με εσοχή από την αριστερή άκρη. Χρησιμοποιήστε αυτή τη δυνατότητα για να διευκολύνετε την εργασία με το κείμενο του προγράμματος.

Ως αποτέλεσμα της εκτέλεσης του FORdem1, θα εμφανιστεί ένα γραφικό παράθυρο που περιέχει την απαιτούμενη οικογένεια καμπυλών.

Γράψτε ένα πρόγραμμα αρχείου για να υπολογίσετε το άθροισμα

Ο αλγόριθμος για τον υπολογισμό του αθροίσματος χρησιμοποιεί τη συσσώρευση του αποτελέσματος, δηλ. πρώτα το άθροισμα είναι μηδέν ( μικρό= 0), μετά σε μια μεταβλητή κμπαίνει μια μονάδα και υπολογίζεται 1/ κ!, προστίθεται στο μικρόκαι το αποτέλεσμα μπαίνει ξανά μικρό. Περαιτέρω καυξάνεται κατά ένα, και η διαδικασία συνεχίζεται έως ότου η τελευταία περίοδος είναι 1/10!. Το πρόγραμμα αρχείων Fordem2 που εμφανίζεται στην ακόλουθη λίστα υπολογίζει το απαιτούμενο ποσό.

Λίστα του προγράμματος αρχείων Fordem2 για τον υπολογισμό του ποσού

% πρόγραμμα αρχείου για τον υπολογισμό του ποσού
% 1/1!+1/2!+ … +1/10!

% Επαναφέρετε το S για να συσσωρευτεί η ποσότητα
S = 0;
% συσσώρευση ποσότητας στον κύκλο
για k = 1:10
S = S + 1/παραγοντικό(k);
Τέλος
% εξάγει το αποτέλεσμα στο παράθυρο εντολών S

Πληκτρολογήστε το αρχείο προγράμματος στον επεξεργαστή αρχείων M, αποθηκεύστε το στον τρέχοντα κατάλογο στο αρχείο Fordem2.m και εκτελέστε. Το αποτέλεσμα θα εμφανιστεί στο παράθυρο εντολών, επειδή στην τελευταία γραμμή του προγράμματος αρχείων μικρόδεν περιέχει ερωτηματικό για την εμφάνιση της τιμής της μεταβλητής μικρό

Σημειώστε ότι άλλες γραμμές του προγράμματος αρχείων που θα προκαλούσαν την εκτύπωση ενδιάμεσων τιμών στην οθόνη τερματίζονται με ένα ερωτηματικό για να καταστείλει την έξοδο στο παράθυρο εντολών.

Δεν είναι τυχαίο ότι οι δύο πρώτες γραμμές με σχόλια χωρίζονται με μια κενή γραμμή από το υπόλοιπο κείμενο του προγράμματος. Είναι αυτά που εμφανίζονται όταν ο χρήστης χρησιμοποιεί την εντολή help από τη γραμμή εντολών για να λάβει πληροφορίες σχετικά με το τι κάνει το Fordem2

>> βοήθεια Fordem2
πρόγραμμα αρχείου για τον υπολογισμό του αθροίσματος
1/1!+1/2!+ … +1/10!

Όταν γράφετε προγράμματα αρχείων και λειτουργίες αρχείων, μην παραμελείτε τα σχόλια!
Όλες οι μεταβλητές που χρησιμοποιούνται στο πρόγραμμα αρχείων γίνονται διαθέσιμες στο περιβάλλον εργασίας. Είναι οι λεγόμενες καθολικές μεταβλητές. Από την άλλη πλευρά, το πρόγραμμα αρχείων μπορεί να χρησιμοποιήσει όλες τις μεταβλητές που έχουν εισαχθεί στο περιβάλλον εργασίας.

Εξετάστε το πρόβλημα του υπολογισμού του αθροίσματος, παρόμοιο με το προηγούμενο, αλλά ανάλογα με τη μεταβλητή Χ

Για να υπολογίσετε αυτό το ποσό στο πρόγραμμα αρχείων Fordem2, πρέπει να αλλάξετε τη γραμμή μέσα στο βρόχο for σε

S = S + x.^k/factorial(k);

Πριν εκτελέσετε το πρόγραμμα, πρέπει να ορίσετε μια μεταβλητή Χστη γραμμή εντολών χρησιμοποιώντας τις ακόλουθες εντολές:

>> x = 1,5;
>>Fordem2
S=
3.4817

Οπως και Χμπορεί να είναι ένα διάνυσμα ή ένας πίνακας, αφού στο πρόγραμμα αρχείου Fordem2 χρησιμοποιήθηκαν πράξεις στοιχείο προς στοιχείο κατά τη συσσώρευση του αθροίσματος.

Πριν ξεκινήσετε το Fordem2, πρέπει να αντιστοιχίσετε μια μεταβλητή Χκάποια τιμή και για να υπολογίσετε το άθροισμα, για παράδειγμα, από δεκαπέντε όρους, θα πρέπει να κάνετε αλλαγές στο κείμενο του προγράμματος αρχείων. Είναι πολύ καλύτερο να γράψετε μια καθολική συνάρτηση αρχείου που να παίρνει ως ορίσματα εισόδου την τιμή Χκαι το ανώτατο όριο του ποσού, και το Σαββατοκύριακο - η αξία του ποσού μικρό(Χ). Το αρχείο συνάρτησης sumN εμφανίζεται στην ακόλουθη λίστα.

Λίστα της συνάρτησης αρχείου για τον υπολογισμό του αθροίσματος

συνάρτηση S = άθροισμαN(x, N)
% συνάρτηση αρχείου για τον υπολογισμό του αθροίσματος
% x/1!+x^2/2!+ … +x^N/N!
% χρήσης: S = sumN(x, N)

% επαναφέρετε το S για να συσσωρευτεί ποσό
S = 0;
% συσσώρευση ποσότητας στον κύκλο
για m = 1:1:N
S = S + x.^m/παραγοντικό(m);
τέλος

Ο χρήστης μπορεί να μάθει για τη χρήση της συνάρτησης sumN πληκτρολογώντας help sumN στη γραμμή εντολών. Οι τρεις πρώτες γραμμές με σχόλια θα εμφανιστούν στο παράθυρο εντολών, χωρισμένες από το κείμενο της συνάρτησης αρχείου με μια κενή γραμμή.

Σημειώστε ότι οι μεταβλητές της συνάρτησης αρχείου δεν είναι καθολικές (m σε συνάρτηση αρχείου sumN). Η προσπάθεια προβολής της τιμής της μεταβλητής m από τη γραμμή εντολών οδηγεί σε ένα μήνυμα ότι το m δεν έχει οριστεί. Εάν υπάρχει μια καθολική μεταβλητή στο περιβάλλον εργασίας με το ίδιο όνομα, που ορίζεται από τη γραμμή εντολών ή σε μια συνάρτηση αρχείου, τότε δεν σχετίζεται με κανέναν τρόπο με την τοπική μεταβλητή στη συνάρτηση αρχείου. Κατά κανόνα, είναι καλύτερο να διαμορφώνετε τους δικούς σας αλγόριθμους ως συναρτήσεις αρχείων, έτσι ώστε οι μεταβλητές που χρησιμοποιούνται στον αλγόριθμο να μην αλλάζουν τις τιμές των καθολικών μεταβλητών του περιβάλλοντος εργασίας με το ίδιο όνομα.

Οι βρόχοι For μπορούν να είναι ένθετοι μεταξύ τους, αλλά οι μεταβλητές των ένθετων βρόχων πρέπει να είναι διαφορετικές.

Ο βρόχος for είναι χρήσιμος όταν εκτελούνται επαναλαμβανόμενες παρόμοιες ενέργειες όταν ο αριθμός τους είναι προκαθορισμένος. Ένας πιο ευέλικτος βρόχος while σάς επιτρέπει να ξεπεράσετε αυτόν τον περιορισμό.

6.2. Ενώ τελεστής βρόχου

Ας εξετάσουμε ένα παράδειγμα υπολογισμού ενός αθροίσματος, παρόμοιο με το παράδειγμα της προηγούμενης παραγράφου. Πρέπει να βρείτε το άθροισμα μιας σειράς για ένα δεδομένο Χ(επέκταση σειράς):
.

Το άθροισμα μπορεί να συσσωρευτεί αρκεί οι όροι να μην είναι πολύ μικροί, ας πούμε περισσότερο modulo. Ένας βρόχος for δεν είναι αρκετός εδώ, αφού ο αριθμός των όρων είναι άγνωστος εκ των προτέρων. Η λύση είναι να χρησιμοποιήσετε έναν βρόχο while, ο οποίος εκτελείται ενώ η συνθήκη βρόχου ικανοποιείται:

ενώ κατάσταση βρόχου
Εντολές MatLab
τέλος

Σε αυτό το παράδειγμα, η συνθήκη βρόχου ορίζει ότι ο τρέχων όρος είναι μεγαλύτερος από . Για να γράψετε αυτήν τη συνθήκη, χρησιμοποιήστε το σύμβολο μεγαλύτερο από (>). Το κείμενο της συνάρτησης αρχείου mysin, που υπολογίζει το άθροισμα μιας σειράς, δίνεται στην ακόλουθη λίστα.

Καταχώριση της συνάρτησης αρχείου mysin που υπολογίζει την επέκταση ημιτόνου ανά σειρά

συνάρτηση S = mysin(x)
% Υπολογισμός ημιτονοειδούς κατά σειρά επέκτασης
% Χρήση: y = mysin(x), -pi

S = 0;
k = 0;
ενώ abs(x.^(2*k+1)/factorial(2*k+1))>1.0e-10
S = S + (-1)^k*x.^(2*k+1)/παραγοντικό(2*k+1);
k = k + 1;
τέλος

Σημειώστε ότι ο βρόχος while, σε αντίθεση με τον βρόχο for, δεν έχει μεταβλητή βρόχου, επομένως έπρεπε να αντιστοιχίσουμε το k στο μηδέν πριν από την έναρξη του βρόχου και να αυξήσουμε το k κατά ένα μέσα στον βρόχο.
Η συνθήκη βρόχου while μπορεί να περιέχει περισσότερα από το σύμβολο >. Για να ορίσετε τις προϋποθέσεις για την εκτέλεση ενός κύκλου, ισχύουν και άλλες σχεσιακές πράξεις που αναφέρονται στον Πίνακα 1. 1.

Πίνακας 1. Σχεσιακές πράξεις

Η ρύθμιση πιο περίπλοκων συνθηκών γίνεται με τη χρήση λογικών τελεστών. Για παράδειγμα, η συνθήκη αποτελείται από την ταυτόχρονη εκπλήρωση δύο ανισοτήτων και , και γράφεται χρησιμοποιώντας τον λογικό τελεστή και

και(x >= -1, x< 2)

ή ισοδύναμα με &

(x >= -1) & (x< 2)

Λογικοί τελεστές και παραδείγματα χρήσης τους δίνονται στον πίνακα. 2.

Πίνακας 2. Λογικοί τελεστές

Χειριστής

Γράψιμο στο MatLab

Ισοδύναμη καταχώρηση

Λογικό "ΚΑΙ"

και (χ< 3, k == 4)

(Χ< 3) & (k == 4)

Λογικό "OR"

Ή (x == 1, x == 2)

(x == 1) | (x == 2)

Άρνηση "ΟΧΙ"

Κατά τον υπολογισμό του αθροίσματος μιας άπειρης σειράς, είναι λογικό να περιοριστεί ο αριθμός των όρων. Εάν η σειρά αποκλίνει επειδή οι όροι της δεν τείνουν στο μηδέν, τότε η συνθήκη για τη μικρή τιμή του τρέχοντος όρου μπορεί να μην ικανοποιηθεί ποτέ και το πρόγραμμα θα μπει σε βρόχο. Εκτελέστε την άθροιση προσθέτοντας ένα όριο στον αριθμό των όρων στη συνθήκη βρόχου while της συνάρτησης αρχείου mysin:

ενώ (abs(x.^(2*k+1)/factorial(2*k+1))>1.0e-10)&(k<=10000))

ή σε ισοδύναμη μορφή

ενώ και(abs(x.^(2*k+1)/factorial(2*k+1))>1.0e-10), k<=10000)

Η οργάνωση επαναλαμβανόμενων ενεργειών με τη μορφή κύκλων καθιστά το πρόγραμμα απλό και κατανοητό, αλλά συχνά είναι απαραίτητο να εκτελεστεί ένα ή άλλο μπλοκ εντολών ανάλογα με ορισμένες συνθήκες, π.χ. χρησιμοποιήστε διακλάδωση αλγορίθμου.

6.3. Δήλωση εάν υπό όρους

Υπό όρους χειριστή ανσας επιτρέπει να δημιουργήσετε έναν αλγόριθμο διακλάδωσης για την εκτέλεση εντολών, στον οποίο, όταν πληρούνται ορισμένες προϋποθέσεις, εκτελείται το αντίστοιχο μπλοκ τελεστών ή εντολών MatLab.

Η εντολή if μπορεί να χρησιμοποιηθεί στην απλή της μορφή για να εκτελέσει ένα μπλοκ εντολών όταν ικανοποιείται κάποια συνθήκη ή σε μια κατασκευή if-elseif-else για να γράψει αλγόριθμους διακλάδωσης.
Ας υποθέσουμε ότι πρέπει να αξιολογήσουμε την έκφραση . Ας υποθέσουμε ότι εκτελείτε έναν υπολογισμό στον τομέα πραγματικών αριθμών και θέλετε να εμφανίσετε μια προειδοποίηση ότι το αποτέλεσμα είναι ένας μιγαδικός αριθμός. Πριν υπολογίσετε τη συνάρτηση, θα πρέπει να ελέγξετε την τιμή του ορίσματος x και να εμφανίσετε μια προειδοποίηση στο παράθυρο εντολών εάν ο συντελεστής x δεν υπερβαίνει το ένα. Εδώ πρέπει να χρησιμοποιήσετε μια δήλωση υπό όρους if, η χρήση της οποίας στην απλούστερη περίπτωση μοιάζει με αυτό:

εάν προϋπόθεση
Εντολές MatLab
τέλος

Εάν πληρούται η συνθήκη, τότε υλοποιούνται οι εντολές MatLab που βρίσκονται μεταξύ if και end, και εάν η συνθήκη δεν πληρούται, τότε γίνεται η μετάβαση στις εντολές που βρίσκονται μετά το τέλος. Όταν γράφετε μια συνθήκη, χρησιμοποιούνται οι πράξεις που δίνονται στον πίνακα. 1.

Η συνάρτηση αρχείου που ελέγχει την τιμή του ορίσματος εμφανίζεται στην ακόλουθη λίστα. Η εντολή προειδοποίησης χρησιμοποιείται για την εμφάνιση μιας προειδοποίησης στο παράθυρο εντολών.

Καταχώριση της συνάρτησης αρχείου Rfun που ελέγχει την τιμή ενός ορίσματος

συνάρτηση f = Rfun(x)
% υπολογίζει το sqrt(x^2-1)
Το % εκτυπώνει μια προειδοποίηση εάν το αποτέλεσμα είναι περίπλοκο
% χρήσης y = Rfun(x)

% έλεγχος επιχειρημάτων
αν κοιλιακοί (x)<1
προειδοποίηση ("σύνθετο αποτέλεσμα")
τέλος
% αξιολόγηση συνάρτησης
f = sqrt(x^2-1);

Τώρα, αν καλέσετε το Rfun από ένα όρισμα μικρότερο από ένα, θα εμφανιστεί ένα προειδοποιητικό μήνυμα στο παράθυρο εντολών:

>> y = Rfun(0,2)
το αποτέλεσμα είναι σύνθετο
y =
0 + 0,97979589711327i

Η συνάρτηση αρχείου Rfun προειδοποιεί μόνο ότι η τιμή της είναι πολύπλοκη και ότι όλοι οι υπολογισμοί με αυτήν συνεχίζονται. Εάν ένα σύνθετο αποτέλεσμα σημαίνει σφάλμα υπολογισμού, τότε θα πρέπει να σταματήσετε την εκτέλεση της συνάρτησης χρησιμοποιώντας την εντολή σφάλματος αντί για προειδοποίηση.

6.4. Υπεύθυνος υποκαταστήματος if-elseif-else

Γενικά, η εφαρμογή του τελεστή υποκαταστήματος if-elseif-else μοιάζει με αυτό:

εάν συνθήκη 1
Εντολές MatLab
αλλοια συνθήκη 2
Εντολές MatLab
αλλοια συνθήκη 3
Εντολές MatLab
. . . . . . . . . . .
αλλοια συνθήκη Ν
Εντολές MatLab
αλλού
Εντολές MatLab
τέλος

Ανάλογα με την εφαρμογή του ενός ή του άλλου από Νσυνθήκες, ο αντίστοιχος κλάδος του προγράμματος εκτελείται εάν κανένα από τα Νσυνθήκες, τότε υλοποιούνται οι εντολές MatLab που τοποθετούνται μετά το other. Μετά την εκτέλεση οποιουδήποτε από τους κλάδους, ο χειριστής εξέρχεται. Μπορεί να υπάρχουν όσα υποκαταστήματα θέλετε ή μόνο δύο. Στην περίπτωση δύο διακλαδώσεων, χρησιμοποιείται το trailing else και το elseif παραλείπεται. Η δήλωση πρέπει πάντα να τελειώνει με τέλος.
Ένα παράδειγμα χρήσης της δήλωσης if-elseif-else δίνεται στην ακόλουθη λίστα.

συνάρτηση ifdem(a)
% παράδειγμα χρήσης της πρότασης if-elseif-else

εάν (a == 0)
προειδοποίηση ("α ισούται με μηδέν")
elseif a == 1
προειδοποίηση ("α ισούται με ένα")
elseif a == 2
προειδοποίηση ("α ισούται με δύο")
elseif a >= 3
προειδοποίηση ("a, μεγαλύτερο ή ίσο με τρία")
αλλού
προειδοποίηση ("α είναι μικρότερο από τρία και δεν ισούται με μηδέν, ένα, δύο")
τέλος

6.5. Υπεύθυνος υποκαταστήματος διακόπτης

Μια δήλωση διακόπτη μπορεί να χρησιμοποιηθεί για την εκτέλεση πολλαπλής επιλογής ή διακλάδωσης . Είναι μια εναλλακτική στη δήλωση if-elseif-else. Γενικά, η χρήση ενός τελεστή μεταγωγής μοιάζει με αυτό:

διακόπτης switch_expression
τιμή υπόθεσης 1
Εντολές MatLab
τιμή υπόθεσης 2
Εντολές MatLab
. . . . . . . . . . .
τιμή υπόθεσης N
Εντολές MatLab
περίπτωση (τιμή N+1, τιμή N+2, ...)
Εντολές MatLab
. . . . . . . . . . . .
περίπτωση (τιμή NM+1, τιμή NM+2,…)
σε διαφορετική περίπτωση
Εντολές MatLab
τέλος

Σε αυτήν τη δήλωση, αρχικά υπολογίζεται η τιμή της έκφρασης switch_expression (αυτό μπορεί να είναι μια κλιμακωτή αριθμητική τιμή ή μια συμβολοσειρά χαρακτήρων). Αυτή η τιμή συγκρίνεται στη συνέχεια με τις τιμές: τιμή 1, τιμή 2, ..., τιμή N, τιμή N+1, τιμή N+2, ..., τιμή NM+1, τιμή NM+2, ... ( που μπορεί επίσης να είναι αριθμητική ή συμβολοσειρά) . Εάν βρεθεί μια αντιστοίχιση, εκτελούνται οι εντολές MatLab που ακολουθούν την αντίστοιχη λέξη-κλειδί περίπτωσης. Διαφορετικά, εκτελούνται οι εντολές MatLab που βρίσκονται μεταξύ των λέξεων-κλειδιών other και end.

Μπορεί να υπάρχει οποιοσδήποτε αριθμός γραμμών με τη λέξη-κλειδί, αλλά πρέπει να υπάρχει μόνο μία γραμμή με τη λέξη-κλειδί διαφορετικά.

Μετά την εκτέλεση οποιουδήποτε από τους κλάδους, ο διακόπτης εξέρχεται και οι τιμές που καθορίζονται σε άλλες περιπτώσεις δεν ελέγχονται.

Η χρήση του διακόπτη απεικονίζεται στο ακόλουθο παράδειγμα:

διακόπτης λειτουργίας (x)
a = 10/5 + x
διακόπτης α
περίπτωση -1
προειδοποίηση ("a = -1")
περίπτωση 0
προειδοποίηση ("a = 0")
περίπτωση 1
προειδοποίηση ("a = 1")
περίπτωση (2, 3, 4)
προειδοποίηση ("a ισούται με 2 ή 3 ή 4")
σε διαφορετική περίπτωση
warning("a δεν ισούται με -1, 0, 1, 2, 3, 4")
τέλος

>> x = -4
αποδιακόπτης(x)
α =
1
προειδοποίηση: a = 1
>> x = 1
αποδιακόπτης(x)
α =
6
προειδοποίηση: το α δεν ισούται με -1, 0, 1, 2, 3, 4

6.6. Χειριστής διακοπής βρόχου Διακοπή

Κατά την οργάνωση κυκλικών υπολογισμών, θα πρέπει να λαμβάνεται μέριμνα ώστε να διασφαλίζεται ότι δεν υπάρχουν σφάλματα εντός του βρόχου. Για παράδειγμα, ας υποθέσουμε ότι σας δίνεται ένας πίνακας x που αποτελείται από ακέραιους αριθμούς και θέλετε να δημιουργήσετε έναν νέο πίνακα y σύμφωνα με τον κανόνα y(i) = x(i+1)/x(i). Προφανώς, το πρόβλημα μπορεί να λυθεί χρησιμοποιώντας έναν βρόχο for. Αλλά εάν ένα από τα στοιχεία του αρχικού πίνακα είναι μηδέν, τότε η διαίρεση θα οδηγήσει σε inf και οι επόμενοι υπολογισμοί μπορεί να είναι άχρηστοι. Αυτή η κατάσταση μπορεί να αποτραπεί με έξοδο από τον βρόχο εάν η τρέχουσα τιμή του x(i) είναι μηδέν. Το ακόλουθο τμήμα προγράμματος δείχνει τη χρήση της εντολής break για τη διακοπή ενός βρόχου:

για x = 1:20
z = x-8;
αν z==0
Διακοπή
τέλος
y = x/z
τέλος

Μόλις η μεταβλητή z γίνει 0, ο βρόχος τερματίζεται.

Η εντολή break σάς επιτρέπει να τερματίσετε νωρίτερα την εκτέλεση των βρόχων for και while. Εκτός αυτών των βρόχων, η εντολή break δεν λειτουργεί.

Όταν η εντολή break χρησιμοποιείται σε ένθετο βρόχο, εξέρχεται μόνο από τον εσωτερικό βρόχο.

Αυτό το παράθυρο είναι το κύριο στο MatLAB. Εμφανίζει τα σύμβολα των εντολών που πληκτρολογεί ο χρήστης στην οθόνη εμφάνισης, εμφανίζει τα αποτελέσματα της εκτέλεσης αυτών των εντολών, το κείμενο του προγράμματος εκτέλεσης και πληροφορίες σχετικά με σφάλματα εκτέλεσης προγράμματος που αναγνωρίζονται από το σύστημα.

Ένα σημάδι ότι το MatLAB είναι έτοιμο να αποδεχτεί και να εκτελέσει την επόμενη εντολή είναι η εμφάνιση στην τελευταία γραμμή του πεδίου κειμένου του παραθύρου του πρόσκλησης " >> ", ακολουθούμενη από μια κάθετη γραμμή που αναβοσβήνει.

Στο επάνω μέρος του παραθύρου (κάτω από τον τίτλο) υπάρχει μια γραμμή μενού, η οποία περιέχει τα μενού Αρχείο, Επεξεργασία, Προβολή, Windows, Βοήθεια. Για να ανοίξετε ένα μενού, τοποθετήστε το δείκτη του ποντικιού σε αυτό και πατήστε το αριστερό κουμπί. Οι λειτουργίες των εντολών του μενού θα περιγραφούν λεπτομερέστερα αργότερα, στην ενότητα «Διασύνδεση MatLab και εντολές γενικού σκοπού. Γράφοντας M-books."

Εδώ σημειώνουμε μόνο αυτό να βγούμε από το περιβάλλον MatLAB, απλώς ανοίξτε το μενού Αρχείο και επιλέξτε την εντολή Έξοδος MATLAB σε αυτό ή απλώς κλείστε το παράθυρο εντολών πατώντας το αριστερό κουμπί του ποντικιού όταν ο δρομέας του ποντικιού είναι τοποθετημένος στην εικόνα του επάνω δεξιού κουμπιού αυτού του παραθύρου (υποδεικνύεται με μια λοξή σταυρός).

1.2. Πράξεις με αριθμούς

1.2.1. Εισαγωγή πραγματικών αριθμών

Η εισαγωγή αριθμών από το πληκτρολόγιο ακολουθεί τους γενικούς κανόνες που έχουν υιοθετηθεί για τις γλώσσες προγραμματισμού υψηλού επιπέδου:

για να διαχωρίσετε το κλασματικό μέρος της μάντισσας ενός αριθμού, χρησιμοποιείται μια υποδιαστολή (αντί για κόμμα σε κανονική σημείωση);

ο δεκαδικός εκθέτης ενός αριθμού γράφεται ως ακέραιος μετά το προηγούμενο σύμβολο "e";

μεταξύ της μάντισσας ενός αριθμού και του συμβόλου "e"(που χωρίζει τη μάντισσα από τον εκθέτη) δεν πρέπει να υπάρχουν χαρακτήρες, συμπεριλαμβανομένου του συμβόλου παράλειψης.

Εάν, για παράδειγμα, εισάγετε τη γραμμή στο παράθυρο εντολών του MatLAB

στη συνέχεια αφού πατήσετε το πλήκτρο<Еnter>Σε αυτό το παράθυρο θα εμφανιστεί μια καταχώρηση:


Θα πρέπει να σημειωθεί ότι το αποτέλεσμα εξάγεται σε μια μορφή (μορφή) που καθορίζεται από μια προκαθορισμένη μορφή για την αναπαράσταση αριθμών. Αυτή η μορφή μπορεί να οριστεί χρησιμοποιώντας την εντολή Προτιμήσειςμενού Αρχείο(Εικ. 1.3). Αφού το καλέσετε, θα εμφανιστεί στην οθόνη ένα παράθυρο με το ίδιο όνομα (Εικ. 1.4). Ένα από τα τμήματα αυτού του παραθύρου έχει το όνομα Αριθμητικός Μορφή. Έχει σχεδιαστεί για να ορίζει και να αλλάζει τη μορφή για την αναπαράσταση αριθμών που εμφανίζονται στο παράθυρο εντολών κατά τη διαδικασία υπολογισμού. Παρέχονται οι ακόλουθες μορφές:

Σύντομη (προεπιλογή) – σύντομη καταχώρηση (χρησιμοποιείται από προεπιλογή).

Long – long entry;

Hex – σημειογραφία ως δεκαεξαδικός αριθμός.

Τράπεζα – καταγραφή στα εκατοστά.

Συν – καταγράφεται μόνο το πρόσημο του αριθμού.

Σύντομο E – σύντομη σημειογραφία σε μορφή κινητής υποδιαστολής.

Long E – μεγάλη εγγραφή σε μορφή κινητής υποδιαστολής.

Σύντομο G – η δεύτερη μορφή σύντομης σημειογραφίας σε μορφή κινητής υποδιαστολής.

Long G – η δεύτερη μορφή συμβολισμού μακράς κινητής υποδιαστολής.

Ορθολογική - σημειογραφία με τη μορφή ορθολογικού κλάσματος.

Επιλέγοντας τον επιθυμητό τύπο αναπαράστασης αριθμών χρησιμοποιώντας το ποντίκι, μπορείτε να διασφαλίσετε ότι οι αριθμοί θα εμφανίζονται στη συνέχεια στο παράθυρο εντολών ακριβώς με αυτήν τη μορφή.

Όπως φαίνεται από το Σχ. 1.2, ο αριθμός που εμφανίζεται στην οθόνη δεν ταιριάζει με τον καταχωρημένο. Αυτό οφείλεται στο γεγονός ότι η προεπιλεγμένη μορφή για την αναπαράσταση αριθμών ( Μικρός) δεν επιτρέπει την έξοδο περισσότερων από 6 σημαντικών ψηφίων. Στην πραγματικότητα, ο αριθμός που εισάγατε αποθηκεύεται στο MatLAB με όλα τα ψηφία του. Για παράδειγμα, εάν επιλέξετε το κουμπί Long επιλογέα με το ποντίκι μι(δηλαδή ορίστε την καθορισμένη μορφή για την αναπαράσταση αριθμών), στη συνέχεια, επαναλαμβάνοντας τα ίδια βήματα, παίρνουμε:

όπου όλοι οι αριθμοί εμφανίζονται ήδη σωστά (Εικ. 1.5).

Πράγματα που πρέπει να θυμάστε:

- τον εισαγόμενο αριθμό και τα αποτελέσματα όλων των υπολογισμών στο σύστημα Ma tLAB αποθηκεύονται στη μνήμη του υπολογιστή με σχετικό σφάλμα περίπου 2,10-16(δηλαδή με ακριβείς τιμές σε 15 δεκαδικά ψηφία):

- το εύρος αναπαράστασης του συντελεστή πραγματικών αριθμών βρίσκεται μεταξύ 10-308 και 10+308.

1.2.2. Απλές αριθμητικές πράξεις

Τα ακόλουθα σύμβολα αριθμητικών πράξεων χρησιμοποιούνται στις αριθμητικές εκφράσεις του MatLAB:

+ – προσθήκη;

– – αφαίρεση;

* - πολλαπλασιασμός;

/ – διαίρεση από αριστερά προς τα δεξιά.

\ – διαίρεση από δεξιά προς τα αριστερά.

^ – εκθετικότητα.

Η χρήση του MatLAB σε λειτουργία αριθμομηχανής μπορεί να γίνει γράφοντας απλώς μια ακολουθία αριθμητικών πράξεων με αριθμούς στη γραμμή εντολών, δηλαδή μια κανονική αριθμητική παράσταση, για παράδειγμα: 4.5^2*7.23 – 3.14*10.4.

Εάν, αφού εισαγάγετε αυτήν τη σειρά από το πληκτρολόγιο, πατήστε το πλήκτρο , το αποτέλεσμα της εκτέλεσης θα εμφανιστεί στο παράθυρο εντολών με τη μορφή που φαίνεται στο Σχ. 1.6, δηλαδή το αποτέλεσμα της ενέργειας της τελευταίας εκτελεσθείσας εντολής εμφανίζεται στην οθόνη κάτω από το όνομα της μεταβλητής συστήματος ans.

Γενικά, η έξοδος των ενδιάμεσων πληροφοριών στο παράθυρο εντολών υπακούει στους ακόλουθους κανόνες:

- εάν η εγγραφή χειριστή δεν τελειώνει με το σύμβολο";", το αποτέλεσμα αυτού του τελεστή εμφανίζεται αμέσως στο παράθυρο εντολών.

- αν η δήλωση τελειώνει με χαρακτήρα";", το αποτέλεσμα της δράσης του δεν εμφανίζεται στο παράθυρο εντολών;

- εάν ο χειριστής δεν περιέχει σήμα εκχώρησης(= ), δηλ. είναι απλώς μια καταγραφή κάποιας ακολουθίας ενεργειών σε αριθμούς και μεταβλητές, η τιμή αποτελέσματος εκχωρείται σε μια ειδική μεταβλητή συστήματος με το όνομα ans?

- έλαβε μεταβλητή τιμήαπαντ μπορεί να χρησιμοποιηθεί στις ακόλουθες δηλώσεις υπολογισμού χρησιμοποιώντας αυτό το όνομα ans? Θα πρέπει να θυμόμαστε ότι η τιμή της μεταβλητής συστήματοςαπαντ αλλάζει μετά την ενέργεια του επόμενου χειριστή χωρίς σύμβολο εκχώρησης;

- στη γενική περίπτωση, η μορφή παρουσίασης του αποτελέσματος στο παράθυρο εντολών μοιάζει:

<Имя переменной> = <результат>.

Παράδειγμα. Ας υποθέσουμε ότι πρέπει να υπολογίσουμε την έκφραση (25+17)*7. Μπορεί να γίνει με αυτόν τον τρόπο. Πρώτα, εισάγετε τη σειρά 25+17 και πατήστε . Παίρνουμε το αποτέλεσμα στην οθόνη στη φόρμα απαντ = 42. Τώρα γράφουμε την ακολουθία απ*7και πατήστε . Παίρνουμε απαντ = 294 (Εικ. 1.7). Για να αποτρέψετε την έξοδο του ενδιάμεσου αποτελέσματος της ενέργειας 25+17, αρκεί να προσθέσετε το σύμβολο ";" μετά τη σύνταξη αυτής της ακολουθίας. Στη συνέχεια θα έχουμε τα αποτελέσματα με τη μορφή που παρουσιάζεται στο Σχ. 1.8.

Χρησιμοποιώντας το MatLAB ως αριθμομηχανή, μπορείτε να χρησιμοποιήσετε ονόματα μεταβλητών για να γράψετε ενδιάμεσα αποτελέσματα στη μνήμη του υπολογιστή. Για να το κάνετε αυτό, χρησιμοποιήστε τη λειτουργία ανάθεσης, η οποία εισάγεται με το σύμβολο ίσου "=" σύμφωνα με το σχήμα:<Имя переменной> = <выражение>[;]

Το όνομα της μεταβλητής μπορεί να περιέχει έως και 30 χαρακτήρες και δεν πρέπει να ταιριάζει με τα ονόματα των συναρτήσεων, των διαδικασιών συστήματος και των μεταβλητών συστήματος. Σε αυτήν την περίπτωση, το σύστημα κάνει διάκριση μεταξύ μεγάλων και μικρών γραμμάτων στις μεταβλητές.Έτσι, τα ονόματα "amenu", "Amenu", "aMenu" στο MatLAB υποδηλώνουν διαφορετικές μεταβλητές.

Η έκφραση στα δεξιά του σημείου ανάθεσης μπορεί να είναι ένας απλός αριθμός, μια αριθμητική παράσταση, μια σειρά χαρακτήρων (τότε αυτοί οι χαρακτήρες πρέπει να περικλείονται σε απόστροφους) ή μια έκφραση χαρακτήρων. Εάν η έκφραση δεν τελειώνει με ένα ";", αφού πατήσετε το πλήκτρο<Еnter>στο παράθυρο εντολών το αποτέλεσμα της εκτέλεσης θα εμφανιστεί με τη μορφή:

<Όνομα μεταβλητής> = <αποτέλεσμα>.

Ρύζι. 1.7. Ρύζι. 1.8.

Για παράδειγμα, εάν εισάγετε τη γραμμή " Χ= 25 + 17", θα εμφανιστεί μια καταχώρηση στην οθόνη (Εικ. 1.9).

Το σύστημα MatLAB έχει πολλά ονόματα μεταβλητών που χρησιμοποιούνται από το ίδιο το σύστημα και περιλαμβάνονται στα δεσμευμένα:

i, j – φανταστική μονάδα (τετραγωνική ρίζα του –1). pi – αριθμός p (αποθηκεύτηκε ως 3.141592653589793). inf – προσδιορισμός άπειρου μηχανήματος. Na - προσδιορισμός ενός απροσδιόριστου αποτελέσματος (για παράδειγμα, τύπος 0/0 ή inf/inf). eps – σφάλμα πράξεων σε αριθμούς κινητής υποδιαστολής. ans – το αποτέλεσμα της τελευταίας λειτουργίας χωρίς σήμα ανάθεσης· Το realmax και το realmin είναι οι μέγιστες και ελάχιστες δυνατές τιμές του αριθμού που μπορούν να χρησιμοποιηθούν.

Αυτές οι μεταβλητές μπορούν να χρησιμοποιηθούν σε μαθηματικές εκφράσεις.

1.2.3. Εισαγωγή μιγαδικών αριθμών

Η γλώσσα συστήματος MatLAB, σε αντίθεση με πολλές γλώσσες προγραμματισμού υψηλού επιπέδου, περιέχει ενσωματωμένη αριθμητική μιγαδικών αριθμών που είναι πολύ εύκολη στη χρήση. Οι περισσότερες στοιχειώδεις μαθηματικές συναρτήσεις δέχονται μιγαδικούς αριθμούς ως ορίσματα και παράγουν αποτελέσματα ως μιγαδικούς αριθμούς. Αυτό το χαρακτηριστικό της γλώσσας την καθιστά πολύ βολική και χρήσιμη για μηχανικούς και επιστήμονες.

Για να δηλώσετε τη φανταστική μονάδα στη γλώσσα MatLAB, δεσμεύονται δύο ονόματα i και j. Η εισαγωγή της τιμής ενός μιγαδικού αριθμού από το πληκτρολόγιο γίνεται γράφοντας μια γραμμή όπως αυτή στο παράθυρο εντολών:

<όνομα σύνθετης μεταβλητής> = <Τιμή PM> + Εγώ[ι] * <Τιμή MP>,

όπου DC είναι το πραγματικό μέρος ενός μιγαδικού αριθμού, MP είναι το φανταστικό μέρος. Για παράδειγμα:

Από το παραπάνω παράδειγμα μπορείτε να δείτε πώς το σύστημα εμφανίζει μιγαδικούς αριθμούς στην οθόνη (και στην εκτύπωση).

1.2.4. Βασικές μαθηματικές συναρτήσεις

Η γενική μορφή χρήσης μιας συνάρτησης στο MatLAB είναι:

<όνομα αποτελέσματος> = <όνομα συνάρτησης>(<κατάλογος ορισμάτων ή των τιμών τους>).

Η γλώσσα MatLAB παρέχει τις ακόλουθες στοιχειώδεις αριθμητικές συναρτήσεις.

Τριγωνομετρικές και υπερβολικές συναρτήσεις

αμαρτία (z) – ημίτονο του αριθμού z.

sinh(z) – υπερβολικό ημίτονο.

όπως λέμε (z) – τόξο (σε ακτίνια, στην περιοχή από έως );

ΕΝΑsinh(z) – αντίστροφο υπερβολικό ημίτονο.

μεμικρό(z) – συνημίτονο;

сosh(z) – υπερβολικό συνημίτονο;

acos (z) – τόξο συνημίτονο (στην περιοχή από 0 έως Π);

επίσηςSH(z) – αντίστροφο υπερβολικό συνημίτονο.

βυρσοδέψω (z) – εφαπτομένη;

tanh (z) – υπερβολική εφαπτομένη.

ένα μαύρισμα (z) – εφαπτομένη (στην περιοχή από έως );

atap2 (X, Y) – τόξο τεσσάρων τεταρτημορίων (γωνία στην περιοχή από – Πσε + Πμεταξύ της οριζόντιας δεξιάς ακτίνας και της ακτίνας που διέρχεται από το σημείο με συντεταγμένες ΧΚαι Υ);

atanh (z) – αντίστροφη υπερβολική εφαπτομένη.

sec (z) – secant;

sec (z) – υπερβολική διατομή.

asec (z) – τόξο;

asech (z) – αντίστροφη υπερβολική τομή.

csc (z) – συνοδευτικό;

csch (z) – υπερβολική συνέκταση.

acsc (z) – arccosecant;

acsch (z) – αντίστροφη υπερβολική συνέκταση.

κούνια (z) – συνεφαπτομένη;

Coth (z) – υπερβολική συνεφαπτομένη.

acot (z) – συνεφαπτομένη τόξου;

acoth (z) – αντίστροφη υπερβολική συνεφαπτομένη

Εκθετικές συναρτήσεις

exp (z) – εκθέτης του αριθμού z;

κούτσουρο(z) – φυσικός λογάριθμος.

κούτσουρο10 (z) – δεκαδικός λογάριθμος.

sqrt(z) – τετραγωνική ρίζα του αριθμού z.

abs (z) – συντελεστής του αριθμού z.

Ακέραιες συναρτήσεις

fix (z) – στρογγυλοποίηση στον πλησιέστερο ακέραιο προς το μηδέν.

όροφος (z) – στρογγυλοποίηση στον πλησιέστερο ακέραιο προς το αρνητικό άπειρο.

ανώτατο όριο (z) – στρογγυλοποίηση στον πλησιέστερο ακέραιο προς το θετικό άπειρο.

γύρος (z) – κανονική στρογγυλοποίηση του αριθμού z στον πλησιέστερο ακέραιο.

mod (X, Y) – διαίρεση ακέραιου του X με το Y.

rem(X, Y) – υπολογισμός του υπολοίπου κατά τη διαίρεση του X με το Y.

σημάδι(z) – υπολογισμός της συνάρτησης προσήμου του αριθμού z

(0 στο z = 0, –1 στο z< 0, 1 при z > 0)

1.2.5. Ειδικές μαθηματικές συναρτήσεις

Εκτός από τις στοιχειώδεις, η γλώσσα MatLAB παρέχει μια σειρά από ειδικές μαθηματικές συναρτήσεις. Παρακάτω είναι μια λίστα και περίληψη αυτών των λειτουργιών. Ο χρήστης μπορεί να βρει τους κανόνες πρόσβασης και χρήσης τους στις περιγραφές αυτών των συναρτήσεων, οι οποίοι εμφανίζονται στην οθόνη εάν πληκτρολογήσετε την εντολή βοήθειας και καθορίσετε το όνομα της συνάρτησης στην ίδια γραμμή.

Συντεταγμένες συναρτήσεις μετασχηματισμού

καροτσάκι2 sph– μετατροπή των καρτεσιανών συντεταγμένων σε σφαιρικές.

καροτσάκι2 pol– μετατροπή καρτεσιανών συντεταγμένων σε πολικές.

pol2 καροτσάκι– μετατροπή πολικών συντεταγμένων σε καρτεσιανή.

sph2 καροτσάκι– μετατροπή σφαιρικών συντεταγμένων σε καρτεσιανή.

Λειτουργίες Bessel

besselj– Συνάρτηση Bessel πρώτου είδους.

ευγενικά– Συνάρτηση Bessel δεύτερου είδους.

μπεσέλι– Τροποποιημένη συνάρτηση Bessel πρώτου είδους.

besselk– τροποποιημένη συνάρτηση Bessel δεύτερου είδους.

Δυνατότητες beta

βήτα– λειτουργία βήτα.

betainc– ημιτελής λειτουργία βήτα.

betaln– λογάριθμος της συνάρτησης βήτα.

Λειτουργίες γάμμα

γάμμα– λειτουργία γάμμα

gammainc– ημιτελής συνάρτηση γάμμα.

gammaln– λογάριθμος της συνάρτησης γάμμα.

Ελλειπτικές συναρτήσεις και ολοκληρώματα

ellipj– Ελλειπτικές συναρτήσεις Jacobi.

ellipke– πλήρες ελλειπτικό ολοκλήρωμα.

εκπνέω– εκθετική ολοκληρωτική συνάρτηση.

Λειτουργίες σφάλματος

erf– λειτουργία σφάλματος.

erfc– πρόσθετη λειτουργία σφάλματος.

erfcx– κλιμακούμενη πρόσθετη λειτουργία σφάλματος.

erflnvείναι η συνάρτηση αντίστροφου σφάλματος.

Αλλα χαρακτηριστικά

gcd- μέγιστο κοινό διαιρέτη;

μαθαίνω- ελάχιστο κοινό πολλαπλάσιο;

θρύλος– γενικευμένη συνάρτηση Legendre.

log2– λογάριθμος στη βάση 2.

pow2– αύξηση 2 στην καθορισμένη ισχύ.

αρουραίος- αναπαράσταση ενός αριθμού με τη μορφή ορθολογικού κλάσματος.

αρουραίους– αναπαράσταση αριθμών με τη μορφή ορθολογικών κλασμάτων.

1.2.6. Στοιχειώδεις πράξεις με μιγαδικούς αριθμούς

Οι απλούστερες πράξεις με μιγαδικούς αριθμούς - πρόσθεση, αφαίρεση, πολλαπλασιασμός, διαίρεση και εκτίμηση - εκτελούνται χρησιμοποιώντας τα συνηθισμένα αριθμητικά πρόσημα +, –, *, /, \ και ^, αντίστοιχα.

Παραδείγματα χρήσης φαίνονται στο Σχ. 1.11.

Σημείωση. Το παραπάνω τμήμα χρησιμοποιεί τη συνάρτηση διαθ (από τη λέξη "εμφάνιση"), η οποία εμφανίζει επίσης αποτελέσματα υπολογισμού ή κάποιο κείμενο στο παράθυρο εντολών. Σε αυτήν την περίπτωση, το αριθμητικό αποτέλεσμα, όπως φαίνεται, εμφανίζεται χωρίς να αναφέρεται το όνομα της μεταβλητής ή απαντ.

1.2.7. Σύνθετες συναρτήσεις επιχειρημάτων

Σχεδόν όλα βασικά μαθηματικές συναρτήσειςδίνεται στην ενότητα 1.2.4, υπολογίζονται για μιγαδικές τιμές του ορίσματοςκαι ως αποτέλεσμα αυτού, λαμβάνονται σύνθετες τιμές αποτελεσμάτων.

Χάρη σε αυτό, για παράδειγμα, η συνάρτηση sqrt υπολογίζει, σε αντίθεση με άλλες γλώσσες προγραμματισμού, την τετραγωνική ρίζα ενός αρνητικού ορίσματος και τη συνάρτηση κοιλιακούς δίνοντας μια μιγαδική τιμή του επιχειρήματος, υπολογίζει το μέτρο ενός μιγαδικού αριθμού. Παραδείγματα φαίνονται στο Σχ. 1.12.

Το MatLAB έχει αρκετές πρόσθετες συναρτήσεις που λαμβάνουν μόνο ένα σύνθετο όρισμα:

πραγματικός (z) – επιλέγει το πραγματικό μέρος του μιγαδικού ορίσματος z.

і μαγ (z) – επισημαίνει το φανταστικό μέρος του σύνθετου επιχειρήματος.

γωνία (z) – υπολογίζει την τιμή του ορίσματος του μιγαδικού αριθμού z (σε ακτίνια στην περιοχή από –p έως +p).

conj (z) – επιστρέφει έναν αριθμό που είναι σύνθετος συζυγής ως προς το z.

Παραδείγματα φαίνονται στο Σχ. 1.13.

Ρύζι. 1.12. Ρύζι. 1.3.

Επιπλέον, το MatLAB έχει μια ειδική συνάρτηση cplxpair (V), η οποία ταξινομεί ένα δεδομένο διάνυσμα V με μιγαδικά στοιχεία με τέτοιο τρόπο ώστε τα μιγαδικά συζυγή ζεύγη αυτών των στοιχείων να είναι διατεταγμένα στο διάνυσμα αποτελέσματος με αύξουσα σειρά των πραγματικών τους μερών, με το στοιχείο με αρνητικό φανταστικό μέρος τοποθετείται πάντα πρώτο. Τα πραγματικά στοιχεία συμπληρώνουν τα σύνθετα συζυγή ζεύγη. Για παράδειγμα, σε περαιτέρω στα παραδείγματα εντολών που πληκτρολογούνται από το πληκτρολόγιο, θα γράφεται με έντονη γραφή, και το αποτέλεσμα της εκτέλεσής τους είναι με κανονική γραμματοσειρά):

>> v = [ -1, -1+2i,-5,4,5i,-1-2i,-5i]

Στήλες 1 έως 4

1.0000 -1.0000 +2.0000i -5.0000 4.0000

Στήλες 5 έως 7

0 + 5.0000i -1.0000-2.0000i 0 - 5.0000i

>> disp(cplxpair(v))

Στήλες 1 έως 4

1.0000 - 2.0000i -1.0000 + 2.0000i 0 - 5.0000i 0 + 5.0000i

Στήλες 5 έως 7

5.0000 -1.0000 4.0000

Η προσαρμοστικότητα των περισσότερων συναρτήσεων MatLAB να λειτουργούν με μιγαδικούς αριθμούς καθιστά πολύ πιο εύκολη την κατασκευή υπολογισμών με πραγματικούς αριθμούς, το αποτέλεσμα των οποίων είναι σύνθετος, για παράδειγμα, η εύρεση μιγαδικών ριζών τετραγωνικών εξισώσεων.

1. Gultyaev A.K. MatLAB 5.2. Μοντελοποίηση προσομοίωσης σε περιβάλλον Windows: Ένας πρακτικός οδηγός. - Αγία Πετρούπολη: CORONA print, 1999. - 288 p.

2. Gultyaev A.K. Visual modeling in MATLAB: Training course. - Αγία Πετρούπολη: PETER, 2000. - 430 p.

3. Εγχειρίδιο Dyakonov V.P. σχετικά με τη χρήση του συστήματος PC MatLAB. - Μ.: Fizmatlit, 1993. - 113 σελ.

4. Dyakonov V. Simulink 4. Ειδικό βιβλίο αναφοράς. - Αγία Πετρούπολη: Peter, 2002. – 518 p.

5. Dyakonov V., Kruglov V. Μαθηματικά πακέτα επέκτασης MatLAB. Ειδικό βιβλίο αναφοράς. - Αγία Πετρούπολη: Peter, 2001. - 475 p.

6. Krasnoproshina A. A., Repnikova N. B., Ilchenko A. A. Σύγχρονη ανάλυση συστημάτων ελέγχου με χρήση MATLAB, Simulink, Control System: Textbook. - Κ.: «Korniychuk», 1999. – 144 σελ.

7. Lazarev Yu. F. Cobs του προγραμματισμού στο περιβάλλον MatLAB: Uch. επίδομα. - Κ.: "Korniychuk", 1999. - 160 σελ.

8. Lazarev Yu. MatLAB 5.χ. – Κ.: «Irina» (BHV), 2000. – 384 σελ.

9. Medvedev V. S., Potemkin V. G. Control System Toolbox. MatLAB 5 για μαθητές. - Γ.: «ΔΙΑΛΟΓ-ΜΕΦΗ», 1999. – 287 σελ.

10. Potemkin V. G. MatLAB 5 για μαθητές: Αναφορά. επίδομα. - Μ.: «ΔΙΑΛΟΓΟΣ-ΜΕΦΗ», 1998. - 314 σελ.

Οι περισσότεροι προγραμματιστές δυσκολεύονται να κατανοήσουν τόσο τη σύνταξη όσο και τις δυνατότητές του. Το θέμα είναι ότι η γλώσσα σχετίζεται άμεσα με ένα δημοφιλές προϊόν λογισμικού, το κόστος του οποίου μπορεί να φτάσει εκπληκτικές αξίες. Έτσι, το κύριο ερώτημα είναι: είναι η ίδια η γλώσσα Matlab τόσο καλή; Και μπορεί να είναι χρήσιμο για εσάς;

Χρήση

Ας ξεκινήσουμε όχι με μια τυπική εκδρομή στην ιστορία και μια συζήτηση για τα πλεονεκτήματα και τα μειονεκτήματα της γλώσσας, αλλά με το περιβάλλον λογισμικού MATLAB/Simulink - το μόνο μέρος όπου ο ήρωας αυτού του κειμένου μπορεί να είναι χρήσιμος. Απλά φανταστείτε έναν γραφικό επεξεργαστή στον οποίο μπορείτε να πραγματοποιήσετε οποιαδήποτε από τις ιδέες σας χωρίς να έχετε πολλά χρόνια εμπειρίας και σχετική εκπαίδευση πίσω σας. Και έχοντας δημιουργήσει ένα διάγραμμα αλληλεπίδρασης μεταξύ εργαλείων μία φορά, θα λάβετε ένα σενάριο υψηλής ποιότητας για επαναλαμβανόμενη χρήση.

Το MATLAB είναι ακριβώς ένας τέτοιος επεξεργαστής στον κόσμο των δεδομένων. Το πεδίο εφαρμογής του είναι απείρως ευρύ: IoT, οικονομικά, ιατρική, διάστημα, αυτοματισμός, ρομποτική, ασύρματα συστήματα και πολλά, πολλά άλλα. Γενικά, υπάρχουν σχεδόν απεριόριστες δυνατότητες συλλογής και οπτικοποίησης δεδομένων, καθώς και πρόβλεψης, αλλά μόνο εάν έχετε τη δυνατότητα να αγοράσετε το κατάλληλο πακέτο.

Όσο για την τιμή, δεν υπάρχει σχεδόν ανώτατο όριο, αλλά το κατώτερο όριο είναι περίπου 99 $. Για να αρπάξετε ένα τόσο ισχυρό προϊόν για σχετικά λίγα χρήματα, πρέπει να είστε φοιτητής πανεπιστημίου. Και φυσικά θα αποκτήσετε ένα μάλλον περιορισμένο προϊόν.

Χαρακτηριστικά της γλώσσας

Η γλώσσα MATLAB είναι ένα εργαλείο που παρέχει αλληλεπίδραση μεταξύ ενός χειριστή (συχνά ούτε καν προγραμματιστή) με όλες τις διαθέσιμες δυνατότητες για ανάλυση, συλλογή και παρουσίαση δεδομένων. Έχει προφανή θετικά και αρνητικά χαρακτηριστικά μιας γλώσσας που ζει σε ένα κλειστό οικοσύστημα.

Ελαττώματα:

    Μια αργή και υπερφορτωμένη γλώσσα με τελεστές, εντολές και λειτουργίες, ο κύριος σκοπός της οποίας είναι η βελτίωση της οπτικής αντίληψης.

    Στενά εστιασμένη. Δεν υπάρχει άλλη πλατφόρμα λογισμικού όπου το MATLAB είναι χρήσιμο.

    Υψηλό κόστος λογισμικού. Αν δεν είσαι φοιτητής, είτε ετοιμάσου να αδειάσεις τις τσέπες σου είτε περάσεις τα όρια του νόμου. Και ακόμα κι αν είσαι φοιτητής, η τιμή είναι αξιοπρεπής.

    Χαμηλή ζήτηση. Παρά το μεγάλο ενδιαφέρον για το MATLAB σχεδόν σε κάθε τομέα, μόνο λίγοι το χρησιμοποιούν πραγματικά και νόμιμα.

Πλεονεκτήματα:

    Η γλώσσα είναι εύκολη στην εκμάθηση και έχει απλή και κατανοητή σύνταξη.

    Τεράστιες ευκαιρίες. Αλλά αυτό είναι μάλλον ένα πλεονέκτημα του προϊόντος στο σύνολό του.

    Συχνές ενημερώσεις, συνήθως αξιοσημείωτες θετικές μετατροπές συμβαίνουν τουλάχιστον μερικές φορές το χρόνο.

    Το περιβάλλον λογισμικού σάς επιτρέπει να το μετατρέψετε σε «γρήγορο» κώδικα σε C, C++.

Το κοινό-στόχος

Φυσικά, δεν χρειάζονται όλοι το MATLAB. Παρά το ευρύ φάσμα των εφαρμογών του, είναι δύσκολο να φανταστεί κανείς ότι ο μέσος προγραμματιστής εφαρμογών θα χρειαζόταν γνώση αυτής της γλώσσας. Το MATLAB είναι εξαιρετικά χρήσιμο σε τομείς που απαιτούν ιδιαίτερα στιβαρή επεξεργασία δεδομένων, όπως συστήματα αυτόματου πιλότου σε αυτοκίνητα ή συστήματα ηλεκτρονικών συστημάτων αεροσκαφών.

Δηλαδή, αν δεν είστε πολύ προγραμματιστής, αλλά με τον ένα ή τον άλλο τρόπο το επάγγελμά σας σχετίζεται με την ανάγκη για προγραμματική επεξεργασία δεδομένων, τότε ένα προϊόν MATLAB/Simulink με την κατάλληλη γλώσσα μπορεί να απλοποιήσει πολύ τις καθημερινές σας εργασίες.

Βιβλιογραφία

Ολοκληρώνουμε την ανασκόπηση της γλώσσας, όπως πάντα, με μια λίστα εκπαιδευτικής βιβλιογραφίας. Φυσικά, ανάμεσά τους δεν θα βρείτε βιβλία αποκλειστικά για τη γλώσσα, αλλά αυτό θα διευκολύνει την αντίληψη της γλώσσας:

Έχετε εμπειρία με το MATLAB; Και το οποίο?

Για όσους θέλουν να γίνουν προγραμματιστές - .

Το περιβάλλον MATLAB περιλαμβάνει έναν διερμηνέα εντολών σε μια γλώσσα υψηλού επιπέδου, ένα γραφικό σύστημα, πακέτα επέκτασης και υλοποιείται στη γλώσσα C. Όλες οι εργασίες οργανώνονται μέσω του παραθύρου εντολών, το οποίο εμφανίζεται όταν εκτελείτε το πρόγραμμα matlab.exe. Κατά τη λειτουργία, τα δεδομένα βρίσκονται στη μνήμη (Workspace), δημιουργούνται παράθυρα γραφικών για την εμφάνιση καμπυλών, επιφανειών και άλλων γραφημάτων.

Οι υπολογισμοί πραγματοποιούνται στο παράθυρο εντολών σε λειτουργία διαλόγου. Ο χρήστης εισάγει εντολές ή εκτελεί αρχεία κειμένου στο MATLAB. Ο διερμηνέας επεξεργάζεται την είσοδο και παράγει αποτελέσματα: αριθμητικά δεδομένα και δεδομένα συμβολοσειράς, προειδοποιήσεις και μηνύματα σφάλματος. Η γραμμή εισαγωγής σημειώνεται με >>. Το παράθυρο εντολών εμφανίζει αριθμούς και μεταβλητές που εισάγονται από το πληκτρολόγιο, καθώς και αποτελέσματα υπολογισμών. Τα ονόματα των μεταβλητών πρέπει να ξεκινούν με ένα γράμμα. Το σύμβολο = αντιστοιχεί σε μια λειτουργία ανάθεσης. Πατώντας το πλήκτρο Enter, το σύστημα αξιολογεί την έκφραση και εμφανίζει το αποτέλεσμα. Πληκτρολογήστε από το πληκτρολόγιο στη γραμμή εισαγωγής:

Πατήστε το πλήκτρο Enter, το αποτέλεσμα υπολογισμού θα εμφανιστεί στην οθόνη στην περιοχή προβολής:

Όλες οι τιμές μεταβλητών που υπολογίζονται κατά την τρέχουσα περίοδο εργασίας αποθηκεύονται σε μια ειδικά δεσμευμένη περιοχή της μνήμης του υπολογιστή που ονομάζεται χώρος εργασίας του συστήματος MATLAB (Workspace). Η εντολή clc μπορεί να διαγράψει τα περιεχόμενα του παραθύρου εντολών, αλλά αυτό δεν θα επηρεάσει τα περιεχόμενα του χώρου εργασίας. Όταν δεν υπάρχει πλέον ανάγκη αποθήκευσης ορισμένων μεταβλητών στην τρέχουσα περίοδο εργασίας, μπορούν να διαγραφούν από τη μνήμη του υπολογιστή με την εντολή διαγραφή ή διαγραφή (όνομα1, όνομα2, ...). Η πρώτη εντολή διαγράφει όλες τις μεταβλητές από τη μνήμη και η δεύτερη τις μεταβλητές με τα ονόματα name1 και name2. Η εντολή who μπορεί να εμφανίσει μια λίστα με όλες τις μεταβλητές που περιλαμβάνονται αυτήν τη στιγμή στον χώρο εργασίας του συστήματος. Για να προβάλετε την τιμή οποιασδήποτε μεταβλητής από τον τρέχοντα χώρο εργασίας του συστήματος, απλώς πληκτρολογήστε το όνομά της και πατήστε Enter.

Μετά την ολοκλήρωση μιας συνεδρίας με το MATLAB, όλες οι μεταβλητές που είχαν υπολογιστεί προηγουμένως χάνονται. Για να αποθηκεύσετε τα περιεχόμενα του χώρου εργασίας του συστήματος MATLAB σε ένα αρχείο στο δίσκο του υπολογιστή, πρέπει να εκτελέσετε την εντολή μενού File / Save Workspace As .... Από προεπιλογή, η επέκταση ονόματος αρχείου είναι mat, γι' αυτό και τέτοια αρχεία είναι συνήθως που ονομάζονται αρχεία MAT. Για να φορτώσετε έναν χώρο εργασίας που ήταν προηγουμένως αποθηκευμένος στο δίσκο στη μνήμη του υπολογιστή, πρέπει να εκτελέσετε την εντολή μενού: Αρχείο / Φόρτωση χώρου εργασίας ....

Πραγματικοί αριθμοί και διπλός τύπος δεδομένων

Το σύστημα MATLAB αντιπροσωπεύει σε επίπεδο μηχανής όλους τους πραγματικούς αριθμούς που καθορίζονται από το mantissa και τον εκθέτη, για παράδειγμα, 2.85093E+11, όπου το γράμμα E υποδηλώνει τη βάση του εκθέτη ίση με 10. Αυτός ο βασικός τύπος δεδομένων ονομάζεται διπλός. Το MATLAB από προεπιλογή χρησιμοποιεί τη σύντομη μορφή για την εμφάνιση πραγματικών αριθμών, η οποία εμφανίζει μόνο τα τέσσερα δεκαδικά ψηφία μετά την υποδιαστολή.

Εισαγάγετε ένα παράδειγμα από το πληκτρολόγιο:

» res=5.345*2.868/3.14-99.455+1.274

Λάβετε το αποτέλεσμα υπολογισμού:

Εάν χρειάζεστε μια πλήρη αναπαράσταση του πραγματικού αριθμού res, εισαγάγετε την εντολή από το πληκτρολόγιο:

πατήστε Enter και λάβετε πιο αναλυτικές πληροφορίες:

res = -93,29900636942675

Τώρα όλα τα αποτελέσματα των υπολογισμών θα εμφανίζονται με τόσο υψηλή ακρίβεια κατά τη διάρκεια μιας δεδομένης συνεδρίας στο περιβάλλον του συστήματος MATLAB. Εάν θέλετε να επιστρέψετε στην παλιά ακρίβεια της οπτικής αναπαράστασης πραγματικών αριθμών στο παράθυρο εντολών πριν από τον τερματισμό της τρέχουσας περιόδου λειτουργίας, πρέπει να εισαγάγετε και να εκτελέσετε (πατώντας το πλήκτρο Enter) την εντολή:

Οι ακέραιοι αριθμοί εμφανίζονται από το σύστημα στο παράθυρο εντολών ως ακέραιοι.

Οι αριθμητικές πράξεις εκτελούνται σε πραγματικούς αριθμούς και διπλές μεταβλητές: πρόσθεση +, αφαίρεση -, πολλαπλασιασμός *, διαίρεση / και εκθεσιμότητα ^. Η προτεραιότητα στην εκτέλεση αριθμητικών πράξεων είναι φυσιολογική. Οι λειτουργίες της ίδιας προτεραιότητας εκτελούνται με σειρά από αριστερά προς τα δεξιά, αλλά οι παρενθέσεις μπορούν να αλλάξουν αυτή τη σειρά.

Εάν δεν χρειάζεται να δείτε το αποτέλεσμα του υπολογισμού μιας συγκεκριμένης έκφρασης στο παράθυρο εντολών, τότε στο τέλος της εισαγόμενης παράστασης θα πρέπει να βάλετε ένα ερωτηματικό και μόνο στη συνέχεια να πατήσετε Enter.

Το σύστημα MATLAB περιέχει όλες τις βασικές στοιχειώδεις συναρτήσεις για υπολογισμούς με πραγματικούς αριθμούς. Οποιαδήποτε συνάρτηση χαρακτηρίζεται από το όνομά της, μια λίστα ορισμάτων εισόδου (παρατίθενται χωρισμένα με κόμμα και τοποθετούνται μέσα σε παρενθέσεις μετά το όνομα της συνάρτησης) και μια υπολογισμένη (επιστρεφόμενη) τιμή. Μια λίστα με όλες τις στοιχειώδεις μαθηματικές συναρτήσεις που είναι διαθέσιμες στο σύστημα μπορεί να ληφθεί χρησιμοποιώντας την εντολή help elfun. Το Παράρτημα 1 παραθέτει τυπικές συναρτήσεις πραγματικού ορίσματος.

Αξιολογήστε μια έκφραση που περιλαμβάνει την αξιολόγηση της συνάρτησης τόξου:

Βεβαιωθείτε ότι έχετε το ακόλουθο αποτέλεσμα:

που αντιστοιχεί στον αριθμό «πι». Στο MATLAB, υπάρχει μια ειδική σημείωση για τον υπολογισμό του pi: pi. (Μια λίστα με τις μεταβλητές του συστήματος MATLAB υπάρχει στο Παράρτημα 2).

Το MATLAB έχει επίσης λογικές συναρτήσεις, συναρτήσεις που σχετίζονται με ακέραια αριθμητική (στρογγυλοποίηση στον πλησιέστερο ακέραιο: στρογγυλή, περικοπή του κλασματικού μέρους ενός αριθμού: fix). Υπάρχει επίσης μια λειτουργία mod - το υπόλοιπο της διαίρεσης λαμβάνοντας υπόψη το πρόσημο, το σύμβολο - το πρόσημο του αριθμού, το lcm - το λιγότερο κοινό πολλαπλάσιο, τα perms - τον υπολογισμό του αριθμού των μεταθέσεων και το nchoosek - τον αριθμό των συνδυασμών και πολλά άλλα. Πολλές από τις συναρτήσεις έχουν έναν τομέα διαφορετικό από το σύνολο όλων των πραγματικών αριθμών.

Εκτός από τις αριθμητικές πράξεις σε διπλούς τελεστές, εκτελούνται επίσης σχεσιακές και λογικές πράξεις. Οι σχεσιακές τελεστές συγκρίνουν δύο τελεστές με βάση το μέγεθος. Αυτές οι πράξεις γράφονται με τους ακόλουθους χαρακτήρες ή συνδυασμούς χαρακτήρων (Πίνακας 1):

Τραπέζι 1


Εάν μια σχεσιακή πράξη είναι αληθής, η τιμή της είναι 1 και αν είναι ψευδής, η τιμή της είναι 0. Οι σχεσιακές πράξεις έχουν χαμηλότερη προτεραιότητα από τις αριθμητικές πράξεις.

Πληκτρολογήστε μια έκφραση με σχεσιακές πράξεις από το πληκτρολόγιο και υπολογίστε

» a=1; b=2; c=3;

» res=(α

Θα έχετε το εξής αποτέλεσμα:

Οι λογικές πράξεις σε πραγματικούς αριθμούς υποδεικνύονται από τα σημάδια που παρατίθενται στον Πίνακα 2:

πίνακας 2


& | ~
ΚΑΙ Ή ΔΕΝ

Οι δύο πρώτες από αυτές τις πράξεις είναι δυαδικές (δύο τελεστών) και η τελευταία είναι μοναδική (ένας τελεστής). Οι λογικές πράξεις αντιμετωπίζουν τους τελεστές τους είτε ως "true" (όχι ίσο με μηδέν) είτε ως "false" (ίσο με μηδέν). Εάν και οι δύο τελεστές της πράξης AND είναι αληθείς (όχι ίσοι με μηδέν), τότε το αποτέλεσμα αυτής της πράξης είναι 1 ("αληθές"). Σε όλες τις άλλες περιπτώσεις, η λειτουργία AND παράγει την τιμή 0 ("false"). Η πράξη OR παράγει 0 ("false") μόνο εάν και οι δύο τελεστές είναι ψευδείς (μηδέν). Η λειτουργία "NOT" μετατρέπει το "false" σε "true". Οι λογικές πράξεις έχουν τη χαμηλότερη προτεραιότητα.

Μιγαδικοί αριθμοί και μιγαδικές συναρτήσεις

Οι σύνθετες μεταβλητές, όπως οι πραγματικές, είναι αυτόματα διπλού τύπου και δεν απαιτούν καμία προκαταρκτική περιγραφή. Τα γράμματα i ή j προορίζονται για τη σύνταξη της φανταστικής ενότητας. Στην περίπτωση που ο συντελεστής μπροστά από τη φανταστική μονάδα δεν είναι αριθμός, αλλά μεταβλητή, πρέπει να χρησιμοποιηθεί πρόσημο πολλαπλασιασμού μεταξύ τους. Έτσι, οι μιγαδικοί αριθμοί μπορούν να γραφτούν ως εξής:

» 2+3i; -6,789+0,834e-2*i; 4-2j; x+y*i;

Σχεδόν όλες οι στοιχειώδεις συναρτήσεις επιτρέπουν υπολογισμούς με σύνθετα ορίσματα. Αξιολογήστε την έκφραση:

» res=sin(2+3i)*atan(4i)/(1 -6i)

Το αποτέλεσμα θα είναι:

1.8009 - 1.91901

Οι ακόλουθες συναρτήσεις έχουν σχεδιαστεί ειδικά για την εργασία με μιγαδικούς αριθμούς: abs (απόλυτη τιμή μιγαδικού αριθμού), conj (σύνθετος συζευγμένος αριθμός), εικόνα (φανταστικό μέρος ενός μιγαδικού αριθμού), πραγματικός (πραγματικό μέρος ενός μιγαδικού αριθμού), γωνία (επιχείρημα μιγαδικού αριθμού), isreal ( "αληθές" αν ο αριθμός είναι πραγματικός). Οι συναρτήσεις μιας σύνθετης μεταβλητής παρατίθενται στο Παράρτημα 1.

Όσον αφορά τις αριθμητικές πράξεις, δεν μπορούμε να πούμε τίποτα νέο για μιγαδικούς αριθμούς (σε σύγκριση με πραγματικούς αριθμούς). Το ίδιο ισχύει για τους σχεσιακούς τελεστές «ίσος» και «όχι ίσος». Οι υπόλοιπες σχεσιακές πράξεις παράγουν αποτελέσματα που βασίζονται μόνο στα πραγματικά μέρη αυτών των τελεστών.

Εισαγάγετε μια έκφραση, λάβετε το αποτέλεσμα και εξηγήστε την:

» c=2+3i; d=2i; » γ>δ

Οι λογικές πράξεις αντιμετωπίζουν τους τελεστές ως ψευδείς εάν είναι μηδέν. Εάν ένας σύνθετος τελεστής έχει τουλάχιστον ένα μέρος (πραγματικό ή φανταστικό) που δεν είναι μηδέν, τότε ένας τέτοιος τελεστής αντιμετωπίζεται ως αληθής.

Αριθμητικοί Πίνακες

Για να δημιουργήσετε έναν μονοδιάστατο πίνακα, μπορείτε να χρησιμοποιήσετε τη λειτουργία συνένωσης, η οποία υποδεικνύεται χρησιμοποιώντας αγκύλες. Τα στοιχεία του πίνακα τοποθετούνται ανάμεσα σε αγκύλες και χωρίζονται μεταξύ τους με κενό ή κόμμα:

"al=; d=;

Για να αποκτήσετε πρόσβαση σε ένα μεμονωμένο στοιχείο ενός πίνακα, πρέπει να χρησιμοποιήσετε μια λειτουργία ευρετηρίασης, για την οποία μετά το όνομα του στοιχείου, καθορίστε το ευρετήριο στοιχείου σε παρένθεση.

Μπορείτε να αλλάξετε τα στοιχεία ενός ήδη σχηματισμένου πίνακα χρησιμοποιώντας λειτουργίες ευρετηρίασης και εκχώρησης. Για παράδειγμα, εισάγοντας:

θα αλλάξουμε το τρίτο στοιχείο του πίνακα. Ή, μετά την εισαγωγή:

» al(2)=(al(1)+al(3))/2;

το δεύτερο στοιχείο του πίνακα θα γίνει ίσο με τον αριθμητικό μέσο όρο του πρώτου και του τρίτου στοιχείου. Η εγγραφή ενός ανύπαρκτου στοιχείου είναι απολύτως αποδεκτή - σημαίνει προσθήκη ενός νέου στοιχείου σε έναν ήδη υπάρχοντα πίνακα:

Μετά την εκτέλεση αυτής της λειτουργίας, εφαρμόζοντας τη συνάρτηση μήκους στον πίνακα a1, διαπιστώνουμε ότι ο αριθμός των στοιχείων στον πίνακα έχει αυξηθεί σε τέσσερα:

Η ίδια ενέργεια - "επέκταση πίνακα a1" - μπορεί να πραγματοποιηθεί χρησιμοποιώντας τη λειτουργία συνένωσης:

Μπορείτε να ορίσετε έναν πίνακα γράφοντας όλα τα στοιχεία του ξεχωριστά:

» a3(1)=67; a3(2)=7,8; a3(3)=0,017;

Ωστόσο, αυτή η μέθοδος δημιουργίας δεν είναι αποτελεσματική. Ένας άλλος τρόπος δημιουργίας ενός μονοδιάστατου πίνακα βασίζεται στη χρήση μιας ειδικής συνάρτησης, που υποδηλώνεται με άνω και κάτω τελεία (η λειτουργία σχηματισμού ενός εύρους αριθμητικών τιμών). Χωρισμένα με άνω και κάτω τελεία, εισαγάγετε τον πρώτο αριθμό του εύρους, το βήμα (αύξηση) και τον τελικό αριθμό του εύρους. Για παράδειγμα:

" diap=3.7:0.3:8.974;

Εάν δεν χρειάζεται να εμφανίσετε ολόκληρο τον πίνακα που προκύπτει, τότε στο τέλος του συνόλου (μετά τον τελικό αριθμό του εύρους) θα πρέπει να πληκτρολογήσετε ένα ερωτηματικό. Για να μάθετε πόσα στοιχεία υπάρχουν σε έναν πίνακα, καλέστε τη συνάρτηση μήκος (όνομα πίνακα).

Για να δημιουργήσετε έναν δισδιάστατο πίνακα (μήτρα), μπορείτε επίσης να χρησιμοποιήσετε τη λειτουργία συνένωσης. Τα στοιχεία του πίνακα πληκτρολογούνται το ένα μετά το άλλο ανάλογα με τη θέση τους στις γραμμές, χρησιμοποιώντας ένα ερωτηματικό ως διαχωριστικό γραμμής.

Μπείτε από το πληκτρολόγιο:

"α=

Πατάμε ENTER και παίρνουμε:

Ο προκύπτων πίνακας 3x2 a (ο αριθμός των σειρών υποδεικνύεται πρώτος, ο αριθμός των στηλών υποδεικνύεται δεύτερος) μπορεί επίσης να σχηματιστεί με κάθετη συνένωση διανυσμάτων σειρών:

» a=[;;];

ή οριζόντια συνένωση διανυσμάτων στηλών:

» a=[,];

Η δομή των δημιουργημένων πινάκων μπορεί να βρεθεί χρησιμοποιώντας την εντολή whos(όνομα πίνακα), τη διάσταση του πίνακα - με τη συνάρτηση ndims και το μέγεθος του πίνακα - μέγεθος.

Οι δισδιάστατοι πίνακες μπορούν επίσης να οριστούν χρησιμοποιώντας τη λειτουργία ευρετηρίασης, καταγράφοντας τα στοιχεία του ξεχωριστά. Υποδεικνύεται ο αριθμός της γραμμής και της στήλης στην τομή των οποίων βρίσκεται το καθορισμένο στοιχείο πίνακα, χωριζόμενος με κόμμα μέσα σε παρένθεση. Για παράδειγμα:

» a(1,1)=1; a(1,2)=2; a(2,1)=3; » a(2,2)=4; a(3,1)=5; a(3,2)=6;

Ωστόσο, θα είναι πολύ πιο αποτελεσματικό εάν, πριν ξεκινήσετε να γράφετε στοιχεία πίνακα, δημιουργήσετε έναν πίνακα του απαιτούμενου μεγέθους χρησιμοποιώντας τις συναρτήσεις ones (m,n) ή zeros(m,n), γεμάτες με μονάδες ή μηδενικά (m είναι ο αριθμός των σειρών, n είναι ο αριθμός των στηλών). Όταν καλούνται αυτές οι συναρτήσεις, η μνήμη εκχωρείται πρώτα για το καθορισμένο μέγεθος του πίνακα· μετά από αυτό, η σταδιακή αντιστοίχιση των στοιχείων με τις απαιτούμενες τιμές δεν απαιτεί αναδιάρθρωση της δομής μνήμης που έχει εκχωρηθεί για τον πίνακα. Αυτές οι συναρτήσεις μπορούν επίσης να χρησιμοποιηθούν κατά τον καθορισμό συστοιχιών άλλων διαστάσεων.

Εάν, μετά το σχηματισμό του πίνακα X, πρέπει να αλλάξετε τις διαστάσεις του χωρίς να αλλάξετε τα στοιχεία του πίνακα, μπορείτε να χρησιμοποιήσετε τη συνάρτηση αναμόρφωσης (X, M, N), όπου M και N είναι τα νέα μεγέθη του πίνακα X

Η λειτουργία αυτής της λειτουργίας μπορεί να εξηγηθεί μόνο με βάση τον τρόπο που το σύστημα MATLAB αποθηκεύει στοιχεία πίνακα στη μνήμη του υπολογιστή. Τα αποθηκεύει σε μια συνεχόμενη περιοχή μνήμης, ταξινομημένα κατά στήλες: τα στοιχεία της πρώτης στήλης βρίσκονται πρώτα, ακολουθούμενα από τα στοιχεία της δεύτερης στήλης κ.λπ. Εκτός από τα ίδια τα δεδομένα (στοιχεία πίνακα), οι πληροφορίες ελέγχου αποθηκεύονται επίσης στη μνήμη του υπολογιστή: τύπος πίνακα (για παράδειγμα, διπλός), διάσταση και μέγεθος πίνακα και άλλες πληροφορίες υπηρεσίας. Αυτές οι πληροφορίες είναι επαρκείς για τον προσδιορισμό των ορίων των στηλών. Επομένως, για να διαμορφώσετε ξανά μια μήτρα χρησιμοποιώντας τη συνάρτηση επανασχηματισμού, αρκεί να αλλάξετε μόνο τις πληροφορίες της υπηρεσίας και να μην αγγίξετε τα δικά σας δεδομένα.

Μπορείτε να ανταλλάξετε τις σειρές ενός πίνακα με τις στήλες του χρησιμοποιώντας τη λειτουργία μεταφοράς, η οποία υποδεικνύεται με το σύμβολο." (κουκκίδα και απόστροφος). Για παράδειγμα,

"A=;

Η πράξη " (απόστροφη) εκτελεί μεταφορά για πραγματικούς πίνακες και μεταφορά με ταυτόχρονη μιγαδική σύζευξη για μιγαδικούς πίνακες.

Τα αντικείμενα με τα οποία δουλεύει το MATLAB είναι πίνακες. Ακόμη και ένας μόνο δεδομένος αριθμός στην εσωτερική αναπαράσταση του MATLAB είναι ένας πίνακας που αποτελείται από ένα στοιχείο. Το MATLAB σάς επιτρέπει να κάνετε υπολογισμούς με τεράστιες συστοιχίες αριθμών τόσο εύκολα όσο και με μεμονωμένους αριθμούς, και αυτό είναι ένα από τα πιο αξιοσημείωτα και σημαντικά πλεονεκτήματα του συστήματος MATLAB σε σχέση με άλλα πακέτα λογισμικού που επικεντρώνονται στον υπολογισμό και τον προγραμματισμό. Εκτός από τη μνήμη που απαιτείται για την αποθήκευση αριθμητικών στοιχείων (8 byte το καθένα στην περίπτωση πραγματικών αριθμών και 16 bytes το καθένα στην περίπτωση μιγαδικών αριθμών), το MATLAB εκχωρεί αυτόματα μνήμη για πληροφορίες ελέγχου κατά τη δημιουργία πινάκων.

Υπολογισμοί Πίνακα

Στις παραδοσιακές γλώσσες προγραμματισμού, οι υπολογισμοί του πίνακα γίνονται στοιχείο προς στοιχείο, με την έννοια ότι πρέπει να προγραμματίσετε κάθε μεμονωμένη λειτουργία σε ένα ξεχωριστό στοιχείο του πίνακα. Η γλώσσα M του συστήματος MATLAB επιτρέπει ισχυρές ομαδικές λειτουργίες σε ολόκληρη τη συστοιχία ταυτόχρονα. Είναι οι ομαδικές λειτουργίες του συστήματος MATLAB που καθιστούν δυνατό τον εξαιρετικά συμπαγή ορισμό εκφράσεων, ο υπολογισμός των οποίων στην πραγματικότητα απαιτεί τεράστιο όγκο εργασίας.

Οι πράξεις πρόσθεσης και αφαίρεσης πίνακα υποδεικνύονται με τυπικά σύμβολα + και -.

Καθορίστε τους πίνακες Α και Β και εκτελέστε τη λειτουργία προσθήκης πίνακα:

"A=; B=;

Εάν χρησιμοποιούνται τελεστές διαφορετικών μεγεθών, εκδίδεται ένα μήνυμα σφάλματος, εκτός εάν ένας από τους τελεστές είναι βαθμωτός. Κατά την εκτέλεση της λειτουργίας A + βαθμωτό (A - matrix), το σύστημα θα επεκτείνει το βαθμωτό σε έναν πίνακα μεγέθους Α, ο οποίος στη συνέχεια προστίθεται στοιχείο προς στοιχείο με το A.

Για τον πολλαπλασιασμό στοιχείο προς στοιχείο και τη διαίρεση στοιχείου προς στοιχείο πινάκων του ίδιου μεγέθους, καθώς και για την εκτίμηση πινάκων ανά στοιχείο, χρησιμοποιούνται πράξεις, που υποδηλώνονται με συνδυασμούς δύο συμβόλων: .*, ./, και.^. Η χρήση συνδυασμών συμβόλων εξηγείται από το γεγονός ότι τα σύμβολα * και / δηλώνουν ειδικές πράξεις γραμμικής άλγεβρας σε διανύσματα και πίνακες.

Εκτός από την πράξη./, που ονομάζεται λειτουργία της διαίρεσης κατά το δεξιό στοιχείο, υπάρχει επίσης η λειτουργία της διαίρεσης κατά το αριστερό στοιχείο.\. Η διαφορά μεταξύ αυτών των πράξεων: η έκφραση A./B οδηγεί σε έναν πίνακα με στοιχεία A (k, m) /B (k, m) και η έκφραση A.\B οδηγεί σε έναν πίνακα με στοιχεία B (k, m ) /A (k , m).

Το σύμβολο * αποδίδεται στον πολλαπλασιασμό πινάκων και διανυσμάτων με την έννοια της γραμμικής άλγεβρας.

Το σύμβολο \ εκχωρείται στο σύστημα MATLAB στη λύση ενός μάλλον πολύπλοκου προβλήματος γραμμικής άλγεβρας - εύρεση των ριζών ενός συστήματος γραμμικών εξισώσεων. Για παράδειγμα, εάν πρέπει να λύσετε ένα σύστημα γραμμικών εξισώσεων Ay = b, όπου A είναι ένας δεδομένος τετραγωνικός πίνακας μεγέθους N´N, b είναι ένα δεδομένο διάνυσμα στήλης μήκους N, τότε για να βρείτε το άγνωστο διάνυσμα στήλης y είναι αρκετά για να υπολογιστεί η έκφραση A\b (αυτό ισοδυναμεί με την πράξη : A -1 B).

Τυπικά προβλήματα αναλυτικής γεωμετρίας στο χώρο που σχετίζονται με την εύρεση των μηκών των διανυσμάτων και των γωνιών μεταξύ τους, με τον υπολογισμό κλιμακωτών και διανυσματικών προϊόντων, επιλύονται εύκολα με διάφορα μέσα του συστήματος MATLAB. Για παράδειγμα, για να βρείτε το διανυσματικό γινόμενο των διανυσμάτων, χρησιμοποιείται μια ειδική συνάρτηση διασταύρωσης, για παράδειγμα:

"u=; v=;

Το γινόμενο κουκίδων των διανυσμάτων μπορεί να υπολογιστεί χρησιμοποιώντας τη συνάρτηση αθροίσματος γενικού σκοπού, η οποία υπολογίζει το άθροισμα όλων των στοιχείων των διανυσμάτων (για πίνακες, αυτή η συνάρτηση υπολογίζει τα αθροίσματα για όλες τις στήλες). Το κλιμακωτό γινόμενο, όπως είναι γνωστό, ισούται με το άθροισμα των γινομένων των αντίστοιχων συντεταγμένων (στοιχείων) των διανυσμάτων. Έτσι, η έκφραση: » sum(u.*v)

υπολογίζει το βαθμωτό γινόμενο δύο διανυσμάτων u και v. Το γινόμενο κουκίδων μπορεί επίσης να υπολογιστεί ως: u*v".

Το μήκος του διανύσματος υπολογίζεται χρησιμοποιώντας το γινόμενο κουκίδων και τη συνάρτηση τετραγωνικής ρίζας, για παράδειγμα:

» sqrt(sum(u.*u))

Οι σχεσιακές και λογικές πράξεις που συζητήθηκαν προηγουμένως για τους βαθμωτούς εκτελούνται στοιχείο προς στοιχείο στην περίπτωση πινάκων. Και οι δύο τελεστές πρέπει να έχουν το ίδιο μέγεθος για να επιστρέψει η λειτουργία ένα αποτέλεσμα του ίδιου μεγέθους. Στην περίπτωση που ένας από τους τελεστές είναι βαθμωτός, εκτελείται η προκαταρκτική επέκτασή του, η έννοια της οποίας έχει ήδη εξηγηθεί χρησιμοποιώντας το παράδειγμα αριθμητικών πράξεων.

Μεταξύ των συναρτήσεων που δημιουργούν πίνακες με δεδομένες ιδιότητες, η συνάρτηση χρησιμοποιείται συχνά μάτι, που παράγει μοναδιαίους τετραγωνικούς πίνακες, καθώς και τη συνάρτηση rand, η οποία χρησιμοποιείται ευρέως στην πράξη, η οποία δημιουργεί έναν πίνακα με τυχαία στοιχεία ομοιόμορφα κατανεμημένα στο διάστημα από το 0 έως το 1. Για παράδειγμα, η έκφραση

δημιουργεί έναν πίνακα 3x3 τυχαίων αριθμών με στοιχεία ομοιόμορφα κατανεμημένα στο διάστημα από το 0 έως το 1.

Εάν καλέσετε αυτήν τη συνάρτηση με δύο ορίσματα, για παράδειγμα R=rand(2,3), θα λάβετε έναν πίνακα 2x3 R με τυχαία στοιχεία. Η κλήση της συνάρτησης rand με τρία ή περισσότερα βαθμωτά ορίσματα παράγει πολυδιάστατους πίνακες τυχαίων αριθμών.

Η ορίζουσα ενός τετραγωνικού πίνακα υπολογίζεται χρησιμοποιώντας τη συνάρτηση det. Μεταξύ των συναρτήσεων που εκτελούν τους απλούστερους υπολογισμούς σε πίνακες, εκτός από τη συνάρτηση αθροίσματος που συζητήθηκε παραπάνω, χρησιμοποιείται και η συνάρτηση prod, η οποία είναι από κάθε άποψη παρόμοια με τη συνάρτηση αθροίσματος, μόνο που υπολογίζει όχι το άθροισμα των στοιχείων, αλλά το γινόμενο τους . Οι συναρτήσεις max και min αναζητούν το μέγιστο και το ελάχιστο στοιχείο των πινάκων, αντίστοιχα. Για τα διανύσματα επιστρέφουν μια ενιαία αριθμητική τιμή και για τους πίνακες παράγουν ένα σύνολο ακραίων στοιχείων που υπολογίζονται για κάθε στήλη. Η συνάρτηση ταξινόμησης ταξινομεί τα στοιχεία μονοδιάστατων πινάκων με αύξουσα σειρά και για πίνακες εκτελεί μια τέτοια ταξινόμηση για κάθε στήλη ξεχωριστά.

Το MATLAB έχει τη μοναδική ικανότητα να εκτελεί υπολογισμούς παρτίδας σε πίνακες χρησιμοποιώντας συνηθισμένες μαθηματικές συναρτήσεις που στις παραδοσιακές γλώσσες προγραμματισμού λειτουργούν μόνο με βαθμωτά ορίσματα. Ως αποτέλεσμα, με τη βοήθεια εξαιρετικά συμπαγών εγγραφών που είναι βολικές για είσοδο από το πληκτρολόγιο στη διαδραστική λειτουργία εργασίας με το παράθυρο εντολών του συστήματος MATLAB, είναι δυνατή η εκτέλεση μεγάλου όγκου υπολογισμών. Για παράδειγμα, μόνο δύο σύντομες εκφράσεις

"x=0:0.01:pi/2; y=sin(x);

υπολογίστε τις τιμές της συνάρτησης sin σε 158 σημεία ταυτόχρονα, σχηματίζοντας δύο διανύσματα x και y με 158 στοιχεία το καθένα.

Γραφικές συναρτήσεις

Οι δυνατότητες γραφικών του MATLAB είναι ισχυρές και ποικίλες. Ας εξερευνήσουμε τις πιο εύχρηστες λειτουργίες (γραφικά υψηλού επιπέδου).

Σχηματίστε δύο διανύσματα x και y:

» x=0:0.01:2; y=sin(x);

Καλέστε τη συνάρτηση:

και θα εμφανιστεί ένα γράφημα της συνάρτησης στην οθόνη (Εικ. 1).

Ρύζι. 1. Γράφημα της συνάρτησης y=sin(x)

Το MATLAB εμφανίζει αντικείμενα γραφικών σε ειδικά παράθυρα γραφικών που έχουν τη λέξη Figure στον τίτλο. Χωρίς να αφαιρέσετε το πρώτο παράθυρο γραφικών από την οθόνη, εισαγάγετε τις εκφράσεις από το πληκτρολόγιο

και λάβετε ένα νέο γράφημα της συνάρτησης στο ίδιο παράθυρο γραφικών (σε αυτήν την περίπτωση, οι παλιοί άξονες συντεταγμένων και το γράφημα εξαφανίζονται - αυτό μπορεί επίσης να επιτευχθεί με την εντολή clf· η εντολή cla διαγράφει μόνο το γράφημα με τους άξονες συντεταγμένων που μεταφέρονται στο το πρότυπό τους κυμαίνεται από 0 έως 1).

Εάν πρέπει να σχεδιάσετε ένα δεύτερο γράφημα "πάνω από το πρώτο γράφημα", τότε πριν καλέσετε ξανά τη συνάρτηση γραφικών γραφικών, πρέπει να εκτελέσετε την εντολή αναμονής, η οποία έχει σχεδιαστεί για να κρατά το τρέχον παράθυρο γραφικών:

» x=0:0.01:2; y=sin(x);

Σχεδόν το ίδιο θα συμβεί (Εικ. 2), αν πληκτρολογήσετε:

» x=0:0.01:2; y=sin(x); z=cos(x);

» plot(x,y,x,z)

Ρύζι. 2. Γραφήματα συναρτήσεων y=sin(x), z=cos(x), σε ένα γραφικό παράθυρο

Εάν χρειάζεται να απεικονίσετε ταυτόχρονα πολλά γραφήματα, έτσι ώστε να μην παρεμβαίνουν μεταξύ τους, τότε αυτό μπορεί να γίνει με δύο τρόπους. Η πρώτη λύση είναι να τα σχεδιάσετε σε διαφορετικά παράθυρα γραφικών. Για να το κάνετε αυτό, πριν καλέσετε ξανά τη συνάρτηση σχεδίασης, πληκτρολογήστε την εντολή σχήματος, η οποία δημιουργεί ένα νέο παράθυρο γραφικών και αναγκάζει όλες τις επόμενες συναρτήσεις σχεδίασης να τις εμφανίζουν εκεί.

Μια δεύτερη λύση για την εμφάνιση πολλών γραφημάτων χωρίς συγκρουσιακά εύρη αξόνων είναι η χρήση της συνάρτησης υπογραφήματος. Αυτή η λειτουργία σάς επιτρέπει να διαιρέσετε την περιοχή εξόδου γραφικών πληροφοριών σε πολλές υποπεριοχές, σε καθεμία από τις οποίες μπορείτε να εμφανίσετε γραφήματα διαφόρων λειτουργιών.

Για παράδειγμα, για υπολογισμούς που πραγματοποιήθηκαν προηγουμένως με τις συναρτήσεις sin και cos, σχεδιάστε αυτές τις δύο συναρτήσεις στην πρώτη υποπεριοχή και σχεδιάστε τη συνάρτηση exp(x) στη δεύτερη υποπεριοχή του ίδιου παραθύρου γραφικών (Εικ. 3):

» subplot(1,2,1); γραφική παράσταση (x,y,x,z)

» subplot(1,2,2); οικόπεδο (x,w)

Ρύζι. 3. Γραφήματα των συναρτήσεων y=sin(x), z=cos(x) και w=exp(x), γραφικά σε δύο υποπεριοχές ενός γραφικού παραθύρου

Τα εύρη μεταβολής των μεταβλητών στους άξονες συντεταγμένων αυτών των υποπεριοχών είναι ανεξάρτητα μεταξύ τους. Η συνάρτηση subplot παίρνει τρία αριθμητικά επιχειρήματα, το πρώτο από τα οποία είναι ίσο με τον αριθμό των σειρών των υποπεριοχών, το δεύτερο είναι ίσο με τον αριθμό των στηλών των υποπεριοχών και το τρίτο όρισμα είναι ο αριθμός της υποπεριοχής (ο αριθμός υπολογίζεται κατά μήκος οι σειρές με μετάβαση σε νέα σειρά όταν εξαντληθούν). Μπορείτε να απενεργοποιήσετε τη λειτουργία subplot με την εντολή:

» subplot(1,1,1)

Εάν το εύρος των αλλαγών σε μεταβλητές κατά μήκος ενός ή και των δύο αξόνων συντεταγμένων είναι πολύ μεγάλο για ένα μεμονωμένο γράφημα, τότε μπορείτε να χρησιμοποιήσετε τις συναρτήσεις για τη σχεδίαση γραφημάτων σε λογαριθμικές κλίμακες. Οι συναρτήσεις semilogx, semilogy και loglog έχουν σχεδιαστεί για αυτό το σκοπό.

Μπορείτε να σχεδιάσετε ένα γράφημα συνάρτησης σε πολικές συντεταγμένες (Εικ. 4) χρησιμοποιώντας τη συνάρτηση πολικού γραφήματος.

» phi=0:0.01:2*pi; r=sin(3*phi);

Ρύζι. 4. Γράφημα της συνάρτησης r=sin(3*phi) σε πολικές συντεταγμένες

Ας εξετάσουμε πρόσθετες λειτουργίες που σχετίζονται με τη διαχείριση της εμφάνισης των γραφημάτων - τον καθορισμό του χρώματος και του στυλ των γραμμών, καθώς και την τοποθέτηση διαφόρων ετικετών στο παράθυρο γραφικών. Για παράδειγμα, εντολές

» x=0:0.1:3; y=sin(x);

» plot(x,y,"r-",x,y, "ko")

σας επιτρέπουν να δώσετε στο γράφημα την εμφάνιση μιας κόκκινης συνεχούς γραμμής (Εικ. 5), στην οποία σημειώνονται μαύροι κύκλοι σε διακριτά υπολογιζόμενα σημεία. Εδώ, η συνάρτηση plot σχεδιάζει την ίδια συνάρτηση δύο φορές, αλλά σε δύο διαφορετικά στυλ. Το πρώτο από αυτά τα στυλ φέρει την ένδειξη "r-", που σημαίνει ότι σχεδιάζω μια γραμμή με κόκκινο χρώμα (το γράμμα r) και το stroke σημαίνει ότι σχεδιάζω μια συμπαγή γραμμή. Το δεύτερο στυλ, με την ένδειξη "ko", σημαίνει ότι σχεδιάζετε κύκλους (γράμμα ο) με μαύρο χρώμα (γράμμα k) στη θέση των υπολογιζόμενων σημείων.

Ρύζι. 5. Σχεδίαση της συνάρτησης y=sin(x) σε δύο διαφορετικά στυλ

Γενικά, η γραφική παράσταση συνάρτησης (x1, y1, s1, x2, y2, s2, ...) σας επιτρέπει να συνδυάσετε πολλά γραφήματα των συναρτήσεων y1(x1), y2(x2), ... σε ένα παράθυρο γραφικών με σχεδιάζοντάς τα με τα στυλ s1, s2, ... κ.λπ.

Τα στυλ s1, s2,... καθορίζονται ως ένα σύνολο τριών δεικτών χαρακτήρων που περικλείονται σε μονά εισαγωγικά (απόστροφα). Ένας από αυτούς τους δείκτες καθορίζει τον τύπο γραμμής (Πίνακας 3). Ένας άλλος δείκτης ορίζει το χρώμα (Πίνακας 4). Ο τελευταίος δείκτης καθορίζει τον τύπο των «σημείων» που θα τοποθετηθούν (Πίνακας 5). Δεν μπορείτε να καθορίσετε και τους τρεις δείκτες. Στη συνέχεια χρησιμοποιούνται οι προεπιλεγμένοι δείκτες. Η σειρά με την οποία καθορίζονται οι δείκτες δεν είναι σημαντική, δηλαδή τα "r+-" και "-+r" παράγουν το ίδιο αποτέλεσμα.

Πίνακας 3. Δείκτες που καθορίζουν τον τύπο γραμμής

Πίνακας 4 Δείκτες που ορίζουν το χρώμα της γραμμής

Πίνακας 5 Δείκτες που καθορίζουν τον τύπο του σημείου

Εάν βάλετε δείκτη στον τύπο σημείου στη γραμμή στυλ, αλλά δεν βάλετε δείκτη στον τύπο γραμμής, τότε εμφανίζονται μόνο τα υπολογισμένα σημεία και δεν συνδέονται με συνεχή γραμμή.


Το MATLAB θέτει τα όρια στον οριζόντιο άξονα στις τιμές που καθορίζονται από τον χρήστη για την ανεξάρτητη μεταβλητή. Για μια εξαρτημένη μεταβλητή κατά μήκος του κατακόρυφου άξονα, το MATLAB υπολογίζει ανεξάρτητα το εύρος των αλλαγών στις τιμές της συνάρτησης. Εάν πρέπει να εγκαταλείψετε αυτή τη δυνατότητα κλιμάκωσης κατά τη σχεδίαση γραφημάτων στο σύστημα MATLAB, τότε πρέπει να επιβάλετε ρητά τα όριά σας στην αλλαγή των μεταβλητών κατά μήκος των αξόνων συντεταγμένων. Αυτό γίνεται χρησιμοποιώντας τη συνάρτηση axis().

Για να τοποθετήσετε διάφορες επιγραφές στην εικόνα που προκύπτει, χρησιμοποιήστε τις συναρτήσεις xlabel, ylabel, τίτλο και κείμενο. Η συνάρτηση xlabel δημιουργεί μια ετικέτα για τον οριζόντιο άξονα και η συνάρτηση ylabel δημιουργεί επίσης μια ετικέτα για τον κατακόρυφο άξονα (και αυτές οι ετικέτες προσανατολίζονται κατά μήκος των αξόνων συντεταγμένων). Εάν θέλετε να τοποθετήσετε μια επιγραφή σε ένα αυθαίρετο σημείο της εικόνας, χρησιμοποιήστε τη λειτουργία κειμένου. Ο γενικός τίτλος για το γράφημα δημιουργείται από τη συνάρτηση τίτλου. Επιπλέον, χρησιμοποιώντας την εντολή grid on, μπορείτε να εφαρμόσετε ένα πλέγμα μέτρησης σε ολόκληρη την περιοχή σχεδίασης. Για παράδειγμα (Εικ. 6):

» x=0:0.1:3; y=sin(x);

» plot(x,y,"r-",x,y,"ko")

»title("Γράφημα συνάρτησης sin(x)");

» xlabel("xcoordinate"); ylabel("sin(x)");

» text(2.1, 0.9, "\leftarrowsin(x)"); πλέγμα ενεργοποιημένο

Η συνάρτηση κειμένου τοποθετεί μια επιγραφή ξεκινώντας από το σημείο με τις συντεταγμένες που καθορίζονται από τα δύο πρώτα ορίσματα. Από προεπιλογή, οι συντεταγμένες καθορίζονται στις ίδιες μονάδες με τις συντεταγμένες που καθορίζονται στον οριζόντιο και τον κατακόρυφο άξονα. Οι ειδικοί χαρακτήρες ελέγχου εισάγονται στο κείμενο μετά τον χαρακτήρα \ (πίσω κάθετο).

3D γραφικά

Κάθε σημείο στο χώρο χαρακτηρίζεται από τρεις συντεταγμένες. Ένα σύνολο σημείων που ανήκουν σε μια συγκεκριμένη γραμμή στο χώρο πρέπει να καθοριστεί με τη μορφή τριών διανυσμάτων, το πρώτο από τα οποία περιέχει τις πρώτες συντεταγμένες αυτών των σημείων, το δεύτερο διάνυσμα - τις δεύτερες συντεταγμένες τους, το τρίτο διάνυσμα - τις τρίτες συντεταγμένες. Μετά από αυτό, αυτά τα τρία διανύσματα μπορούν να τροφοδοτηθούν στην είσοδο της συνάρτησης plot3, η οποία θα προβάλει την αντίστοιχη τρισδιάστατη γραμμή στο επίπεδο και θα κατασκευάσει την εικόνα που προκύπτει (Εικ. 7). Μπείτε από το πληκτρολόγιο:

» t=0:pi/50:10*pi; x=sin(t);

» y=cos(t); plot3(x,y,t); πλέγμα ενεργοποιημένο

Ρύζι. 7. Γράφημα έλικας σχεδιάστηκε χρησιμοποιώντας τη συνάρτηση plot3

Η ίδια συνάρτηση plot3 μπορεί επίσης να χρησιμοποιηθεί για την απεικόνιση επιφανειών στο χώρο, αν, φυσικά, δεν σχεδιάσετε μόνο μία γραμμή, αλλά πολλές. Πληκτρολογήστε από το πληκτρολόγιο:

» u=-2:0.1:2; v=-1:0.1:1;

» =meshgrid(u,v);

» z=exp(-X.^2-Y.^2);

Αποκτήστε μια τρισδιάστατη εικόνα του γραφήματος συνάρτησης (Εικ. 8).

Η συνάρτηση plot3 σχεδιάζει ένα γράφημα με τη μορφή ενός συνόλου γραμμών στο χώρο, καθεμία από τις οποίες είναι ένα τμήμα μιας τρισδιάστατης επιφάνειας με επίπεδα παράλληλα προς το επίπεδο yOz. Εκτός από αυτή την απλή λειτουργία, το σύστημα MATLAB διαθέτει μια σειρά από λειτουργίες που σας επιτρέπουν να επιτύχετε μεγαλύτερο ρεαλισμό στην εμφάνιση τρισδιάστατων γραφημάτων.

Ρύζι. 8. Γράφημα επιφάνειας στο χώρο, κατασκευασμένο με τη συνάρτηση plot3


Σενάρια και m-αρχεία.

Για απλές λειτουργίες, η διαδραστική λειτουργία είναι βολική, αλλά εάν οι υπολογισμοί πρέπει να εκτελούνται επανειλημμένα ή πρέπει να εφαρμοστούν πολύπλοκοι αλγόριθμοι, τότε θα πρέπει να χρησιμοποιηθούν αρχεία MATLAB (η επέκταση αρχείου αποτελείται από ένα μόνο γράμμα m). Το script-m-file (ή script) είναι ένα αρχείο κειμένου που περιέχει οδηγίες στο MATLAB που πρέπει να εκτελεστούν σε αυτόματη λειτουργία δέσμης. Είναι πιο βολικό να δημιουργήσετε ένα τέτοιο αρχείο χρησιμοποιώντας τον επεξεργαστή συστήματος MATLAB. Καλείται από το παράθυρο εντολών του MATLAB με την εντολή μενού File/New/M-file (ή το αριστερό κουμπί στη γραμμή εργαλείων, που δείχνει ένα κενό λευκό φύλλο χαρτιού). Οι εντολές που είναι γραμμένες σε αρχεία σεναρίου θα εκτελεστούν εάν εισαγάγετε το όνομα του αρχείου σεναρίου (χωρίς επέκταση) στη γραμμή εντολών. Οι μεταβλητές που ορίζονται στο παράθυρο εντολών και οι μεταβλητές που ορίζονται στα σενάρια αποτελούν έναν ενιαίο χώρο εργασίας του συστήματος MATLAB και οι μεταβλητές που ορίζονται στα σενάρια είναι καθολικές· οι τιμές τους θα αντικαταστήσουν τις τιμές των ίδιων μεταβλητών που χρησιμοποιήθηκαν πριν από την κλήση αυτού του αρχείου σεναρίου .

Μετά τη δημιουργία του κειμένου σεναρίου, πρέπει να αποθηκευτεί στο δίσκο. Η διαδρομή προς τον κατάλογο με το αρχείο πρέπει να είναι γνωστή στο σύστημα MATLAB. Η εντολή File/Set Path καλεί το παράθυρο διαλόγου προβολής διαδρομής καταλόγου. Για να προσθέσετε έναν νέο κατάλογο στη λίστα των μονοπατιών πρόσβασης, πρέπει στη συνέχεια να εκτελέσετε την εντολή μενού Διαδρομή/Προσθήκη στη διαδρομή.