Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
1
Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές
Εισαγωγή στον επιστημονικό προγραμματισμό 2ο Μάθημα Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ URL: Μελάς Ιωάννης Υποψήφιος Διδάκτορας ΕΜΠ
2
Πίνακες vector >> x = [1 2 3 4.5] Matrix
3
Indexing >> x = [1:4 ; 5:8; 9:12] >> x(1,2) = ?
4
+ Πρόσθεση - Αφαίρεση * Πολ/σμός / Διαίρεση ^ Υψωση σε δύναμη
Η αριθμητική στο Matlab Βασικοί τελεστές Μαθηματικές συναρτήσεις + Πρόσθεση sin(x) cos(x) tan(x) log(x) exp(x) Ημίτονο Συνημίτονο Εφαπτομένη Φυσικός λογάριθμος = e^(x) - Αφαίρεση * Πολ/σμός / Διαίρεση ^ Υψωση σε δύναμη
5
Η αριθμητική στο Matlab
Μαθηματικές συναρτήσεις
6
Η αριθμητική στο Matlab
Αριθμητική σε πίνακες Τα πάντα στο Matlab Είναι πίνακες
7
+ Πρόσθεση - Αφαίρεση * Πολ/σμός / Διαίρεση ^ Υψωση σε δύναμη
Η αριθμητική στο Matlab Βασικοί τελεστές Μαθηματικές συναρτήσεις + Πρόσθεση sin(x) cos(x) tan(x) log(x) exp(x) Ημίτονο Συνημίτονο Εφαπτομένη Φυσικός λογάριθμος = e^(x) - Αφαίρεση * Πολ/σμός / Διαίρεση ^ Υψωση σε δύναμη
8
a+b a-b a*b Η αριθμητική στο Matlab a=[ 1 3 5] b=[ 0 2 4]
9
a+b a-b a*b Η αριθμητική στο Matlab a=[ 1 3 5] b=[ 0 2 4]
10
a*b Η αριθμητική στο Matlab b=[ 0 2 4] a=[ 1 3 5]
2 4] a=[ ] a*b a*b= [ 1*0 + 3*2 + 5*4] Δείτε : index->mtimes
11
a*b Η αριθμητική στο Matlab a=[ 1 3 5 4 2 1 1 0 3] b=[ 0 2 4 2 1 3
] b=[ ] a*b a*b= [ a(1,1)*b(1,1)+a(1,2)*b(2,1)+a(1,3)*b(3,1) … … … … … … …] Δείτε : index->mtimes
12
a/b = a*inv(b), inv(b)=inverse του b
Η αριθμητική στο Matlab a=[ ] b=[ ] a/b a/b = a*inv(b), inv(b)=inverse του b Inverse (αντιστροφος) ενος πίνακα b, ορίζεται πίνακας τέτοιος ώστε b*inv(b)=I => inv(I)=I Δείτε : Function Browser->Mathematics->Linear algebra->Linear equations ->inv
13
Η αριθμητική στο Matlab
14
+ Πρόσθεση - Αφαίρεση * Πολ/σμός / Διαίρεση ^ Υψωση σε δύναμη
Η αριθμητική στο Matlab Βασικοί τελεστές + Πρόσθεση - Αφαίρεση .* element-by-element multiplication ./ element-by-element division .^ element-by-element power * Πολ/σμός / Διαίρεση ^ Υψωση σε δύναμη
15
a.*b Η αριθμητική στο Matlab a=[ 1 3 5 4 2 1 1 0 3] b=[ 0 2 4 2 1 3
] b=[ ] a.*b a*b= [ 1*0 3*2 5*4 … … … … … 3*5]
16
Η αριθμητική στο Matlab
Λοιπές χρήσιμες συναρτήσεις Στρογγυλοποίηση round(x) floor(x)=int32(x) ceil(x)=int32(x)+1 Γεννήτρια τυχαίων αριθμών rand(n) Άθροιση στοιχείων πίνακα sum(x) Μέτρηση πλήθους στοιχείων πίνακα numel(x) size(x,n) length(x) Αρχικοποίηση πίνακα x=zeros(n,m) x=ones(n,m) x=eye(n) x=[];
17
VS == Equal to ~= Not equal to < Strictly smaller
Λογικοί τελεστές VS Αριθμητικοί τελεστές λογικοί τελεστές == Equal to ~= Not equal to < Strictly smaller > Strictly greater <= Smaller than or equal to >= Greater than equal to + addition - subtraction * multiplication / division ^ power & And operator | Or operator
18
m-files
19
σαν να εισάγονταν στο command window.
m-files Τα m-files είναι text files που περιέχουν λίστες εντολών οι οποίες εκτελούνται διαδοχικά, σαν να εισάγονταν στο command window.
20
if (Condition_1) Matlab Commands elseif (Condition_2)
Ελεγχος ροής προγράμματος Η εντολή if if (Condition_1) Matlab Commands elseif (Condition_2) elseif (Condition_3) else end
21
Ελεγχος ροής προγράμματος
Η εντολή for for i=a:b Matlab Commands end
22
while (condition) Matlab Commands end Ελεγχος ροής προγράμματος
23
while (condition) Matlab Commands break end Ελεγχος ροής προγράμματος
24
Υπολογισμός αθροίσματος
Παραδείγματα Υπολογισμός αθροίσματος Στοιχείων πίνακα a=rand(5); suma=0; for i=1:5 for j=1:5 suma=suma+a(i,j); end
25
Υπολογισμός αθροίσματος
Παραδείγματα Υπολογισμός αθροίσματος Στοιχείων πίνακα a=rand(5); suma=0; for i=1:5 for j=1:5 suma=suma+a(i,j); end Ο εύκολος τρόπος: sum(sum(a))
26
Παραδείγματα Εύρεση min πίνακα Εύρεση max πίνακα a=rand(5); minn=1.0; for i=1:5 for j=1:5 if (a(i,j)<=minn) minn=a(i,j); iminn=i; jminn=j; end a=rand(5); maxn=0.0; for i=1:5 for j=1:5 if (a(i,j)>=maxn) maxn=a(i,j); imaxn=i; jmaxn=j; end
27
Παραδείγματα Εύρεση min πίνακα Εύρεση max πίνακα a=rand(5); minn=1.0; for i=1:5 for j=1:5 if (a(i,j)<=minn) minn=a(i,j); iminn=i; jminn=j; end a=rand(5); maxn=0.0; for i=1:5 for j=1:5 if (a(i,j)>=maxn) maxn=a(i,j); imaxn=i; jmaxn=j; end Ο εύκολος τρόπος: min(min(a)) max(max(a))
28
Ελεγχος ροής προγράμματος
Logic indexing >> a=rand(1,10) a = >> a(a<0.5) ans =
29
Υπολογισμος ακολουθίας Fibonacci
In the Fibonacci sequence of numbers, each number is the sum of the previous two numbers, starting with 0 and 1 (source: wikipedia) clear all close all Clc x(1)=0; x(2)=1; for i=3:15 x(i)=x(i-1)+x(i-2); End plot(1:15,x(1:15)); for i=2:15 r(i)=x(i)/x(i-1); plot(2:15,r(2:15),'r');
30
Υπολογισμος ακολουθίας Fibonacci
In the Fibonacci sequence of numbers, each number is the sum of the previous two numbers, starting with 0 and 1 (source: wikipedia) clear all close all Clc x(1)=0; x(2)=1; for i=3:15 x(i)=x(i-1)+x(i-2); End plot(1:15,x(1:15)); for i=2:15 r(i)=x(i)/x(i-1); plot(2:15,r(2:15),'r');
31
Η συνάρτηση mod(x,y) επιστρέφει το ακεραιο υπολοιπο
Προαιρετικό θέμα Διαίρεση ακεραίων mod(x,y) Η συνάρτηση mod(x,y) επιστρέφει το ακεραιο υπολοιπο της διαίρεσης του x με το y Πχ. mod(4,2)=0
32
Να υπολογισθούν οι πρώτοι αριθμοί μικρότεροι του 5000
Προαιρετικό θέμα Να υπολογισθούν οι πρώτοι αριθμοί μικρότεροι του 5000 GROUP II 20/1/2014 (11.59μμ) GROUP I 24/1/2014 (11.59μμ) Oι απαντήσεις (τα m files) να στέλνονται σε κείμενο και ΟΧΙ σαν συνημμένο αρχείο Oι απαντήσεις να έχουν τίτλο με latinikous charaktires: ASΚ01-GP1-ΤΟΕΠΟΝΥΜΟΜΟΥ-ΟΝ
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.