Εισαγωγή στο MATLAB Γραφικές παραστάσεις

Δημιουργία γραφικών παραστάσεων

Εκτελώντας την εντολή help plot στο παράθυρο εντολών του MATLAB μπορούμε να δούμε τις δυνατότητες της εντολής plot για την δημιουργία 2-D γραφικών παραστάσεων.

Αν x και y είναι δύο διανύσματα ίδιου μήκους τότε η εντολή plot(x,y) θα δημιουργήσει τη γραφική παράσταση του y σαν συνάρτηση του x. Ας θεωρήσουμε το παρακάτω παράδειγμα:

Έστω ότι θέλουμε να κάνουμε τη γραφική παράσταση της συνάρτησης |y=x2| στο διάστημα [-2,2], οπότε ορίζουμε:

>> x=-2:0.01:2;
>> y1=x.^2;

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

Αν τώρα δώσουμε την εντολή

>> plot(x,y1)

θα ανοίξει ένα καινούριο παράθυρο στο οποίο θα εμφανιστεί η γραφική παράσταση:

Graph 1

Προκειμένου να ονομάσουμε τους άξονες δίνουμε τις εντολές xlabel και ylabel ως εξής:

>> xlabel('x')
>> ylabel('y=x^2')
γράφοντας δηλαδή μέσα στα μονά εισαγωγικά το κείμενο που θέλουμε να εμφανίζεται σε κάθε άξονα. Αν επιπλέον θέλουμε να εμφανίζεται ένας τίτλος στην γραφική παράσταση μπορούμε να χρησιμοποιήσουμε την εντολή title:
>> title ('Graph of y=x^2 from -2 to 2')
Η γραφική παράσταση θα φαίνεται τώρα ως εξής:

Graph 1b

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

COLORSSYMBOLSLINES
bbluepoint-solid
ggreenocircle:dotted
rredxx-mark-⋅dshdot
ccyan+plus--dashed
mmagenta*star(none)No line
yyellowssquare
kblackddiamond
wwhite>triangle
Στο προηγούμενο παράδειγμα αν θέλαμε να εμφανίσουμε την καμπύλη με πράσινη διακεκομμένη γραμμή και με κύκλους στα σημεία δεν έχουμε παρά να δώσουμε την εντολή:
>> plot(x,y1,'--go')
Στην ίδια γραφική παράσταση μπορούμε να εμφανίσουμε περισσότερες από μία καμπύλες. Αν για παράδειγμα ορίσουμε ένα διάνυσμα:
>> y2=4-x.^2;
μπορούμε να έχουμε τις δύο γραφικές παραστάσεις σε κοινό σύστημα αξόνων:
>> plot(x,y1,'--b',x,y2,':r')
διαφοροποιώντας τις καμπύλες από τον τύπο της γραμμής, το χρώμα της και βάζοντας λεζάντες στις καμπύλες:
>> legend('y=x^2','y=4-x^2')
προσέχοντας να υπάρχει αντιστοίχιση με την σειρά που αυτές παριστάνονται γραφικά:

Graph 1c

Αν θέλουμε η γραφική παράσταση να γίνει σε λογαριθμική κλίμακα στον x-άξονα, στον y-άξονα ή και στους δύο άξονες τότε οι αντίστοιχες εντολές είναι semilogx, semilogy και loglog. Δοκιμάστε το help σε καθεμία από αυτές για να δείτε πως συντάσσονται.

Το MATLAB δίνει τη δυνατότητα αναπαράστασης δεδομένων στις τρεις διαστάσεις μέσω τον εντολών surf, surfl, mesh και plot3. Ας δούμε ένα παράδειγμα για τη χρήση της εντολής surf.

Έστω ότι θέλουμε να κάνουμε τη γραφική παράσταση μιας συνάρτησης

ƒ=e-(x2+y2)- e-((x-1)2+(y+1)2))

η οποία είναι διαφορά δύο Γκαουσιανών συναρτήσεων με δύο μεταβλητές με x ∈ [-2,2] και y ∈ [-2,2]:

>>
>> % create x vector
>> x=-2:0.1:2;
>> % create y vector
>> y=-2:0.1:2;
>> % transform x and y vectors int X and Y matrices
>> % with repeated rows and columns respectively for use
>> % in evaluating functions of two variables
>> [X,Y]=meshgrid(x,y);
>> % define function
>> Z=exp(-(X.^2+Y.^2))-exp(-((X-1).^2+(Y+1).^2));
>> % now plot
>> surf(X,Y,Z)
>> % put axis labels
>> xlabel('x')
>> ylabel('y')
>> zlabel('z')
>> % put title
>> title('Difference of Gaussians')

Το αποτέλεσμα φαίνεται στην επόμενη εικόνα:

Graph 1c

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

Graph 2

Με την εντολή print μπορούμε είτε να τυπώσουμε την εικόνα από τον εκτυπωτή είτε να δημιουργήσουμε ένα αρχείο με το κατάλληλο format (ps, eps, png, tiff) προκειμένου να εισάγουμε την εικόνα σε ένα κειμενογράφο.

>> print -depsc gauss_diff.eps

Με την παραπάνω εντολή δημιουργήσαμε ένα αρχείο σε eps format (-depsc), έγχρωμο (colored -depsc,) με όνομα gauss_diff.eps. Δώστε την εντολή help print για να δείτε και άλλες επιλογές.