Εργαστήριο Γραμμικής Άλγεβρας. H Matlab ως γλώσσα προγραμματισμού

Σχετικά έγγραφα
Εισαγωγή στην Αριθμητική Ανάλυση

Σύντομες εισαγωγικές σημειώσεις για την. Matlab

1 η Εργαστηριακή Άσκηση MATLAB Εισαγωγή

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον (Εργαστήριο 2)

Ένας πρώτος τρόπος εύρεσης των διαστάσεων ενός πίνακα στο. Matlab είναι με την εντολή size(όνομα πίνακα) και πατώντας. enter ( )

Τυπικές χρήσεις της Matlab

Συστήματα Αναμονής (Queuing Systems)

Εισαγωγή στο Περιβάλλον Επιστημονικού Προγραμματισμού MATLAB-Simulink. Δημήτριος Τζεράνης Λεωνίδας Αλεξόπουλος

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον (Εργαστήριο 5)

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 5

Εισαγωγή στη Matlab Βασικές Συναρτήσεις

Εργαστήριο Μαθηματικής Ανάλυσης Ι. Εισαγωγή στη Matlab Βασικές Συναρτήσεις-Γραφικές παραστάσεις. Πανεπιστήμιο Θεσσαλίας. Σχολή Θετικών Επιστημών

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία. Εργαστήριο 4 ο : MATLAB

MATLAB Desktop (Επιφάνεια Εργασίας MATLAB) [1.]

Συνοπτικός οδηγός MATLAB & OCTAVE. (έως και συναρτήσεις) Ιωάννης Καλατζής 2018d

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον (Εργαστήριο 6)

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον (Εργαστήριο 2)

ΠΛΗΡΟΦΟΡΙΚΗ Ι Εργαστήριο 1 MATLAB ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στο MATLAB και στο Octave

Εργαστήρια Αριθμητικής Ανάλυσης Ι. 1 ο Εργαστήριο. Εισαγωγή στο Matlab

Μαρία Λουκά. Εργαστήριο Matlab Άμεσες Μέθοδοι. Τμήμα Πληροφορικής και Τηλεπικοινωνιών

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

Εφαρμοσμένα Μαθηματικά ΙΙ Τελική Εξέταση Ι. Λυχναρόπουλος

1. Κατασκευάστε ένα διάνυσμα με στοιχεία τους ζυγούς αριθμούς μεταξύ του 31 και 75

ΠΑΡΑΡΤΗΜΑ Α Εισαγωγή στο MATLAB

Εισαγωγή στους Υπολογιστές

Εισαγωγή στο MATLAB. Κολοβού Αθανασία, ΕΔΙΠ,

Εισαγωγικές σημειώσεις στο Matlab

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον (Εργαστήριο 3)

Εισαγωγή στη Matlab 2 Εισαγωγή στην Αριθμητική Ανάλυση Διδάσκων: Γεώργιος Ακρίβης Βοηθός: Δημήτριος Ζαβαντής

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Να γράψετε τους αριθμούς 1, 2, 3 από τη Στήλη Α και δίπλα το γράμμα α, β, γ, δ, ε από τη Στήλη Β που δίνει τη σωστή αντιστοιχία.

Λειτουργικά. Συστήματα Ι. Φ ρ ο ν τ ι σ τ ή ρ ι ο. Αριστείδης Ηλίας. Εργαστήριο Ηλεκτρονικών Υπολογιστών

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

Εισαγωγή στο περιβάλλον Code::Blocks

ημιουργία και διαχείριση πινάκων

Εισαγωγή στη Matlab Εισαγωγή στην Αριθμητική Ανάλυση Διδάσκων: Γεώργιος Ακρίβης Βοηθός: Δημήτριος Ζαβαντής

Χρονικές σειρές 1 ο μάθημα: Εισαγωγή στη MATLAB

Χρονικές σειρές 8 o μάθημα: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΤΗ MATLAB (2)

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 4

Πληροφορική. Ενότητα 1: Α. Οργάνωση μαθήματος. Β. Στοιχεία Προγραμματισμού -Προγραμματιστικές Δομές, Πρόγραμμα, Γλώσσες.

4. Εισαγωγή στο Matlab

4 η ΕΝΟΤΗΤΑ Μητρώα και συνθήκες στο MATLAB

Εισαγωγή στους Υπολογιστές

Έναρξη Τερματισμός του MatLab

