Πώς να αλλάξετε ένα βήμα σε έναν βρόχο για matlab. Δηλώσεις υπό όρους και βρόχοι στο MatLab. Συνδυασμός τελεστών σε αριθμητικές εκφράσεις

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

Στην απλούστερη περίπτωση, ένας βρόχος σε ένα πρόγραμμα οργανώνεται χρησιμοποιώντας την εντολή while, η οποία έχει την ακόλουθη σύνταξη:

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

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

Ακολουθεί ένα παράδειγμα του τρόπου με τον οποίο λειτουργεί ο βρόχος while για τον υπολογισμό του αθροίσματος μιας σειράς:


i=1; % μετρητής ποσού

τέλος % τέλος βρόχου
disp(S); % εμφανίζει το ποσό 210 στην οθόνη

Τώρα ας περιπλέκουμε το πρόβλημα και ας υπολογίσουμε το άθροισμα της σειράς, προς το παρόν. Εδώ, στον τελεστή βρόχου, λαμβάνονται δύο συνθήκες: είτε ο μετρητής για το i φτάνει το 20, είτε η τιμή του αθροίσματος S υπερβαίνει το 20. Αυτή η λογική μπορεί να εφαρμοστεί χρησιμοποιώντας μια σύνθετη υπό όρους έκφραση στον τελεστή βρόχου while:

S = 0; % αρχική αξία του ποσού
i=1; % μετρητής ποσού
ενώ i S=S+i; % υπολογίζεται το ποσό
i=i+1; % αυξάνει τον μετρητή κατά 1
τέλος % τέλος βρόχου

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

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

S = 0; % αρχική αξία του ποσού
i=1; % μετρητής ποσού
ενώ i S=S+i; % υπολογίζεται το ποσό
i=i+1; % αυξάνει τον μετρητή κατά 1
εάν S > 20% εάν S > 20,
Διακοπή; % τότε τελειώνει ο κύκλος
τέλος
τέλος % τέλος βρόχου
disp(S); % εμφάνιση του ποσού 21 στην οθόνη

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

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

a = ;

εξαιρουμένου του στοιχείου στο ευρετήριο 5. Ένα τέτοιο πρόγραμμα μπορεί να γραφτεί ως εξής:

S = 0; % αρχική αξία του ποσού
a = ; % πίνακας
i=0; % μετρητής ευρετηρίου πίνακα
ενώ i % μήκος πίνακα α)
i=i+1; % αυξάνει τον μετρητή ευρετηρίου κατά 1
αν i == 5% αν ο δείκτης είναι 5
να συνεχίσει; % τότε δεν το μετράμε
τέλος
S=S+a(i); % υπολογίζεται το άθροισμα των στοιχείων
τέλος % τέλος βρόχου
disp(S); % εμφανίζει το ποσό 40 στην οθόνη

Θα πρέπει να σημειωθεί ότι σε αυτό το πρόγραμμα, ο δείκτης πίνακα i αυξάνεται πριν ελεγχθεί η συνθήκη. Αυτό γίνεται έτσι ώστε η τιμή του δείκτη να αυξάνεται κατά 1 σε κάθε επανάληψη του βρόχου. Αν η αύξηση του μετρητή i γραφτεί όπως στα προηγούμενα παραδείγματα, δηλ. μετά τον υπολογισμό του αθροίσματος, τότε λόγω του τελεστή συνεχίζει η τιμή του θα σταματούσε στο 5 και ο βρόχος while θα λειτουργούσε «για πάντα».

5.3. Ο τελεστής βρόχου for

Συχνά, όταν οργανώνετε έναν βρόχο, πρέπει να κάνετε επανάληψη μέσω μιας τιμής μετρητή σε ένα δεδομένο εύρος τιμών και με ένα δεδομένο βήμα αλλαγής. Για παράδειγμα, για να επαναλάβετε τα στοιχεία ενός διανύσματος (πίνακας), πρέπει να οργανώσετε έναν μετρητή από το 1 στο N με βήμα 1, όπου N είναι ο αριθμός των στοιχείων του διανύσματος. Για τον υπολογισμό του αθροίσματος της σειράς, καθορίζεται επίσης ένας μετρητής από το a έως το b με το απαιτούμενο βήμα αλλαγής. Και ούτω καθεξής. Λόγω του γεγονότος ότι τέτοιες εργασίες συναντώνται συχνά στην πρακτική προγραμματισμού, προτάθηκε ένας τελεστής βρόχου for για την υλοποίησή τους, ο οποίος καθιστά ευκολότερη και πιο οπτική την υλοποίηση ενός βρόχου με μετρητή.

Η σύνταξη του τελεστή βρόχου for είναι η εξής:

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

a = ;
m = a(1); % τρέχουσα μέγιστη τιμή
για i=1:length(a) % βρόχος από το 1 έως το τέλος του διανύσματος c
% σε βήματα του 1 (προεπιλογή)
αν μ μ,
m = a(i); % τότε m = a(i)
τέλος
τέλος % τέλος του βρόχου for
disp(m);

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

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

a = ;
disp(a);
για i=length(a):-1:2 % κύκλος από 10 έως 2 με βήμα -1
a(i)=a(i-1); % μετατόπιση των στοιχείων του διανύσματος α
τέλος % τέλος του βρόχου for
disp(a);

Αποτέλεσμα του προγράμματος

3 6 5 3 6 9 5 3 1 0
3 3 6 5 3 6 9 5 3 1

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

6. Λύσεις της εξίσωσης

6.1. Γραφική μέθοδος επίλυσης εξισώσεων

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

Αυτό το γράφημα δείχνει τις γραφικές παραστάσεις των συναρτήσεων y=sin(t)/t και (x/5) 2 +y 2 =1. Δεν είναι δύσκολο να παρατηρήσετε ότι αυτές οι συναρτήσεις έχουν τρία σημεία τομής.

6.2. Εύρεση λύσης της εξίσωσης

Η γραφική μέθοδος μπορεί να εκτιμήσει μόνο κατά προσέγγιση τη λύση. Για να βρείτε με μεγαλύτερη ακρίβεια μια λύση στο πακέτο MatLAB, πρέπει να χρησιμοποιήσετε τη συνάρτηση fsolve(εξίσωση, αρχική τιμή). Αργότερα θα μάθουμε πώς να λύνουμε συστήματα εξισώσεων χρησιμοποιώντας αυτή τη συνάρτηση. Στην απλούστερη περίπτωση, η εξίσωση που θα λυθεί μπορεί να καθοριστεί σε μονά εισαγωγικά, για παράδειγμα: "x*x-abs(x)". Αλλά αυτή η συνάρτηση έχει τρεις λύσεις, που φαίνονται στο Σχ.

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

