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

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

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

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

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

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

6 η ΕΝΟΤΗΤΑ Δομές επανάληψης

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

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

7 η ΕΝΟΤΗΤΑ Δομές επανάληψης (συνέχεια) Εντολές εισόδου/εξόδου (συνέχεια)

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

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

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

7 η ΕΝΟΤΗΤΑ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΛΥΣΗ ΠΡΟΒΛΗΜΑΤΩΝ ΓΡΑΜΜΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΜΕ ΧΡΗΣΗ MATLAB

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 4: Συναρτήσεις

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

ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ(Visual Basic)

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Συστήματα Αυτομάτου Ελέγχου. Ενότητα Α: Γραμμικά Συστήματα

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

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Αρχιτεκτονική Υπολογιστών Εργαστήριο

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

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

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

ΒΟΗΘΗΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Μοντελοποίηση Λογικών Κυκλωμάτων

Διαδικαστικός Προγραμματισμός

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΕΠΕΞΕΡΓΑΣΙΑ ΕΙΚΟΝΑΣ. Ενότητα 3: Αποκατάσταση Εικόνας.

Υπολογιστικά Συστήματα

Θεωρία Πιθανοτήτων & Στατιστική

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

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

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

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

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Εισαγωγή στον δομημένο προγραμματισμό

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

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

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

Πληροφορική. Εργαστηριακή Ενότητα 1 η : Εισαγωγή στα Λογιστικά Φύλλα με το MS Excel. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Ψηφιακή Σχεδίαση. Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:05. Δρ. Μηνάς Δασυγένης. Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Αρχιτεκτονική Υπολογιστών

Εισαγωγή στην πληροφορική

ΜΑΘΗΜΑ: Αντικειμενοστρεφής Προγραμματισμός

Λογιστικές Εφαρμογές Εργαστήριο

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

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

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Εισαγωγή στην πληροφορική

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Βιοϊατρική τεχνολογία

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

3 η ΕΝΟΤΗΤΑ Συναρτήσεις στο MATLAB

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Πληροφορική. Εργαστηριακή Ενότητα 3 η : Επεξεργασία Κελιών Γραμμών & Στηλών. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

Εισαγωγή στον δομημένο προγραμματισμό

Νέες Τεχνολογίες και Καλλιτεχνική Δημιουργία

Σχεδίαση με Ηλεκτρονικούς Υπολογιστές

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

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

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

Οργανωσιακή Συμπεριφορά Ενότητα 1: Η έννοια της οργάνωσης και διοίκησης

Οικονομικά Μαθηματικά

Εισαγωγή στην πληροφορική

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

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

Μαθηματική Ανάλυση ΙI

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Εισαγωγή στον Προγραμματισμό με C++

Ψηφιακή Σχεδίαση. Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:07. Δρ. Μηνάς Δασυγένης. Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Εντολή if. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

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

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 6: Πίνακες [2/2] (Δισδιάστατοι)

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 3: Συναρτήσεις

Προγραμματισμός Η/Υ. Βασικές Προγραμματιστικές Δομές. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Υπολογιστικά Συστήματα

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Βιοπληροφορική. Ενότητα 11: Κατασκευή φυλογενετικών δέντρων part II

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

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός

Τεχνολογία & Καινοτομία - Αρχές Βιομηχανικής Επιστήμης

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Εισαγωγή στον Προγραμματισμό. Ενότητα 8: Συναρτήσεις. Κ.

ΜΑΘΗΜΑ: ΗΛΕΚΤΡΟΤΕΧΝΙΑ-ΗΛΕΚΤΡΟΝΙΚΗ ΕΡΓΑΣΤΗΡΙΟ

Μαθηματική Ανάλυση Ι

Μαθηματική Ανάλυση Ι

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

Transcript:

Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Ηλεκτρονική Υγεία Εργαστήριο 9 ο : Συναρτήσεις στην MATLAB Αν. καθηγητής Αγγελίδης Παντελής e-mail: paggelidis@uowm.gr Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ψηφιακά Μαθήματα στο Πανεπιστήμιο Δυτικής Μακεδονίας» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3

Προγραμματισμός στην Matlab Αρχεία κειμένου (Script files). Αρχεία συναρτήσεων (Function files). Εντολές ελέγχου ροής προγράμματος. 4

Βρόγχοι (loops) (1/6) For for n=1:10 disp(n^2) for n=1:2:20;fprintf( %d,n^3); x=-1:0.05;1; for n=1:9 subplot(3,3,n),plot(x,sin(n*pi*x)) 5

Βρόγχοι (loops) (2/6) For Υπολογίστε το άθροισμα 1+2 2 +3 2 +...+10 2 (Απ. 385). Ακολουθία Fibonacci. f 1 =0, f 2 =1, f n =f n-1 +f n-2 Υπολογίστε τον 30ο όρο (Απ. 317811). Υπόδειξη: χρησιμοποιήστε array. 6

Ακολουθία Fibonacci %Clear screen and memory clear; clc; format compact % Initialize the first two values f(1) = 0; f(2) = 1; % Create the first 30 Fibonacci numbers for i = 3 : 30 % Perform the sum of terms accordingly f(i) = f(i-1) + f(i-2); % Calculate and display the ratio of 2 consecutive elements % of the series golden_ratio = f(i)/f(i-1); str = [num2str(f(i)) ' ' num2str(f(i-1)) ' '... num2str(golden_ratio, 10)]; disp(str) 7