Μαρία Λουκά. Εργαστήριο Matlab Πολυώνυμα - Παρεμβολή. Τμήμα Πληροφορικής και Τηλεπικοινωνιών.

Κεφάλαιο 10ο. ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ ιαδικασίες - Συναρτήσεις

TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ

διανύσματα - Πίνακες - Struct Στατικό διάνυσμα Είσοδος Έξοδος δεδομένων Συναρτήσεις Χειρισμός σφαλμάτων ΤΕΤΑΡΤΗ ΔΙΑΛΕΞΗ

> μεγαλύτερο <= μικρότερο ή ίσο < μικρότερο == ισότητα >= μεγαλύτερο ή ίσο!= διαφορετικό

Εισαγωγή στο GNU Octave/MATLAB

ΑΣΚΗΣΗ 8 Η εξίσωση της απομάκρυνσης x συναρτήσει του χρόνου t σε μια απλή αρμονική ταλάντωση δίνεται από τη σχέση:

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 5: Πίνακες [1/2] (Διανύσματα)

Visual Flowchart Γενικά

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

Matlab functions. Κολοβού Αθανασία, ΕΔΙΠ, Τμήμα Πληροφορικής και Τηλεπικοινωνιών, ΕΚΠΑ

ΕΙΣΑΓΩΓΗ ΣΤΟ MATLAB. Κολοβού Αθανασία Ε.Τ.Ε.Π.

Νέο υλικό. Matlab2.pdf - Παρουσίαση μαθήματος 2. Matlab-reference.pdf Σημειώσεις matlab στα ελληνικά (13 σελίδες).

Εισαγωγή στους. Υπολογιστές

Εργαστήρια Αριθμητικής Ανάλυσης Ι. 7 ο Εργαστήριο. Διανύσματα-Πίνακες 2 ο Μέρος

Είδη εντολών. Απλές εντολές. Εντολές ελέγχου. Εκτελούν κάποια ενέργεια. Ορίζουν τον τρόπο με τον οποίο εκτελούνται άλλες εντολές

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

Προγραμματισμός στο Matlab

Εισαγωγή στον επιστημονικό προγραμματισμό 2 o Μάθημα

Μαρία Λουκά. Εργαστήριο Matlab. Αριθμητικός υπολογισμός ιδιοτιμών και ιδιοδιανυσμάτων. Τμήμα Πληροφορικής και Τηλεπικοινωνιών.

ΑΡΧΗ 2ΗΣ ΣΕΛΙΔΑΣ Γ Α... Β

Matlab κι εφαρμογές στην Γραμμική Άλγεβρα

όπου Η μήτρα ή πίνακας του συστήματος

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία. Εργαστήριο 5 ο : MATLAB

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΩΝ & Δ ΤΑΞΗΣ ΕΣΠΕΡΙΝΩΝ ΥΠΟΛΕΙΠΟΜΕΝΕΣ ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ HMEΡΗΣΙΩΝ ΚΑΙ ΕΣΠΕΡΙΝΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

7.5 ΑΡΑΙΕΣ ΜΗΤΡΕΣ Κατασκευή αραιών µητρών Πράξεις και συναρτήσεις αραιών µητρών Συναρτήσεις για γραφήµατα...

Εργαστήρια Αριθμητικής Ανάλυσης Ι. 9 ο Εργαστήριο. Απαλοιφή Gauss με μερική οδήγηση - Παρεμβολη

Προγραμματισμός Διαδικτύου Ασκήσεις Εργαστηρίου

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 3 Ο. Σταθερές-Παράμετροι-Μεταβλητές Αριθμητικοί & Λογικοί Τελεστές Δομή ελέγχου-επιλογής Σύνθετοι έλεγχοι

ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στην Python και στο IDLE

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον (Εργαστήριο 4)

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

Εισαγωγή στις Αρχές της επιστήμης των ΗΥ

Η γλώσσα προγραμματισμού Strange

ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή

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

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΜΑΘΗΜΑΤΙΚΑ Ι (ΘΕ ΠΛΗ 12) ΕΡΓΑΣΙΑ 1 η Ημερομηνία Αποστολής στον Φοιτητή: 17 Οκτωβρίου 2011

Προγραμματισμός με FORTRAN Συνοπτικός Οδηγός Α. Σπυρόπουλος Α. Μπουντουβής

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