fsolve("x*x-abs(x)", -2), ans = -1.0000;

fsolve("x*x-abs(x)",0.6), ans = 1.0000;

fsolve("x*x-abs(x)",0.4), ans = 7.9062e-008.

Η συνάρτηση fsolve συνεχίζει την επαναληπτική διαδικασία μέχρι να βρει μια λύση με την καθορισμένη ακρίβεια. Γι' αυτό στο παράδειγμά μας πήραμε 7.9062e-008 και όχι 0.

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

7. M-αρχεία

7.1. M-αρχείο

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

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

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

7.2. Πρόγραμμα αρχείων

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

Τώρα αποθηκεύστε το αρχείο με το όνομα mydemo.m στον υποκατάλογο εργασίας του κύριου καταλόγου MatLab επιλέγοντας Αποθήκευση ως από το μενού Αρχείο του προγράμματος επεξεργασίας. Για να εκτελέσετε όλες τις εντολές που περιέχονται στο αρχείο, επιλέξτε Εκτέλεση από το μενού Εντοπισμός σφαλμάτων. Στην οθόνη θα εμφανιστεί ένα γραφικό παράθυρο Φιγούρα 1, που περιέχει γραφήματα συναρτήσεων.

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

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

Το άνοιγμα ενός υπάρχοντος αρχείου M γίνεται χρησιμοποιώντας το στοιχείο Άνοιγμα στο μενού Αρχείο του περιβάλλοντος εργασίας ή το πρόγραμμα επεξεργασίας αρχείων M.

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

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

Παράδειγμα _Function_average_ is_a_fairly_simple_M-file_that_calculates_the_average_value_of_vector_elements:_function_y_=_average_(x)">Παράδειγμα

Η συνάρτηση μέσος όρος είναι ένα αρκετά απλό αρχείο M που υπολογίζει τον μέσο όρο των στοιχείων ενός διανύσματος:
συνάρτηση y = μέσος όρος(x)
% AVERAGE Μέση τιμή των διανυσματικών στοιχείων.
% AVERAGE(X), όπου το X είναι διάνυσμα. Υπολογίζει τον μέσο όρο των στοιχείων ενός διανύσματος.
% Εάν το όρισμα εισόδου δεν είναι διάνυσμα, δημιουργείται ένα σφάλμα.
= μέγεθος (x);
αν (((m == 1) | (n == 1)) | (m == 1 & n == 1))
error ("Ο πίνακας εισόδου πρέπει να είναι διάνυσμα")
τέλος
y = άθροισμα(x)/μήκος(x); % Ο πραγματικός υπολογισμός

Δοκιμάστε να εισαγάγετε αυτές τις εντολές σε ένα αρχείο M που ονομάζεται average.m. Η συνάρτηση μέσου όρου δέχεται μια μεμονωμένη είσοδο και ένα όρισμα εξόδου. Για να καλέσετε τη μέση συνάρτηση, πρέπει να εισαγάγετε τις ακόλουθες δηλώσεις:

z = 1:99;
μέσος όρος(z)
αν = 50

Δομή της συνάρτησης M.Η συνάρτηση M αποτελείται από:


  • Γραμμές ορισμού συνάρτησης.

  • πρώτη γραμμή σχολίου.

  • το ίδιο το σχόλιο?

  • όργανα λειτουργίας·

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

Παράδειγμα
Η γραμμή ορισμού για τη μέση συνάρτηση μοιάζει με αυτό:
συνάρτηση y = μέσος όρος(x)
Εδώ:


  1. συνάρτηση - λέξη-κλειδί που ορίζει τη συνάρτηση M.

  2. y - όρισμα εξόδου.

  3. μέσος όρος - όνομα συνάρτησης.

  4. x είναι το όρισμα εισόδου.
Κάθε συνάρτηση στο MATLAB περιέχει μια γραμμή ορισμού συνάρτησης παρόμοια με την παρακάτω.

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

Παράδειγμα

συνάρτηση = σφαίρα (θήτα, φι, ρο)

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

Πρώτη γραμμή σχολίου . Για τη μέση συνάρτηση, η πρώτη γραμμή του σχολίου μοιάζει με αυτό:

% AVERAGE Μέση τιμή διανυσματικών στοιχείων

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

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

Το όνομα του αρχείου που περιέχει τη συνάρτηση M αποτελείται από το όνομα της συνάρτησης και την επέκταση ".m".

Παράδειγμα

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

Οι βρόχοι στο matlab υποθέτουν ότι μια εντολή ή μια ομάδα εντολών πρέπει
επαναλάβετε πολλές φορές.

Ο ευκολότερος τρόπος για να δημιουργήσετε έναν βρόχο είναι να χρησιμοποιήσετε
για έκφραση Παρακάτω είναι ένα απλό παράδειγμα όπου υπολογίζεται και εμφανίζεται το 10! = 10 * 9 * 8 ... * 2 * 1.

f = 1;
για n =2:10
f = f*n;
τέλος

f =
3628800

Ένας βρόχος στο Matlab ξεκινά με μια έκφραση for και τελειώνει με μια έκφραση τέλους. Ομάδα
μεταξύ αυτών των παραστάσεων εκτελείται συνολικά εννέα φορές, μία φορά για κάθε μία
n τιμές από 2 έως 10. Για να διακόψουμε την ενδιάμεση έξοδο μέσα στον βρόχο,
χρησιμοποίησε ερωτηματικό. Για να δείτε το τελικό αποτέλεσμα, χρειάζεστε
εισάγετε f μετά την ολοκλήρωση του βρόχου. Εάν δεν χρησιμοποιείτε ερωτηματικό, το πρόγραμμα
Το MATLAB θα εμφανίζει κάθε ενδιάμεση τιμή 2!, 3!, κ.λπ.

