EΞΩΤΕΡΙΚΑ ΑΡΧΕΙΑ ΕΙΣΑΓΩΓΗ Ε ΟΜΕΝΩΝ ηµιουργία ενός m-αρχείου Εισαγωγή των δεδοµένων στο αρχείο Αποθήκευση του αρχείου Καταχώρηση των δεδοµένων του αρχείου από το λογισµικό Matlab, γράφοντας απλά το όνοµα του αρχείου στο σηµείο καταχώρησης των εντολών >>
ΕΙΣΑΓΩΓΗ Ε ΟΜΕΝΩΝ ΑΠΟ ΕΞΩΤΕΡΙΚΟ ΑΡΧΕΙΟ Παράδειγµα Αρχείο µετρήσεων θερµοκρασίας σε µια περιοχή ανά 6 ώρες Ώρα Θερµοκρασία 00:00 15 Ο C 06:00 13 Ο C 12:00 19 Ο C 18:00 18 Ο C 24:00 14 Ο C
ΕΙΣΑΓΩΓΗ Ε ΟΜΕΝΩΝ ΑΠΟ ΕΞΩΤΕΡΙΚΟ ΑΡΧΕΙΟ ηµιουργία του αρχείου Temp.m το οποίο περιέχει τα δεδοµένα σε µορφή πίνακα Data = [0 15 6 13 12 19 18 18 24 14]; Αποθήκευση των δεδοµένων στο αρχείο
ΕΙΣΑΓΩΓΗ Ε ΟΜΕΝΩΝ ΑΠΟ ΕΞΩΤΕΡΙΚΟ ΑΡΧΕΙΟ Καταχώρηση των δεδοµένων του αρχείου Temp.m στο λογισµικό Matlab µορφή πίνακα >> Temp; >> time=data(:,1); >> temperature=data(:,2);
ΕΙΣΑΓΩΓΗ Ε ΟΜΕΝΩΝ ΑΠΟ ΕΞΩΤΕΡΙΚΟ ΑΡΧΕΙΟ Επεξεργασία των δεδοµένων από το λογισµικό Matlab >> plot(time,temperature)
ΕΓΓΡΑΦΗ Ε ΟΜΕΝΩΝ ΣΕ ΕΞΩΤΕΡΙΚΟ ΑΡΧΕΙΟ Με την εντολή fprintf γίνεται εγγραφή δεδοµένωναπότολογισµικό Matlab σε ένα εξωτερικό αρχείο fprintf( όνοµα αρχείου, format, µεταβλητές) Παράδειγµα >> fprintf( data.out, t = %5.2f\n, temperature)
SYMBOLIC MATH TOOLBOX Ένα συµβολικό αντικείµενο είναι µια δοµή δεδοµένων από χαρακτήρες στην οποία έχει αποθηκευτεί µια συµβολική µεταβλητή. Με τη χρήση του Symbolic Math Toolbox είναι εφικτή η χρήση συµβολικών αντικειµένων για την απεικόνιση συµβολικών µεταβλητών, εκφράσεων και πινάκων µε σκοπότη διεξαγωγή πράξεων ανάµεσα τους. Οι συµβολικές πράξεις πραγµατοποιούνται µέσω του λογισµικού Maple.
ΣΥΜΒΟΛΙΚΕΣ ΜΕΤΑΒΛΗΤΕΣ >> a = sqrt(2) a = 1.4142 >> a = sqrt(sym(2)) a = 2^(1/2) >> double(a) ans = 1.4142 >> t = sym(2)/sym(5) t = 2/5
ΗΛΩΣΗ ΣΥΜΒΟΛΙΚΩΝ ΜΕΤΑΒΛΗΤΩΝ >> a = sym( alpha ) a = alpha Παράδειγµα : f = a x 2 + b x + c >> a = sym( a ) >> b = sym( b ) >> c = sym( c ) >> x = sym( x ) >> f = sym( a*x^2+b*x+c ) Ή >> syms a b c x >> f = sym( a*x^2+b*x+c )
ΑΝΑΖΗΤΗΣΗ ΣΥΜΒΟΛΙΚΩΝ ΜΕΤΑΒΛΗΤΩΝ Παράδειγµα : f = a x 2 + b x + c >> syms a b c x >> f = sym( a*x^2+b*x+c ) >> findsym(f) ans = a, b, c, x Εύρεση συµβολικών µεταβλητών που αποτελούν µια συµβολική έκφραση
ΑΡΙΘΜΗΤΙΚΟΣ ΠΡΟΣ ΙΟΡΙΣΜΟΣ ΣΥΜΒΟΛΙΚΩΝ ΜΕΤΑΒΛΗΤΩΝ Παράδειγµα : f = 2 x 2-3 x + 1, f(2) =? >> syms x >> f = sym( 2*x^2-3*x+1 ) >> subs(f,x,2) ans = 3
ΜΕΤΑΤΡΟΠΕΣ ΣΥΜΒΟΛΙΚΩΝ - ΑΡΙΘΜΗΤΙΚΩΝ ΜΕΤΑΒΛΗΤΩΝ >> t = 0.1 >> sym(t, f ) συµβολική απεικόνιση κινητής υποδιαστολής ans = 1.999999999999a *2^(-4) >> sym(t, r ) ή >> sym(t) κλασµατική απεικόνιση ans = 1/10 >> sym(t, e ) κλασµατική απεικόνιση σε σχέση µε τηνακρίβεια ans = 1/10+eps/40 >> sym(t, d ) δεκαδική απεικόνιση µε 32 δεκαδικά ψηφία ans =.10000000000000000555111512312
ΗΜΙΟΥΡΓΙΑ ΠΡΑΓΜΑΤΙΚΩΝ ΚΑΙ ΜΙΓΑ ΙΚΩΝ ΣΥΜΒΟΛΙΚΩΝ ΜΕΤΑΒΛΗΤΩΝ >> x = sym( x, real ); >> y = sym( y, real ); >> syms x y real >> z = x + i * y >> conj(x) ans = x >> conj(z) ans = x i*y >> expand(z*conj(z)) ans = x^2+y^2 Ή
ΗΜΙΟΥΡΓΙΑ ΒΑΣΙΚΩΝ ΣΥΜΒΟΛΙΚΩΝ ΣΥΝΑΡΤΗΣΕΩΝ >> f = sym( f(x) ) >> df = (subs(f, x, x+h )-f)/ h Ή >> df = (subs(f,x,x+h)-f)/h df = (f(x+h)-f(x))/h
ΗΜΙΟΥΡΓΙΑ ΣΥΜΒΟΛΙΚΩΝ ΠΙΝΑΚΩΝ >> syms a b c >> A = [a b c ; b c a; c a b] A = [ a, b, c] [ b, c, a] [ c, a, b] >> sum(a(1,:)) ans = a+b+c
ΙΑΓΡΑΦΗ ΣΥΜΒΟΛΙΚΩΝ ΜΕΤΑΒΛΗΤΩΝ Επειδή το λογισµικό Matlab χρησιµοποιεί το λογισµικό Maple για τη διεξαγωγή συµβολικών υπολογισµών θα πρέπει η διαγραφή των συµβολικών µεταβλητών να γίνει και στα δυο. Παράδειγµα >> syms a real >> syms a unreal αφαιρεί τη πραγµατική ιδιότητα από το a >> clear a διαγραφή της µεταβλητής a
ΜΑΘΗΜΑΤΙΚΕΣ ΣΥΜΒΟΛΙΚΕΣ ΣΥΝΑΡΤΗΣΕΙΣ Το λογισµικό Matlab επιτρέπει τη δηµιουργία συµβολικών µαθηµατικών συναρτήσεων σε m-αρχεία όµοια µε τιςαριθµητικές συναρτήσεις. Παράδειγµα: z = sin(x)/x function z = sinc(x) if isequal(x,sym(0)) z=1; else z = sin(x)/x; end
ΣΥΜΒΟΛΙΚΗ ΙΑΦΟΡΙΣΗ Το λογισµικό Matlab επιτρέπει τη συµβολική παραγώγιση συµβολικών µαθηµατικών εκφράσεων. Παράδειγµα: >> syms s t >> f = sin(s*t) >> diff(f,t) ans = cos(s*t)*s >> diff(f,t,2) ans = -sin(s*t)*s^2
ΣΥΜΒΟΛΙΚΗ ΙΑΦΟΡΙΣΗ Παράδειγµα: >> syms x n >> f = x^n >> diff(f) ans = x^n*n/x >> simplify(diff(f)) ans = x^(n-1)*n
ΟΡΙΑ ΣΥΜΒΟΛΙΚΩΝ ΣΥΝΑΡΤΗΣΕΩΝ Παράδειγµα : παράγωγος cos(x) >> syms x n h >> limit((cos(x+h)-cos(x))/h,h,0) ans = -sin(x) Παράδειγµα :e x >> limit((1+x/n)^n,n,inf) ans = exp(x)
ΠΛΕΥΡΙΚΑ ΟΡΙΑ ΣΥΜΒΟΛΙΚΩΝ ΣΥΝΑΡΤΗΣΕΩΝ Παράδειγµα : lim x/ x µε x -> 0 - >> syms x >> limit(x/abs(x),x,0, left ) ans = -1 Παράδειγµα : lim x/ x µε x -> 0 + >> limit(x/abs(x),x,0, right ) ans = 1 >> limit(x/abs(x),x,0) ans = NaN
ΣΥΜΒΟΛΙΚΗ ΟΛΟΚΛΗΡΩΣΗ Παράδειγµα : >> syms x >> int(sin(2*x),x,0,pi/2) ans = 1 Παράδειγµα : >> syms x; >> syms a positive; >> f = exp(-a*x^2); >> int(f,x,-inf,inf) ans = 1/(a)^1/2*pi^(1/2)
ΣΥΜΒΟΛΙΚA ΑΘΡΟΙΣΜΑΤΑ Παράδειγµα : >> syms k x >> s1=symsum(1/k^2,1,inf) s1 = 1/6*pi^2 >> s2=symsum(x^k,k,0,inf) s2 = -1/(x-1)
ΣΕΙΡΕΣ TAYLOR Παράδειγµα : Εύρεση της σειράς Taylor µέχρι ογδόου βαθµού. >> syms x >> f = 1/(5+4*cos(x)) >> T=taylor(f,8) T = 1/9+2/81*x^2+5/1458*x^4+49/131220*x^6 >> pretty(t) Τ= 2 4 49 6 1/9 + 2/81 x + 5/1458 x + ------ x 131220
COLLECT Η εντολή collect δέχεται ως όρισµα ένα πολυώνυµο και το διατάσει κατά τις φθίνουσες δυνάµεις της µεταβλητής του. Παράδειγµα : >> syms x >> f = (x-1)*(x-2)*(x-3) >> f=collect(f) f = x^3-6*x^2+11*x-6
FACTOR Ηεντολήfactor δέχεται ως όρισµα ένα συµβολικό πολυώνυµο καιτο παραγοντοποιεί. Παράδειγµα : >> syms x >> f = x^3-6*x^2+11*x-6 >> f=factor(f) f = (x-1)*(x-2)*(x-3)
EXPAND Ηεντολήexpand δέχεται ως όρισµα µια συµβολική παράσταση και υπολογίζει τα γινόµενα σε αθροίσµατα και εκτελεί πράξεις από ιδιότητες των συναρτήσεων. Παράδειγµα : >> syms x a y >> f=expand(a*(x+y)) f = a*x + a*y >> f=expand(cos(x+y)) f=cos(x)*cos(y)-sin(x)*sin(y)
HORNER Ηεντολήhorner δέχεται ως όρισµα ένα συµβολικό πολυώνυµο και το παραγοντοποιεί στη Horner ή φωλιασµένη µορφή του. Παράδειγµα : >> syms x >> f = x^3-6*x^2+11*x-6 >> f=horner(f) f = -6+(11+(-6+x)*x)*x
SIMPLIFY Ηεντολήsimplify δέχεται ως όρισµα µια συµβολική παράσταση και εκτελεί αλγεβρικές πράξεις. Παράδειγµα : >> syms x >> f = simplify(cos(x)^2+sin(x)^2) f = 1 >> f = simplify((1-x^2)/(1-x)) f = x+1