ΗΜΥ 100 ΕΙΣΑΓΩΓΉ ΣΤΗΝ ΤΕΧΝΟΛΟΓΊΑ

Αλγόριθμοι Αναπαράσταση αλγορίθμων Η αναπαράσταση των αλγορίθμων μπορεί να πραγματοποιηθεί με:

Βασικές έννοιες προγραμματισμού

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

ΕΝΔΕΙΚΤΙΚΑ ΘΕΜΑΤΑ ΓΙΑ ΤΟ ΜΑΘΗΜΑ «ΥΠΟΛΟΓΙΣΤΙΚΗ ΑΝΑΛΥΣΗ ΙΑΤΡΙΚΩΝ ΚΑΙ ΒΙΟΛΟΓΙΚΩΝ ΔΕΔΟΜΕΝΩΝ»

1 ο ΕΡΓΑΣΤΗΡΙΟ ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΝΕΟ ΚΑΙ ΠΑΛΑΙΟ ΣΥΣΤΗΜΑ

Transcript:

Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών Τμήμα Πληροφορικής με Εφαρμογές στη Βιοϊατρική Εργαστήριο Γραμμικής Άλγεβρας H Matlab ως γλώσσα προγραμματισμού

Προγραμματιστικές δομές Έλεγχος ροής if if λογική έκφραση εντολές elseif λογική έκφραση εντολές else εντολές Δομή επανάληψης for for μεταβλητή = αρχική τιμή : βήμα : τελική τιμή μεταβλητής εντολές

Λογικοί & σχεσιακοί τελεστές

Matlab Editor Άνοιγμα με: > την εντολή edit > File -> New -> M-file > το εικονίδιο New M-file > File -> Open > διπλό κλικ σε κάποιο αποθηκευμένο αρχείο

Function στο Matlab (1) Ανοίγοντας το Matlab Editor πηγαίνοντας File -> New -> Function εμφανίζεται ο παρακάτω κώδικας: function [ output_args ] = Untitled( input_args ) % UNTITLED Summary of this function goes here % Detailed explanation goes here Στο input_args ορίζονται οι παράμετροι x1,x2,,xm ως είσοδος στη συνάρτηση και στο output_args επιστρέφονται ως έξοδος y1,y2,,yn, που είναι τα αποτελέσματα της συνάρτησης. Η έξοδος μπορεί να παραλειφθεί γράφοντας function Untitled( input_args ) Αν θεωρηθούν παράμετροι στην έξοδο, αυτές πρέπει να αναφέρονται σε όλα τα διερευνητικά στάδια του ελέγχου ροής ή ροής επανάληψης. Στη συνέχεια αναπτύσσονται οι εντολές χρησιμοποιώντας τις παραμέτρους-εισόδου ώστε να παράγονται τα αποτελέσματα στην έξοδο. H function κλείνει με

Function στο Matlab (2) Έτσι η εικόνα που εμφανίζεται είναι : Με εξόδους function [y1,y2, yn] = myfun(x1,x2,...,xm) Χωρίς εξόδους function myfun(x1,x2,...,xm).. ένα σύνολο ή.... απαιτούμενων εντολών...... ένα σύνολο απαιτούμενων εντολών Η συνάρτηση αποθηκεύεται current directory Για να καλέσουμε μια συνάρτηση, γράφουμε στο Command Window την παραπάνω δομή χωρίς την εντολή function, δηλαδή: Με εξόδους Χωρίς εξόδους [y1,y2, yn] = myfun(x1,x2,...,xm) ή myfun(x1,x2,...,xm)

Function/Script files Απαγορεύεται το όνομα του.m αρχείου να είναι ίδιο με το όνομα της μεταβλητής που υπολογίζεται Το όνομα του αρχείου πρέπει να ξεκινάει με ένα γράμμα και μπορεί να περιέχει γράμματα, αριθμούς και την κάτω παύλα (_) Προσοχή στα ονόματα των μεταβλητών που χρησιμοποιούνται, δεν πρέπει να ταυτίζονται με συναρτήσεις της Matlab Συχνός και σταδιακός έλεγχος του αναπτυσσόμενου κώδικα Με το σύμβολο % δίνεται η δυνατότητα να εισάγονται σχόλια στον editor, ό,τι υπάρχει στον κώδικα μετά το % είναι μη εκτελέσιμο κείμενο