Στην ενότητα Editor, οι εντολές for και end επισημαίνονται αυτόματα
σε μπλε. Παρέχει καλύτερη αναγνωσιμότητα εάν εισάγετε μεταξύ τους
τους εντολές (πώς το κάναμε)? η ενότητα Editor το κάνει αυτό
αυτομάτως. Εάν εισάγετε για στο παράθυρο εντολών,
Το MATLAB δεν θα εκδώσει μια νέα γραμμή εντολών >> έως ότου εσείς
εισάγετε την εντολή end, η οποία θα κάνει το πρόγραμμα MATLAB να ολοκληρώσει τον βρόχο και
θα εμφανίσει μια νέα γραμμή εντολών.

  • Εάν χρησιμοποιείτε έναν βρόχο σε ένα σενάριο M-file με το εφέ ηχώ στην οθόνη, οι εντολές θα επαναλαμβάνονται κάθε φορά σε όλο τον βρόχο. Μπορείτε να το αποτρέψετε εισάγοντας μια εντολή echo off ακριβώς πριν από την πρόταση τέλους και μια εντολή echo on αμέσως μετά από αυτήν. τότε κάθε εντολή στον βρόχο θα αντικατοπτρίζεται μία φορά (εκτός από το τέλος).

Σημείωση: υπάρχουν τρεις τύποι βρόχων στο matlab, οι οποίοι δίνονται παρακάτω

1. Βρόχος For στο Matlab

a=0;
για i=1:10
a=a+1;
τέλος

2. Ενώ βρόχος στο Matlab

a=0;
ενώ α<10
a=a+1;
τέλος

3. Αν βρόχος στο Matlab

a=10;
αν a==10
"πρώτη περίπτωση"
αλλού
"δεύτερη περίπτωση"
τέλος

ανς =
πρώτη περίπτωση

Επομένως, από τα παραπάνω, μπορούμε να συμπεράνουμε ότι πρέπει να εξετάσετε πολλές πρόσθετες πληροφορίες και εναλλακτικές λύσεις!


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

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

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

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

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

62. Ποια εντολή δημιουργεί ένα M-book σε ένα πρόγραμμα επεξεργασίας κειμένου Λέξησχετίζεται με MatLab?

Έναρξη ενός νέου βιβλίου M Για να ξεκινήσετε τη σύνταξη ενός νέου βιβλίου M, πρέπει: 1) να εκκινήσετε το πρόγραμμα επεξεργασίας του Word. 2) επιλέξτε στο πλαίσιο διαλόγου Λέξηεπιλογή Νέοςαπό το μενού Αρχείο; 3) στο παράθυρο που εμφανίζεται στην οθόνη, επιλέξτε το πρότυπο M-book. Ως αποτέλεσμα αυτών των ενεργειών, το σύστημα θα ξεκινήσει MatLAB, και η εμφάνιση του κύριου μενού του προγράμματος επεξεργασίας Word θα αλλάξει ελαφρώς - θα εμφανιστεί ένα νέο μενού σε αυτό Σημειωματάριο. Αυτό θα δείξει ότι Λέξησυνδεδεμένο σύστημα MatLAB. Εάν τώρα χρησιμοποιείτε το ποντίκι για να ενεργοποιήσετε το μενού Σημειωματάριοπαράθυρο Λέξη, θα εμφανιστεί ένα επιπλέον μενού στην οθόνη

63. Ποια εντολή στο πρόγραμμα επεξεργασίας κειμένου του Word μετατρέπει το κείμενο σε κελί εισόδου MatLab;

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

64. Ποια εντολή στο πρόγραμμα επεξεργασίας κειμένου του Word διασφαλίζει ότι μια εντολή MatLab εκτελείται σε ένα κελί;

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

65. Ποια εντολή στο πρόγραμμα επεξεργασίας κειμένου του Word διασφαλίζει ότι οι εντολές MatLab εκτελούνται σε όλο το M-book;

Οι εντολές όλων των κελιών ή των ομάδων κελιών εισόδου μιας ενότητας εκτελούνται χρησιμοποιώντας το στοιχείο Evaluate Calc Zone και ολόκληρο το M-book ταυτόχρονα – Evaluate M-book

66. Ποια εντολή στο πρόγραμμα επεξεργασίας κειμένου του Word διασφαλίζει ότι οι εντολές του MatLab εκτελούνται αυτόματα σε όλα τα κελιά κατά το άνοιγμα ενός βιβλίου M;

Οι εντολές για κελιά με στυλ Autolnit εκκινούνται αμέσως μετά το άνοιγμα του M-book. Είναι χρήσιμο να συμπεριλάβετε μια σαφή εντολή στο πρώτο τέτοιο κελί για να καθαρίσετε το περιβάλλον εργασίας. Για να ορίσετε το στυλ Autolnit, χρησιμοποιήστε το στοιχείο Define Autoinit Cell στο μενού Notebook

67. Ποια κουμπιά περιέχει ο πίνακας Excel Link σε ένα υπολογιστικό φύλλο Excel όταν συνδέεται με το MatLab;

68. Τι παρέχει η εντολή putmatrix;

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

68. Τι παρέχει η εντολή getmatrix;

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

70. Ποιος είναι ο σκοπός του Simulink;

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

71. Ποια βιβλιοθήκη Simulink περιέχει πηγές σήματος;

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

72. Ποια βιβλιοθήκη Simulink περιέχει εικονικά όργανα εγγραφής;

παλμογράφος Πεδίο από την ενότητα Νεροχύτες.

73. Ποια βιβλιοθήκη Simulink περιέχει μπλοκ διαφοροποίησης και ολοκλήρωσης;

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

74. Ποια βιβλιοθήκη Simulink περιέχει μπλοκ για τον υπολογισμό στοιχειωδών συναρτήσεων;

Παράθυρο βιβλιοθήκης Μαθηματικάπεριέχει μπλοκ για την εκτέλεση μαθηματικών πράξεων

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

75. Πόσες τιμές παραμέτρων βημάτων έχουν οριστεί στο Simulink για ένα μεταβλητό βήμα προσομοίωσης;

Δύο επιλογές επίλυσης στο πεδίο Επιλογές επίλυσης έχουν μεγάλη σημασία: ο τύπος λύσης και η μέθοδος λύσης. Υπάρχουν δύο πιθανές επιλογές για την πρώτη επιλογή:

Επιλύτες μεταβλητού βήματος – λύσεις με μεταβλητά βήματα.

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

Τμήμα: Τεχνολογίες Πληροφορικής

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΕMATLAB

χειριστέςMATLAB

· Δηλώσεις βρόχου

ΚύκλοςΓια

Σύνταξη

για count=start:step:final

Εντολές MATLAB

Περιγραφή

count - μεταβλητή βρόχου,

έναρξη - η αρχική του τιμή,

τελικό - η τελική του αξία,