Βρόγχοι (loops) (3/6) while n=1; while n<=10 fprintf('n=%d\n',n); n=n+1; while input('βρες τον αριθμό: ')~=5 disp('λάθος, ξαναδοκίμασε'); disp('το βρήκες!') 8

Ασκήσεις while: Βρόγχοι (loops) (4/6) Υπολογίστε το άθροισμα 1+2 2 +3 2 +...+100 2 (απ. 338350). Γράψτε ένα πρόγραμμα που να υπολογίζει το μ.ο. των αριθμών που εισάγει ο χρήστης. Η εισαγωγή σταματάει όταν ο χρήστης δώσει 0. 9

Βρόγχοι (loops) (5/6) Ασκήσεις while: Υπολογίστε το άθροισμα 1+2 2 +3 2 +...+100 2 (απ. 338350) n=1; sum=0; while n<=100 n=n+1; sum=sum+n^2; sum 10

Βρόγχοι (loops) (6/6) Γράψτε ένα πρόγραμμα που να υπολογίζει το μ.ο. των αριθμών που εισάγει ο χρήστης. Η εισαγωγή σταματάει όταν ο χρήστης δώσει 0. sum=0; n=0; x=input('dose arithmo: '); while x~=0 n=n+1; sum=sum+x; x=input('dose arithmo: '); mo=sum/n 11

Εντολές ελέγχου if...then...else... x=input('δώσε έναν αριθμό: '); if x>0 disp('θετικός') elseif x<0 disp('αρνητικός') else disp('μηδέν') 12

Συναρτήσεις (1/9) Μια απλή συνάρτηση: function [A] = avg(a,b) % Υπολογισμός μ.ο. 2 αριθμών A=(a+b)/2; Αποθηκεύουμε το αρχείο με όνομα avg.m 13

Ασκήσεις: Συναρτήσεις (2/9) Δημιουργήστε συνάρτηση f1 που να υπολογίζει το άθροισμα 1+2 2 +...+n 2. π.χ. f1(100)=338350. Δημιουργήστε συνάρτηση fib που να υπολογίζει το n όρο της ακολουθίας Fibonacci. π.χ. fib(20)=4181. 14

Συναρτήσεις (3/9) function [f] = fib(n) if n==1 f=0; else if n==2 f=1; else f1=0;f2=1; for i=2:n-1 f=f1+f2; f1=f2; f2=f; 15

Συναρτήσεις (4/9) Γράψτε μια συνάρτηση που να υπολογίζει το n!: π.χ. fact(10)=3628800. 16

Συναρτήσεις (5/9) Γράψτε μια συνάρτηση που να υπολογίζει το n!: function [f] = fact(n) if n==0 f=1; else f=1; for i=1:n f=f*i; 17

Συναρτήσεις (6/9) 18

Συναρτήσεις (7-a/9) Γράψτε μια συνάρτηση που να λύνει τη δευτεροβάθμια εξίσωση ax 2 +bx+c=0: function [x1 x2] = r2(a,b,c) d=b^2-4*a*c; if d<0 x1=nan;x2=nan; else x1=(-b+sqrt(d))/(2*a); x2=(-b-sqrt(d))/(2*a); 19

Συναρτήσεις (7-b/9) Δευτεροβάθμια εξίσωση: Function [r1,r2] = root2(a,b,c) %Eπίλυση της δευτεροβάθµιας εξίσωσης ax^2+bx+c=0 %Κλήση: [r1,r2] = root2(a,b,c) format long e if a==0 r1=root1(b,c); else d=b^2-4*a*c; if d==0 r1=-b/(2*a); r2=r1; disp('duble solution'); else r1=(-b+sqrt(d))/(2*a); r2=(-b-sqrt(d))/(2*a); 20

Συναρτήσεις (8/9) Γράψτε μια συνάρτηση που να παίρνει σαν είσοδο έναν πίνακα και να επιστρέφει διάνυσμα με τους μ.ο. των στοιχείων των στηλών του πίνακα. π.χ. A=[1:5;5:9;20:24]; mean(a) ans = 8.6667 9.6667 10.6667 11.6667 12.6667 21

Συναρτήσεις (9/9) Γράψτε μια συνάρτηση που να παίρνει σαν είσοδο έναν πίνακα και να επιστρέφει διάνυσμα με τους μ.ο. των στοιχείων των στηλών του πίνακα: function [m] = mean(a) c=size(a,2); r=size(a,1); for i=1:c sum=0; for j=1:r sum=sum+a(j,i); m(i)=sum/r; 22

Μέτρηση χρόνου Συναρτήσεις tic και toc: π.χ: tic,roots([1:500]);toc π.χ: for n = 1:100 A = rand(n,n); b = rand(n,1); tic x = A\b; t(n) = toc; plot(t) 23

Έστω αρχείο f1.txt: 100 254 200 982 300 884 400 1231 500 234 Εργασία με αρχεία (1/3) Ανάγνωση από το αρχείο: fid=fopen('f1.txt','r'); a=fscanf(fid,'%3d%4d'); fclose(fid); A=reshape(a,2,5) 24

Εργασία με αρχεία (2/3) Έστω αρχείο f1.txt: 100 254 200 982 300 884 400 1231 500 234 Ανάγνωση από το αρχείο: dlmread('f1.txt'); 25

Εργασία με αρχεία (3/3) Εγγραφή σε αρχείο: A=rand(5); dlmwrite ('f2.txt',a); ή fid=fopen('f3.txt','w'); fprintf(fid,'%f ',A); fclose(fid); 26

Τέλος Ενότητας 27