Παραδείγματα 1/4 Να δημιουργηθεί συνάρτηση, η οποία να εισάγει τα άκρα a,b του πεδίου ορισμού των συναρτήσεων y 1 = cos(x) και y 2 = x 2, το βήμα διαμέρισης k (άρα 3 στοιχεία είναι ως είσοδοι-παράμετροι) και να σχεδιάζει στο ίδιο σύστημα αξόνων και στο ίδιο παράθυρο τις γραφικές παραστάσεις των συναρτήσεων, με κόκκινο χρώμα την πρώτη και με μπλε χρώμα και λεπτή διακεκομμένη γραμμή τη δεύτερη. function test(a,b,k) x=a:k:b y 1 = cos(x); y 2 = x.^2; plot(x,y1,, r, x,y2, b: ); Αποθηκεύουμε το διπλανό script ως test.m Στo Command Window γράφουμε : a= a1; %Δίνεται αριθμητική τιμή b= a2; %Δίνεται αριθμητική τιμή k= a3; %Δίνεται αριθμητική τιμή test (a,b,k)

Παραδείγματα 2/4 Να δημιουργηθεί συνάρτηση, η οποία να εισάγει δύο αριθμούς (άρα 2 στοιχεία είναι ως είσοδοι-παράμετροι) και να τους προσθέτει (άρα 1 στοιχείο είναι η έξοδος). function [sum] = add(x,y) sum = x + y; Αποθηκεύουμε το διπλανό script ως add.m Στo Command Window γράφουμε : x= a1; %Δίνεται αριθμητική τιμή y= a2; %Δίνεται αριθμητική τιμή [sum] = add(x,y)

Παραδείγματα 3/4 Να δημιουργηθεί συνάρτηση, η οποία να εισάγει έναν πίνακα Α, να βρίσκει το μέγεθός του, να επιστρέφει την ορίζουσα του πίνακα αυτού και να τον αντίστροφό του, εάν υπάρχει, (άρα 2 στοιχεία στην έξοδο). function [d, B] = inver(a) [m,n]= size(a); d=det(a); if d~= 0 B=inv(A); else B=zeros(m,n); % βάζουμε να αντικαθιστάται ο Β με κάτι που θα υπενθυμίζει ότι δεν υπάρχει αντίστροφος disp( δεν υπάρχει αντίστροφος )

Παραδείγματα 4/4 Να δημιουργηθεί συνάρτηση, η οποία να εισάγει δύο θετικούς ακεραίους, οι αριθμοί θα είναι οι διαστάσεις του πίνακα Α που θα εμφανίζεται στην έξοδο και κάθε στοιχείο του θα ισούται με το άθροισμα των δεικτών της γραμμής και της στήλης στην οποία αυτό ανήκει. Τα στοιχεία του πίνακα Α να υπολογιστούν με χρήση της επαναληπτικής εντολής for (2 φορές). function [A] = sumindex(m,n) for i=1:m for j=1:n A(i,j)=i+j;

Αλγόριθμος 1 Γραμμική ανεξαρτησία των διανυσμάτων v, v,, vk 1 2 του n Βήμα 1 Βήμα 2 Σχηματισμός του n x k πίνακα Α με στήλες τα δοθέντα διανύσματα Αν n = k, υπολογισμός της ορίζουσας του πίνακα A, det (A) i) αν det (A) 0, τότε τα διανύσματα είναι γραμμικά ανεξάρτητα ii) αν det(a) = 0, τότε τα διανύσματα είναι γραμμικά εξαρτημένα Βήμα 3 αν k < n, υπολογισμός του βαθμού του πίνακα A, rank(a) i) αν rank(a) = k, τότε τα διανύσματα είναι γραμμικά ανεξάρτητα ii) αν rank(a) < k, τότε τα διανύσματα είναι γραμμικά εξαρτημένα Βήμα 4 Αν k > n, τότε τα διανύσματα είναι γραμμικά εξαρτημένα Στη συνέχεια δίνεται μία συνάρτηση που περιγράφει τη διαδικασία του Αλγορίθμου 1.

Συνάρτηση Αλγορίθμου 1 function [r,a]=ind(a) [n,k]=size(a); r=rank(a); function if k==n d=det(a); if d~=0 disp('the vectors are linearly indepent'); else disp('the vectors are linearly depent'); elseif k<n if r==k disp( τα διανύσματα είναι γραμμικά ανεξάρτητα'); else disp( τα διανύσματα είναι γραμμικά εξαρτημένα'); else % k>n disp('the vectors are linearly depent');