βήμα - το βήμα κατά το οποίο η μέτρηση αυξάνεται με κάθε επόμενη είσοδο στον βρόχο

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

Παράδειγμα

Ας είναι απαραίτητο να εξαχθεί μια οικογένεια καμπυλών για x€, η οποία καθορίζεται από μια συνάρτηση ανάλογα με την παράμετρο

y (x, a) = e-ax sin x,

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

Καταχώριση προγράμματος

x = ;

για = -0,1:0,02:0,1

y = exp (-a*x).*sin(x);

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

Κύκλοςενώ

Σύνταξη

ενώ κατάσταση βρόχου

Εντολές MATLAB

Περιγραφή

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

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

Παράδειγμα

Διαχειριστές Υποκαταστημάτων

Υπό όρους χειριστήαν

Σύνταξη

εάν προϋπόθεση

Εντολές MATLAB

Περιγραφή

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

Παράδειγμα

Υπό όρους χειριστήotherif

Σύνταξη

εάν συνθήκη 1

elseif συνθήκη 2

………………………

αλλοια συνθήκη

Περιγραφή

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

Παράδειγμα

Χειριστήςδιακόπτης

Σύνταξη

μεταβλητή διακόπτη

τιμή υπόθεσης 1

τιμή υπόθεσης 2

……………………

περίπτωση που σημαίνει

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

Παράδειγμα

Διακοπές του κύκλου. Εξαιρετικές καταστάσεις.

ΧειριστήςΔιακοπή

Σύνταξη

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

εάν προϋπόθεση

Η εντολή break τελειώνει τον βρόχο (for or while) και εκτελούνται οι εντολές που βρίσκονται στις γραμμές που ακολουθούν. Στην περίπτωση των ένθετων βρόχων, το break εξέρχεται από τον εσωτερικό βρόχο.

Εξαίρεση χειρισμός, χειριστήςδοκιμάστεσύλληψη

Σύνταξη

δηλώσεις των οποίων η εκτέλεση

μπορεί να προκαλέσει σφάλμα

δηλώσεις που πρέπει να εκτελεστούν

όταν παρουσιαστεί σφάλμα στο μπλοκ

μεταξύ προσπάθειας και σύλληψης

Περιγραφή

Η κατασκευή try...catch σάς επιτρέπει να παρακάμψετε καταστάσεις εξαίρεσης (λάθη που οδηγούν στον τερματισμό του προγράμματος, για παράδειγμα, πρόσβαση σε ένα ανύπαρκτο αρχείο) και να προβείτε σε ορισμένες ενέργειες εάν προκύψουν.

Παράδειγμα

Υπηρεσίαλειτουργίες

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

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

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

Σαφή- διαγράφει μεταβλητές περιβάλλοντος εργασίας.

Μεlc- διαγράφει το παράθυρο εντολών

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

βοήθειαόνομα_λειτουργίας

Καθήκονταγια την εκτέλεση εργαστηριακών εργασιών

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

Ασκηση1

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

Στόχος της εργασίας:

Είναι απαραίτητο να δημιουργηθεί ένα πρόγραμμα για τον υπολογισμό των συντελεστών ενός αλγεβρικού πολυωνύμου παρεμβολής Πn(Χ)= ένα0 + ένα1 Χ+ + έναnΧn.

Κατευθυντήριες γραμμές:

ΧΕγώ

yΕγώ

Πιθανότητα ένα0 , ένα1 , …, έναnπροσδιορίζονται από την επίλυση του συστήματος των εξισώσεων:

Εδώ n- σειρά του πολυωνύμου παρεμβολής,

n+1 - αριθμός δοσμένων ζευγών πόντων ( Χ, y),

ένα0 , ένα1 ,… έναn- τους απαιτούμενους συντελεστές του πολυωνύμου Πn(Χ)= ένα0 + ένα1 Χ+ + έναnΧn).

Απαιτήσεις προγράμματος

· Ορίστε τα όρια του τμήματος , πάνω στο οποίο κατασκευάζεται το πολυώνυμο παρεμβολής P(x)

· Σετ n- ο αριθμός των τμημάτων παρεμβολής (ή, που είναι το ίδιο, ο βαθμός του πολυωνύμου)

Σημείωση: x0, xn, nεισάγεται από το πληκτρολόγιο.

· Για τη λήψη αρχικών δεδομένων , y) (αριθμός ζευγών πόντων Εγώ, yΕγώ) , από το οποίο κατασκευάζεται το πολυώνυμο παρεμβολής P(x) - n1=n+1) προμηθεύω:

β Εισαγωγή κόμβων που βρίσκονται τυχαία ΧΕγώ, i=0, nαπό το πληκτρολόγιο

ь Υπολογισμός κόμβων ΧΕγώ, i=0, n, που αντιστοιχεί στην ενιαία διάταξη του επιχειρήματος Χστο τμήμα

β Σε παραγράφους. 1,2 τιμές yΕγώ, i=0, nείτε εισάγεται από το πληκτρολόγιο (αν η συνάρτηση πηγής είναι άγνωστη) είτε υπολογίζεται από μια δεδομένη συνάρτηση f(x). Η έκφραση που ορίζει τη συνάρτηση εισάγεται από το πληκτρολόγιο και πρέπει να συμμορφώνεται με τους κανόνες για τη γραφή εκφράσεων στο MATLAB

ь Εισαγωγή δεδομένων ( ΧΕγώ, yΕγώ, i=0, n) από το αρχείο

· Λύστε ένα σύστημα εξισώσεων για τον προσδιορισμό των συντελεστών του πολυωνύμου P(x)

· Κατασκευάστε γραφήματα της αρχικής συνάρτησης πίνακα και του πολυωνύμου P(x)

· Εάν τα δεδομένα πηγής δίνονται ως συνάρτηση f(x), σχεδιάστε το σφάλμα παρεμβολής /f(x) - P(x)/. Υπολογίστε τη μέγιστη απόλυτη τιμή του σφάλματος παρεμβολής σε ένα δεδομένο διάστημα.

Ασκηση2

Παρεμβολή spline

Στόχος της εργασίας:

Είναι απαραίτητο να δημιουργηθεί ένα πρόγραμμα για τον υπολογισμό των συντελεστών και την κατασκευή μιας συνάρτησης spline S(x), «κολλημένη» από κομμάτια πολυωνύμων 3ης τάξης S Εγώ(Χ), που έχουν ειδική φόρμα εγγραφής:

συνάρτηση S Εγώ(Χ) που ορίζεται στο τμήμα,

Απαιτήσεις προγράμματος

Κατά την εκτέλεση αυτής της εργασίας πρέπει:

· Ορίστε τα όρια του τμήματος στο οποίο είναι κατασκευασμένη η συνάρτηση spline S(x).

· Σύνολο n - ο αριθμός των τμημάτων παρεμβολής, σε καθένα από τα οποία κατασκευάζεται το κυβικό πολυώνυμο Si(x).

· Σημείωση: Τα x0, xn, n εισάγονται από το πληκτρολόγιο.

· Οργανώστε την εισαγωγή των αρχικών δεδομένων (x, y) (τον αριθμό των ζευγών σημείων (xi, yi) από τα οποία κατασκευάζεται η συνάρτηση spline S(x), n1=n+1), παρέχοντας:

b Εισαγωγή τυχαίων κόμβων xi, i=0, n από το πληκτρολόγιο

b Υπολογισμός των κόμβων xi, i=0, n, που αντιστοιχούν στην ομοιόμορφη θέση του ορίσματος x στο τμήμα

β Σε παραγράφους. 1,2 οι τιμές των yi, i=0, n είτε εισάγονται από το πληκτρολόγιο (αν η αρχική συνάρτηση είναι άγνωστη) είτε υπολογίζονται από μια δεδομένη συνάρτηση f(x). Η έκφραση που ορίζει τη συνάρτηση εισάγεται από το πληκτρολόγιο και πρέπει να συμμορφώνεται με τους κανόνες για τη γραφή εκφράσεων στο MATLAB

β Εισαγάγετε δεδομένα (xi, yi, i=0, n) από το αρχείο

b S1""(x0)=0, S3""(x3)=0

b S1"(x0)=f "(x0), S3"(x3)=f "(x3)

b S1""(x0)=f "(x0), S3"""(x0)=f "(x3)

· Για τον προσδιορισμό των συντελεστών ενός φυσικού κυβικού spline (οριακές συνθήκες 1), είναι απαραίτητο να λυθεί το ακόλουθο σύστημα εξισώσεων:

Συντελεστές;0 =0,;n =0

· Κατασκευάστε γραφήματα της αρχικής συνάρτησης και των συναρτήσεων spline και για τους τρεις τύπους συνοριακών συνθηκών.

· Κατασκευάστε γραφήματα συναρτήσεων σφάλματος παρεμβολής spline f(x) - S(x) και για τους τρεις τύπους συνοριακών συνθηκών.

Σημείωση:

Στο MATLAB, τα ευρετήρια των μονοδιάστατων και δισδιάστατων πινάκων ξεκινούν από το 1, όχι από το 0. Λάβετε αυτό υπόψη κατά τη σύνταξη του προγράμματος.

Ασκηση№3

Προσέγγιση συνάρτησης με τη μέθοδο των ελαχίστων τετραγώνων (LSM).

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

Στόχος της εργασίας:

Χρειάζεται να δημιουργήσετε ένα πρόγραμμα για την εύρεση των συντελεστών ενός πολυωνύμου; (Χ)= ένα0 + ένα1 * Χ+… έναn * ΧΜμέθοδος ελαχίστων τετραγώνων.

Ας έχουμε, για παράδειγμα, το ακόλουθο σύνολο δεδομένων:

ΧΕγώ

yΕγώ

Η αναζήτηση των απαραίτητων συντελεστών πραγματοποιείται ως εξής:

Οπου n - ποσό πόντων ( Χ, y),

Μ - βαθμός του επιθυμητού πολυωνύμου,

ένα 0 , ένα 1 , …, ένα Μ - τους απαιτούμενους συντελεστές ( ? ( Χ )= ένα 0 + ένα 1 Χ + … + ένα Μ Χ Μ ).

Απαιτήσεις προγράμματος

Κατά την εκτέλεση αυτής της εργασίας πρέπει:

· Ορίστε τα όρια του τμήματος στο οποίο είναι κατασκευασμένη η προσεγγιστική συνάρτηση;(x)=a0+a1*x+… an * xm

· Σύνολο m - βαθμός του πολυωνύμου

· Σημείωση: Τα x1, xn, m εισάγονται από το πληκτρολόγιο.

· Για να λάβετε τα αρχικά δεδομένα (x, y), από τα οποία κατασκευάζεται η κατά προσέγγιση συνάρτηση;(x)=a0+a1*x+… an* xm, δώστε:

b Εισαγωγή τυχαίας θέσης κόμβων xi, i=1, n από το πληκτρολόγιο

b Υπολογισμός των κόμβων xi, i=1, n, που αντιστοιχούν στην ομοιόμορφη θέση του ορίσματος x στο τμήμα

β Σε παραγράφους. 1,2 οι τιμές των yi, i=1, n είτε εισάγονται από το πληκτρολόγιο (αν η αρχική συνάρτηση είναι άγνωστη) είτε υπολογίζονται από μια δεδομένη συνάρτηση f(x). Η έκφραση που ορίζει τη συνάρτηση εισάγεται από το πληκτρολόγιο και πρέπει να συμμορφώνεται με τους κανόνες για τη γραφή εκφράσεων στο MATLAB

β Εισαγάγετε δεδομένα (xi, yi, i=1, n) από το αρχείο

· Να λύσετε το σύστημα των εξισώσεων για τον προσδιορισμό των συντελεστών του πολυωνύμου;(x)

· Κατασκευάστε γραφήματα της αρχικής συνάρτησης πίνακα και πολυωνύμου;(x)

· Εάν τα δεδομένα πηγής δίνονται ως συνάρτηση f(x), σχεδιάστε το σφάλμα παρεμβολής /f(x) - ?(x)/. Υπολογίστε τη μέγιστη απόλυτη τιμή του σφάλματος παρεμβολής σε ένα δεδομένο διάστημα.

Κατά την εκτέλεση του τελευταίου σημείου στο τμήμα πάρτε τουλάχιστον 500 βαθμούς για τους υπολογισμούς

Απαιτήσεις για εργαστηριακές εργασίες

Η έκθεση πρέπει να περιέχει:

1. Δήλωση του προβλήματος

2. Κείμενο προγράμματος

3. Αποτελέσματα δοκιμών

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

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

1. Ανούφριεφ Ι.Ε. Εγχειρίδιο αυτο-οδηγίας Matlab 5.3/6.x - Αγία Πετρούπολη: BHV-Petersburg, 2003. - 736 σελ.: ill.

2. V.P. Dyakonov MATLAB 6.5 SPI/7 + Simulink 5/6 στα μαθηματικά και τη μοντελοποίηση. Σειρά "Επαγγελματική Βιβλιοθήκη". - Μ.: SOLON-Press, 2005. - 576 σελ.: εικ.

3. Anufriev I.E., Smirnov A.B., Smirnova E.N. MathLab 7. - Αγία Πετρούπολη: BHV-Petersburg, 2005. - 1104 σελ.: ill.

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

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

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

επίπεδο 1: στοιχειακή μετατόπιση (."), στοιχειακή εκφορά (.^), ερμιτική συζευγμένη μήτρα μετάθεση ("), εκθετική μήτρα (^);
επίπεδο 2: μονομερής πρόσθεση (+), μοναδική αφαίρεση (-);
επίπεδο 3: πολλαπλασιασμός πίνακα (.*), δεξιά διαίρεση (./), διαίρεση αριστερού πίνακα (.\), πολλαπλασιασμός πίνακα (*), επίλυση συστημάτων γραμμικών εξισώσεων - πράξη (/), πράξη (\);
επίπεδο 4: πρόσθεση (+), αφαίρεση (-);
επίπεδο 5: τελεστής σχηματισμού πίνακα (:).

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

Παράδειγμα

Έστω 2 διανύσματα

A = ;
B = ;

Αποτελέσματα εκτέλεσης χειριστή

C = A./B. ^ 2
Γ = 0,7500 9,0000 0,2000
C = (Α./Β). ^ 2
Γ = 2,2500 81,0000 1,0000
τελείως διαφορετικό.

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

b = sqrt (A(2)) + 2*B (1)
b = 7

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

Σχεσιακούς τελεστές. Οι ακόλουθοι 6 σχεσιακόι τελεστές ορίζονται στο MATLAB:

  • < Меньше
  • <= Меньше или равно
  • > Περισσότερα
  • > = Μεγαλύτερο ή ίσο με
  • == Εξίσου πανομοιότυπο
  • ~ = Όχι ίσο

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

Οι σχεσικοί τελεστές χρησιμοποιούνται συνήθως για την αλλαγή της ακολουθίας εκτέλεσης των δηλώσεων προγράμματος. Επομένως, χρησιμοποιούνται συχνότερα στο σώμα των εντολών if, for, while, switch.

Οι σχεσιακές τελεστές εκτελούνται πάντα στοιχείο προς στοιχείο.

Παράδειγμα.

Ας συγκρίνουμε δύο πίνακες χρησιμοποιώντας την συνθήκη Α

A = ;
B = ;
ΕΝΑ< B

ανς =

1 0 0
0 1 1
1 0 1

Ο προκύπτων πίνακας δείχνει τις θέσεις όπου το στοιχείο Α είναι μικρότερο από το αντίστοιχο στοιχείο Β.

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

Οι σχεσιακοί τελεστές μπορούν να εφαρμοστούν σε πολυδιάστατους πίνακες για τους οποίους μία από τις διαστάσεις είναι μηδέν, με την προϋπόθεση ότι και οι δύο πίνακες έχουν το ίδιο μέγεθος ή ένας από αυτούς είναι βαθμωτός. Ωστόσο, εκφράσεις όπως A == ισχύουν μόνο για πίνακες μεγέθους 0x0 ή 1x1 και διαφορετικά προκαλούν σφάλμα.

Επομένως, ο πιο συνηθισμένος τρόπος για να ελέγξετε εάν ένας πίνακας είναι κενός είναι να χρησιμοποιήσετε τη συνάρτηση isempty(A).

Λογικοί τελεστές. Οι λογικοί τελεστές του συστήματος MATLAB περιλαμβάνουν τους ακόλουθους τελεστές:

& ΚΑΙ
| Ή
~ ΟΧΙ

Εκτός από αυτούς τους τελεστές, ο κατάλογος bitfun περιέχει έναν αριθμό συναρτήσεων που εκτελούν λογικές λειτουργίες bitwise.

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

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

  • Μια Boolean έκφραση με τον τελεστή AND (&) είναι αληθής εάν και οι δύο τελεστές είναι αληθείς. Εάν τα στοιχεία μιας λογικής παράστασης είναι αριθμοί, τότε η παράσταση είναι αληθής εάν και οι δύο τελεστές είναι μη μηδενικοί.

Παράδειγμα
Έστω δύο αριθμητικά διανύσματα:
u = ;
v =
;
και μια λογική έκφραση με τον τελεστή AND (&):
U&v
ανς =

1 0 1 0 0 1
  • Μια Boolean έκφραση με τον τελεστή OR (|) είναι αληθής εάν ένας ή και οι δύο από τους τελεστές της είναι λογικά αληθής. Μια έκφραση είναι ψευδής μόνο εάν και οι δύο τελεστές είναι λογικά ψευδείς.
    Εάν τα στοιχεία μιας λογικής παράστασης είναι αριθμοί, τότε η παράσταση είναι ψευδής εάν και οι δύο τελεστές είναι μηδέν.

Παράδειγμα
Χρησιμοποιούμε τα διανύσματα u και v που ορίζονται παραπάνω και εκτελούμε μια Boolean έκφραση με τον τελεστή OR (|):
U | v
ανς =

1 1 1 1 0 1
  • Μια Boolean έκφραση με τον τελεστή NOT (~) κατασκευάζει μια άρνηση. Το αποτέλεσμα είναι λογικά false αν ο τελεστής είναι αληθής, και true αν ο τελεστής είναι false. Εάν τα στοιχεία μιας λογικής παράστασης είναι αριθμοί, τότε οποιοσδήποτε τελεστής εκτός από το μηδέν γίνεται μηδέν και οποιοσδήποτε μηδενικός τελεστής γίνεται ένα.

Παράδειγμα
Ας χρησιμοποιήσουμε το διάνυσμα u που ορίστηκε παραπάνω και ας κατασκευάσουμε μια λογική έκφραση με τον τελεστή NOT (~):
~ u
ανς =

0 1 0 0 1 0

Λογικές συναρτήσεις. Εκτός από τους λογικούς τελεστές, το MATLAB περιλαμβάνει μια σειρά από λογικές συναρτήσεις:

  • Η συνάρτηση xor(a, b) υλοποιεί τη λειτουργία EXCLUSIVE OR. Μια έκφραση που περιέχει ένα ΑΠΟΚΛΕΙΣΤΙΚΟ Ή είναι αληθής εάν ένας από τους τελεστές της είναι TRUE και ο άλλος είναι FALSE. Για αριθμητικές παραστάσεις, η συνάρτηση επιστρέφει 1 εάν ένας από τους τελεστές είναι μη μηδενικός και ο άλλος είναι μηδέν.

Παράδειγμα
Θεωρήστε δύο αριθμητικούς τελεστές a και b:
a = 1;
b = 1;
Τότε η λειτουργία xor δίνει το αποτέλεσμα:
Xor (α, β)
αν = 0

  • Η συνάρτηση all επιστρέφει 1 εάν όλα τα στοιχεία του διανύσματος είναι αληθή ή μη μηδενικά.

Παράδειγμα
Αφήστε ένα διάνυσμα u να δοθεί και θέλετε να το ελέγξετε για την συνθήκη "είναι όλα τα στοιχεία μικρότερα από 3;" Εάν πληρούται αυτή η συνθήκη, εμφανίζεται το μήνυμα "Όλα τα στοιχεία είναι λιγότερα από 3".
u = ;
αν όλα (u< 3)
Disp ("Όλα τα στοιχεία είναι λιγότερα από 3")
τέλος

Σε αυτήν την περίπτωση, δεν θα εμφανιστεί κανένα μήνυμα, αλλά αν πάρουμε το διάνυσμα u ως διάνυσμα
u =
τότε θα εμφανιστεί ένα μήνυμα
ans = "Όλα τα στοιχεία είναι λιγότερα από 3"

Στην περίπτωση των πινάκων, η συνάρτηση all ελέγχει τις στήλες, δηλαδή είναι προσανατολισμένη στη στήλη.

Παράδειγμα

Α=
όλα (Α)

  • Η οποιαδήποτε συνάρτηση επιστρέφει 1 εάν τουλάχιστον ένα από τα στοιχεία ορίσματος είναι μη μηδενικό. Διαφορετικά, επιστρέφεται 0 Στην περίπτωση επεξεργασίας πίνακα, η οποιαδήποτε συνάρτηση είναι προσανατολισμένη στη στήλη.
  • Οι συναρτήσεις isnan και isinf επιστρέφουν 1 για NaN και Inf, αντίστοιχα. Η συνάρτηση isfinite ισχύει μόνο για ποσότητες που δεν έχουν την τιμή inf ή NaN.

Παράδειγμα
Εξετάστε τη σύμπτυξη δύο αριθμητικών πινάκων Α και Β
A = ;
Β=
;
Ας δημιουργήσουμε έναν πίνακα C και ας εφαρμόσουμε τις συναρτήσεις που αναφέρονται παραπάνω
C = A./B
C=

NaN Inf 0.3333
1.0000 NaN NaN
είναι πεπερασμένο (C) isnan (C) isinf(C)
ανς =
0 0 1
1 0 0
ανς =
1 0 0
0 1 1
ανς =
0 1 0
0 0 0

Μια πλήρης λίστα των λογικών συναρτήσεων του MATLAB περιέχεται στον κατάλογο ops.

εύρεση λειτουργίας. Η συνάρτηση εύρεσης καθορίζει τους δείκτες των στοιχείων του πίνακα που ικανοποιούν μια δεδομένη λογική συνθήκη. Συνήθως χρησιμοποιείται για τη δημιουργία προτύπων σύγκρισης και τη δημιουργία πινάκων ευρετηρίου. Στην πιο κοινή της μορφή, η συνάρτηση k = find(x<условие>) επιστρέφει ένα διάνυσμα δεικτών εκείνων των στοιχείων που ικανοποιούν μια δεδομένη συνθήκη.

Α = μαγεία (4)
Α=

16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1

k = find(A > 8);
A(k) = 100

Α=

100 2 3 100
5 100 100 8
100 7 6 100
4 100 100 1

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

Συνδυασμός τελεστών σε αριθμητικές εκφράσεις

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

Παράδειγμα
Ας δούμε ένα παράδειγμα τελεστή σύγκρισης που συγκρίνει τα αποτελέσματα δύο παραστάσεων
(α*β)< (c*d)
Χρησιμοποιώντας παρενθέσεις, μπορείτε να ελέγξετε τη σειρά των πράξεων
(Α & Β) == (Γ | Δ)

Έλεγχος ακολουθίας εκτέλεσης χειριστή.Υπάρχουν τέσσερις βασικοί τελεστές αλληλουχίας εντολών:

  • Η εντολή if υπό όρους, σε συνδυασμό με τις εντολές else και elseif, εκτελεί μια ομάδα εντολών σύμφωνα με ορισμένες λογικές συνθήκες.
  • Ο χειριστής διακόπτη, σε συνδυασμό με τις εντολές case και αλλιώς, εκτελεί διάφορες ομάδες εντολών ανάλογα με την τιμή κάποιας λογικής συνθήκης.
  • Η υπό όρους εντολή while εκτελεί μια ομάδα εντολών απροσδιόριστο αριθμό φορών, με την επιφύλαξη κάποιας λογικής συνθήκης τερματισμού.
  • Η δήλωση βρόχου for εκτελεί μια ομάδα εντολών σταθερό αριθμό φορών. Όλες οι δηλώσεις ελέγχου περιλαμβάνουν μια δήλωση τέλους για να υποδείξουν το τέλος του μπλοκ στο οποίο λειτουργεί η δήλωση ελέγχου.

Σύνταξη:

Περιγραφή:

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

Παράδειγμα.

αν rem(a, 2) == 0
disp ("a είναι άρτιο")
b = a/2;
τέλος

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

Παράδειγμα.
Έστω ο πίνακας X να δοθεί. Ας γράψουμε τον ακόλουθο τελεστή συνθήκης:
αν Χ
οδηγίες
τέλος

Αυτή η δήλωση είναι ισοδύναμη με την ακόλουθη:
αν όλα (X(:))
οδηγίες
τέλος

Οι εντολές if ... else ... end και if ... elseif ... end εντολές δημιουργούν πρόσθετους κλάδους μέσα στο σώμα της εντολής if:

  • Η δήλωση else δεν περιέχει λογική συνθήκη. Οι δηλώσεις που σχετίζονται με αυτήν εκτελούνται εάν η προηγούμενη πρόταση if (και πιθανώς elseif) είναι ψευδής. Η πρόταση elseif περιέχει μια λογική συνθήκη που αξιολογείται εάν η προηγούμενη πρόταση if (και πιθανώς elseif) είναι ψευδής. Οι εντολές που σχετίζονται με την εντολή elseif εκτελούνται εάν η αντίστοιχη συνθήκη Boole είναι αληθής.
  • Η εντολή elseif μπορεί να επαναχρησιμοποιηθεί μέσα σε μια εντολή if υπό όρους.

Παράδειγμα.
Ας δούμε ένα απόσπασμα προγράμματος:
αν n< 0 % Если n < 0, вывести сообщение об ошибке.
disp("Ο αριθμός που εισάγεται πρέπει να είναι θετικός");
elseif rem(n,2) == 0 %Αν το n είναι θετικό και ζυγό, διαιρέστε με το 2.
a= n/2;
αλλού
a = (n+1)/2; %Αν n > 0 και περιττό, αυξήστε κατά 1 και διαιρέστε.
τέλος

Εάν η έκφραση υπό όρους σε μια πρόταση if είναι ένας κενός πίνακας, τότε η συνθήκη είναι false. Δηλαδή, ένας τελεστής συνθήκης της φόρμας

αν ένα
S1
αλλού
S0
τέλος

θα εκτελεί εντολές S0 μόνο όταν το Α είναι κενός πίνακας.

Σύνταξη:

διακόπτης<έκφραση>
Η έκφραση % είναι απαραίτητα βαθμωτή ή συμβολοσειρά

υπόθεση<τιμή1>
οδηγίες
% εκτελούνται εάν< выражение> =< значение1>

υπόθεση <значение2>
οδηγίες
% εκτελούνται εάν<выражение> = < значение2>

...
σε διαφορετική περίπτωση
οδηγίες
% εκτελούνται εάν<выражение>δεν ταίριαζε με κανένα από τα
%αξίες

τέλος

Ο διακόπτης ... case 1 ... case k ... αλλιώς ... end statement εκτελεί διακλαδώσεις ανάλογα με τις τιμές κάποιας μεταβλητής ή έκφρασης.

Η δήλωση διακόπτη περιλαμβάνει:

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

Η δήλωση διακόπτη λειτουργεί συγκρίνοντας την τιμή της αξιολογούμενης έκφρασης με τις τιμές των ομάδων περιπτώσεων. Για αριθμητικές παραστάσεις, η εντολή case εκτελείται εάν<значение>== <выражение>. Για τις εκφράσεις συμβολοσειρών, η πρόταση case είναι true αν η strcmp(τιμή, έκφραση) είναι true.

Παράδειγμα

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

διακόπτη input_num
περίπτωση -1
disp ("μείον ένα")
περίπτωση 0
disp ("null")
περίπτωση 1
disp ("συν ένα")
σε διαφορετική περίπτωση
disp ("άλλη τιμή")
τέλος

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

διακόπτης var
περίπτωση 1
disp ("1")
περίπτωση(2,3,4)
disp ("2 ή 3 ή 4")
περίπτωση 5
disp ("5")
σε διαφορετική περίπτωση
disp ("κάτι άλλο")
τέλος

Σύνταξη:

ενώ έκφραση
οδηγίες

τέλος

Περιγραφή:

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

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

Παράδειγμα

Αυτός ο αόριστος βρόχος βρίσκει τον πρώτο ακέραιο n για τον οποίο n! - γραμμένο ως αριθμός που περιέχει 100 χαρακτήρες:

n = 1;
while prod(1:n)< 1e100
n = n + 1;
τέλος

Η έξοδος από έναν βρόχο while μπορεί να γίνει χρησιμοποιώντας την εντολή break.

Εάν σε μια εντολή while, η συνθήκη ελέγχου είναι ένας κενός πίνακας, τότε μια τέτοια συνθήκη είναι ψευδής, δηλαδή μια δήλωση όπως ενώ A, S1, end δεν θα εκτελέσει ποτέ την εντολή S1 εάν το A είναι κενός πίνακας.

Σύνταξη:

Για<μεταβλητή βρόχου >=<начальное значение>: <приращение>:<конечное значение>
οδηγίες

τέλος

Περιγραφή:

Η εντολή για το τέλος του βρόχου για .... εκτελεί μια δήλωση ή μια ομάδα εντολών προκαθορισμένο αριθμό φορές. Από προεπιλογή, η αύξηση είναι 1. Μπορείτε να ορίσετε οποιαδήποτε αύξηση, συμπεριλαμβανομένης της αρνητικής. Για θετικούς δείκτες, η εκτέλεση τελειώνει όταν υπερβεί η τιμή του δείκτη<конечное значение>; για αρνητικές προσαυξήσεις, η εκτέλεση τελειώνει όταν ο δείκτης γίνει μικρότερος από<конечное значение>.

Παράδειγμα

Αυτός ο βρόχος εκτελείται πέντε φορές:
για i = 2:6
x(i) = 2*x(i-1);
τέλος

Ένθετοι βρόχοι όπως:
για i = 1:m
για j = 1:n
A(i,j) = 1/(i + j - 1);
τέλος
τέλος

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

Παράδειγμα

Θεωρήστε έναν πίνακα Α μεγέθους mxn. Χειριστής βρόχου
για i = Α
οδηγίες
τέλος
ορίζει τη μεταβλητή βρόχου i ως το διάνυσμα A(:, k). Για το πρώτο βήμα του βρόχου, το k είναι 1. για το δεύτερο, το k είναι 2 και ούτω καθεξής μέχρι το k να φτάσει την τιμή n. Δηλαδή, ο βρόχος εκτελείται όσες φορές υπάρχουν στήλες στον πίνακα Α. Για κάθε βήμα, το i είναι ένα διάνυσμα που περιέχει μία από τις στήλες του πίνακα Α.

Ενσωματωμένες λειτουργίες

Ξεκινώντας με το MATLAB 5, τα M-αρχεία μπορούν να περιέχουν κώδικα για περισσότερες από μία συναρτήσεις. Η πρώτη συνάρτηση στο αρχείο είναι η κύρια συνάρτηση που καλείται με το όνομα αρχείου M. Άλλες συναρτήσεις μέσα σε ένα αρχείο είναι υποσυναρτήσεις που είναι ορατές μόνο στην κύρια συνάρτηση και άλλες υποσυναρτήσεις του ίδιου αρχείου.

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

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

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

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



Έχετε ερωτήσεις;

Αναφέρετε ένα τυπογραφικό λάθος

Κείμενο που θα σταλεί στους συντάκτες μας: