Άσκηση 1 Άσκηση 1. Δίνεται το παρακάτω σύστημα

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Εισαγωγή στην Επιστήμη των Η/Υ ΙΙ Μάθημα 6 Παλινδρόμηση – Δημιουργία Video - Συναρτήσεις - GUI
Advertisements

Εισαγωγή στους Η/Υ Πίνακες.
Εκκίνηση του MATLAB.
Μάθημα 2 Εισαγωγή στην Επιστήμη των Η/Υ ΙΙ
MATrix LABoratory Εισαγωγή στο MatLab
Εισαγωγή στο MATLAB.
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος γ
ΗΥ-150 Προγραμματισμός Εντολές Ελέγχου Ροής.
ΠΠΜ 221: Στατική Ανάλυση των Κατασκευών ΙI
Προγραμματισμός στο ΜatLab
Νευρωνικά Δίκτυα Εργαστήριο Εικόνας, Βίντεο και Πολυμέσων
Τομέας Γεωδαισίας και Τοπογραφίας 3ο Εξάμηνο
ΗΜΥ 100 Εισαγωγή στην Τεχνολογία 7 Νοεμβρίου 2008 Στυλιανή Πετρούδη ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΠΑΝΕΠΙΣΤΗΜΙΟ.
Η ΓΛΩΣΣΑ C ΜΑΘΗΜΑ 2.
Υποθετικός τελεστής Ο υποθετικός τελεστής (?:) αποτελείται από δύο σύμβολα. Ανήκει στην κατηγορία των τελεστών που αποτελούνται από συνδυασμό συμβόλων.
Προγραμματισμός ΙΙ Διάλεξη #6: Απλές Δομές Ελέγχου Δρ. Νικ. Λιόλιος.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java II.
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
Ενότητα Α.4. Δομημένος Προγραμματισμός
Επικοινωνία Ανθρώπου Μηχανής HTML CGI JAVASCRIPT Κουμπούλης Χρήστος Α.Μ. 921 Χαλαβαζής Βασίλης Α.Μ. 988.
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ (ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ - ΣΥΝΑΡΤΗΣΕΙΣ) Καλλονιάτης Χρήστος Επίκουρος Καθηγητής Τμήμα Πολιτισμικής Τεχνολογίας.
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Αναδρομή (1/2)
Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ - 4ο εξάμηνο1 Ανάλυση Αλγορίθμων b Θέματα: Ορθότητα Χρονική αποδοτικότητα Χωρική αποδοτικότητα Βελτιστότητα b Προσεγγίσεις:
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
Διαφάνειες παρουσίασης #2
ΗΥ 150 – Προγραμματισμός Ξενοφών Ζαμπούλης ΗΥ -150 Προγραμματισμός Αρχεία.
Επιστημονικός Υπολογισμός Ι Πρώτο Εργαστήριο Εισαγωγή στο matlab 15 Οκτωβρίου 2010 Γιώργος Δρακόπουλος ΤΜΗΥΠ.
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι 4-1 Στην ενότητα αυτή θα μελετηθεί η χρήση στοιβών στις εξής εφαρμογές: Αναδρομικές συναρτήσεις Ισοζυγισμός Παρενθέσεων.
ΗΥ150 – ΠρογραμματισμόςΞ. Ζαμπούλης ΗΥ-150 Προγραμματισμός Αρχεία.
Μερικές φορές το αποτέλεσμα εμφανίζεται αμέσως από κάτω.
Οι εντολές επανάληψης Σε πολλά προβλήματα απαιτείται η επανάληψη ενός συνόλου ενεργειών προκειμένου να λυθεί το πρόβλημα. Θα αναφέρουμε δύο χαρακτηριστικά.
Πολυδιάστατοι πίνακες α) Στατικοί πίνακες Πως δηλώνονται: π.χ. INTEGER A(3,5) REAL B(1991:2000,1:12) REAL C(4,8,12:20) ή INTEGER, DIMENSION(3,5)::A REAL,
Ο τελεστής ανάθεσης Ο τελεστής ανάθεσης (=) χρησιμοποιείται για να τοποθετήσουμε το αποτέλεσμα μιας έκφρασης (σταθερά, μεταβλητή ή παράσταση) σε μια μεταβλητή.
Υποπίνακες REAL A(10) A(1:9:2)=7 τότε θα έχουμε A(1)=A(3)=A(5)=A(7)=A(9)=7 A(3:)=7 τότε θα έχουμε A(3)=…=A(10)=7 A(:5)=7 τότε θα έχουμε A(1)=A(2)=A(3)=A(4)=A(5)=7.
ΗΥ150 – ΠρογραμματισμόςΞενοφών Ζαμπούλης ΗΥ-150 Προγραμματισμός Αναδρομή (1/2)
Βασικά στοιχεία της Java
2) Aν δανειστούμε ένα ποσό Α με επιτόκιο Τ=Ε% και υποχρεωθούμε να το ξεχρεώσουμε σε Ν χρόνια, τότε το ποσό της μηνιαίας δόσης Μ θα δίνεται από τον τύπο.
Επικ. Καθ. Νίκος ΚαραμπετάκηςΤμήμα Μαθηματικών, Α.Π.Θ. Άσκηση 1 (από πρώτο μάθημα) figure(1) subplot(1,2,1) w=-10:0.1:10; m=1; plot(w,m) grid xlabel('w-complex')
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ «Εισαγωγή στον οντοκεντρικό προγραμματισμό (βασική εισαγωγή στο περιβάλλον εργασίας)» Ρουσσάκης Ιωάννης, ΤΕΙ Κρήτης,
Καθηγητής Νίκος Λορέντζος Προγραμματισμός & Εφαρμογές Υπολογιστών Κωδικός Μαθήματος: 2890 Κωδικός Διαφανειών: MKT130 Γεωπονικό Πανεπιστήμιο Αθηνών Τμήμα.
ΑΣΤΡΙΝΆΚΗ ΜΑΡΊΑ Δυσδιάστατοι πίνακες. Γιατί πολυδιάστατους πίνακες; Αναλόγως με τις ανάγκες του προγράμματος, μπορεί να είναι πιο εύχρηστοι Προβλήματα.
Καθηγητής Νίκος Λορέντζος Προγραμματισμός & Εφαρμογές Υπολογιστών Κωδικός Μαθήματος: 2890 Κωδικός Διαφανειών: MKT130 Γεωπονικό Πανεπιστήμιο Αθηνών Τμήμα.
Δομές Επανάληψης ΕΡΓΑΣΤΗΡΙΟ AΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΧΟΧΟΛΗΣ ΔΙΟΝΥΣΙΟΣ.
Βρόχος Do … Loop Σκοπός Μαθήματος Χρήση Do… Loop για την εκτέλεση μιας ομάδας εντολών μέχρι να εκπληρωθεί μια συγκεκριμένη συνθήκη. Αθήνα, 2015.
Εισαγωγή στην Αριθμητική Ανάλυση Εισαγωγή στη MATLAB
Βρόχος Do … Loop Σκοπός Μαθήματος Χρήση Do… Loop για την εκτέλεση μιας ομάδας εντολών μέχρι να εκπληρωθεί μια συγκεκριμένη συνθήκη.
Αντικειμενοστραφής Προγραμματισμός ΙΙ
ΑΛΓΟΡΙΘΜΟΣ ΠΡΟΒΛΗΜΑ ΑΛΓΟΡΙΘΜΟΣ ΛΥΣΗ
Εφαρμογές Υπολογιστών
ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ
ΔΟΜΗ ΑΠΛΗΣ ΕΠΙΛΟΓΗΣ ΑΝ συνθήκη_ισχύει ΤΟΤΕ εντολές ΤΕΛΟΣ_ΑΝ
Ενισχυτική διδασκαλία
Εφαρμογές Υπολογιστών
Ενισχυτική διδασκαλία
Υλοποίηση ψηφιακών φίλτρων
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
ΔΟΜΕΣ ΕΛΕΓΧΟΥ(if-else, switch) και Λογικοί τελεστές / παραστάσεις
ΣΥΝΑΡΤΗΣΕΙΣ (Functions)
MATLAB A MATrix LABoratoty
Επισκέπτρια Επίκουρη Καθηγήτρια
β’ εξάμηνο – εργαστήριο
Τελεστές και ή όχι Για την εκτέλεση αριθμητικών πράξεων
Εντολές και δομές αλγορίθμου
Select Case Σκοπός: Εκμάθηση της εντολής (δομής) Select Case ώστε να μπορείτε να διαλέγετε μια επιλογή ανάμεσα σε πολλές διαθέσιμες στον κώδικα του προγράμματος.
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ Η/Υ
Προγραμματισμός & Εφαρμογές Η/Υ (Θ)
ΗΥ-150 Προγραμματισμός Αναδρομή (1/2).
Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου
Μεταγράφημα παρουσίασης:

Άσκηση 1 Άσκηση 1. Δίνεται το παρακάτω σύστημα Με την βοήθεια των μετασχηματισμών Laplace, να βρεθεί η λύση του παραπάνω συστήματος με είσοδο u(t)=cos(t) και να σχεδιασθεί η γραφική παράσταση του ζεύγους (x1(t),x2(t)) για x=0,0.1,…,5.

Λύση άσκησης 1 subplot(1,2,1) a=[1 -2 ; -2 1]; plot(t1,y1) b=[0 ; 1]; x0=[-1 ; 1]; syms t x s; i1=eye(2) ut=cos(t); us=laplace(ut,t,s); xs=inv(s*i1-a)*(x0+b*us); x1=ilaplace(xs(1),s,t) x2=ilaplace(xs(2),s,t) t1=[0:0.1:10]; y1=subs(x1,t,t1); y2=subs(x2,t,t1); subplot(1,2,1) plot(t1,y1) xlabel('t') ylabel('x1') grid subplot(1,2,2) plot(t1,y2) ylabel('x2') ezplot(f) ezplot(f,[min,max]) ezplot(f,[xmin,xmax,ymin,ymax]) ezplot(x,y) ezplot(x,y,[tmin,tmax]) ezplot(...,figure)

Άσκηση 2 (για σπίτι) Άσκηση 2. Δίνεται το παρακάτω σύστημα Με την βοήθεια του μετασχηματισμού Z, να βρεθεί η λύση του παραπάνω συστήματος με είσοδο u(k)=k.

Λύση άσκησης 2 a=[1 3 ; 1 -1]; b=[-1 ; 1]; x0=[-1 ; 1]; syms k z x1 x2; i1=eye(2); uk=k; uz=ztrans(uk,k,z); xz=inv(z*i1-a)*(z*x0+b*uz); x1=iztrans(xz(1),z,k) x2=iztrans(xz(2),z,k) k1=[0:1:20]; y1=subs(x1,k,k1); y2=subs(x2,k,k1); subplot(1,2,1) plot(t1,y1) % ezplot(x1,[0,10]) xlabel('t') ylabel('x1') grid subplot(1,2,2) plot(t1,y2) % ezplot(x2,[0,10]) ylabel('x2')

Άσκηση 3 (για σπίτι) Άσκηση 3. Δίνονται οι πίνακες Να δημιουργήσετε τον πίνακα και να υπολογίσετε α) το χαρακτηριστικό του πολυώνυμο, β) τις ιδιοτιμές και ιδιοανύσματα του, γ) την Jordan μορφή του. Να δείξετε επίσης ότι sin(A)2 +cos(A)2=I

Λύση άσκησης 3 clear all a0=[1 3 ; 1 -1]; a1=[2 3 ; 4 0]; a2=eye(2); z=zeros(2,2); a=[a2 z z ; z a2 z ; -a0 -a1 -a2] poly(a) [x,e]=eig(a) jordan(a) e=expm(i*a); c=real(e); s=imag(e); c^2+s^2 % funm(a,@sin)^2+funm(a,@cos)^2

Προγραμματισμός στο MATLAB (Είσοδος-έξοδος) clc : Καθαρίζει το command window (χρησιμοποιείται στα M-file για να αρχίζει η έξοδος των αποτελεσμάτων πάντα στο ίδιο σημείο. % : σχόλια π.χ. % Το πρόγραμμα αυτό … disp(μεταβλητές) : εμφανίζει κείμενο ή έναν πίνακα στην οθόνη π.χ. disp(‘Text’) ή disp(rand(3,3)). Η display(μεταβλητές) εμφανίζει το μήνυμα μεταβλητή=τιμή, ενώ η disp μόνο το περιεχόμενο των μεταβλητών. input(‘string’) : εμφανίζει στον χρήστη το μήνυμα ‘string’ και περιμένει την επιστροφή μιας τιμής π.χ. A=input(‘Δώσε μια τιμή για το Α :’). Είναι δυνατό να επιστρέψει string ως έξοδο αν συνταχθεί ως εξής : input(‘string’,’s’).

Παράδειγμα % % Example of input-output % Clear command window clc % Input elements to the matrix A a=input('Give the elements of a 2 by 3 matrix :'); % Display the matrix display(a)

Διαχείριση αρχείων (είσοδος-έξοδος δεδομένων) fopen(όνομα αρχείου) : ανοίγει ένα αρχείο π.χ. fid=fopen(‘nikos’) ανοίγει το αρχείο ‘nikos’ και επιστρέφεται ένας αριθμός που θα χρησιμοποιηθεί όταν αναφερόμαστε στο αρχείο αυτό με την fprintf και fscanf. Συνοδεύεται από έναν χαρακτήρα π.χ. ‘r’ ανοίγει ένα αρχείο για ανάγνωση, ‘w’ ανοίγει ένα αρχείο ή δημιουργεί ένα καινούριο, διαγράφοντας το περιεχόμενο του, ‘a’ ανοίγει ένα αρχείο με σκοπό την προσθήκη στοιχείων στο τέλος του αρχείου, ‘r+’ ανάγνωση και γραφή, ‘w+’ ανάγνωση και γραφή με διαγραφή τυχόν στοιχείων. fclose(fid) : κλείνει το αρχείο που αντιστοιχεί στο fid. fprintf(fid,format,μεταβλητές) : τοποθετεί το περιεχόμενο των μεταβλητών στο αρχείο που έχει δηλωθεί μέσω της open με το fid (1 αν τα αποτελέσματα παν στην οθόνη και 2 σε περίπτωση λάθους). Ο τρόπος που θα τυπωθούν οι μεταβλητές καθορίζεται από το format (μορφοποίηση). fscanf(fid, format, μεταβλητές) : Διαβάζει τα περιεχόμενα ενός αρχείου σε έναν πίνακα. Στο τέλος τοποθετούμε n το σύνολο των στοιχείων που θα τοποθετήσουμε σε ένα διάνυσμα στήλη, inf αν θέλουμε να τοποθετήσουμε όλα τα στοιχεία σε ένα διάνυσμα στήλη, και [n,m] αν θέλουμε να τοποθετήσουμε αρκετά στοιχεία για να γεμίσουμε έναν πίνακα nxm.

Μορφοποίηση για είσοδο-έξοδο δεδομένων Μορφοποίηση εισόδου-εξόδου δεδομένων Χαρακτήρες ελέγχου (escape characters) Τύποι Μορφοποίησης (Conversion characters) \n Νέα γραμμή \t Στηλοθέτης (tab) \f Νέα σελίδα %e Εκθετικός %f Δεκαδικός %u Ακέραιος %s Αλυσίδα χαρακτήρων (string)

Παράδειγμα % Δημιουργία τριγωνομετρικού πίνακα clc; % open file for writing fid=fopen('ex2.txt','w'); % calculate sin, cos and store into files t=linspace(0,90,360); for i=1:360 c=t(i)*pi/180; fprintf(fid,'%10.7f %10.7f %10.7f \n', t(i), sin(c), cos(c)); end % close file fclose(fid);

Παράδειγμα % Εμφάνιση των στοιχείων του τριγωνομετρικού πίνακα clc; % open file for reading fid=fopen('ex2.txt','r'); % read file in a 3 row matrix x=fscanf(fid, '%10f %10f %10f', [3 inf]); % find the transpose of x x=transpose(x); % print the matrix fprintf(1,'%10.4f %10.4f %10.4f \n', x) % close file fclose(fid);

Δομές Ελέγχου (if-then-else) if expression statements end if expression1 elseif expression2 else Εάν (συνθήκη) εκφράσεις Τέλος Εάν ισχύει η συνθήκη1 διαφορετικά αν ισχύει η συνθήκη2 διαφορετικά τέλος

Τελεστές σύγκρισης – Λογικοί τελεστές & λογικό AND | λογικό OR ~ λογικό NOT Τελεστές σύγκρισης == ίσο <= μικρότερο ίσο >= μεγαλύτερο ίσο ~= άνισο < μικρότερο > μεγαλύτερο

Παράδειγμα clc; a=input('Give me two numbers (a(1),a(2)) in order to solve a(1)x+a(2)=0 : '); if (a(1)==0) if (a(2)==0) disp('Infinity number of solutions') else disp('Not compatible') end x=-a(2)/a(1); fprintf(1,'x= %10.4f', x)

Άσκηση Να γραφεί πρόγραμμα που θα δέχεται τα στοιχεία ενός πολυωνύμου και θα ελέγχει αν έχει όλες τις ρίζες του αρνητικές. x=input('Give me a polynomial :'); y=roots(x); if y<0 disp('stable'); else disp('unstable'); end;

Δομές Ελέγχου (switch) switch switch_expr case case_expr statement,...,statement case {case_expr1,case_expr2,case_expr3,...} ... otherwise end

Παράδειγμα clc; grade=input('Grade='); switch grade(1) case {0,1,2,3,4} disp('fail') case 5 disp('pass') case {6,7} disp('good') case {8,9} disp('very good') case 10 disp('excellent') otherwise disp('error') end

Άσκηση Να γραφεί πρόγραμμα που θα ζητάει δύο συναρτήσεις μεταφοράς G1 (αριθμητής n1, παρονομαστής d1) και G2 (αριθμητής n2, παρονομαστής d2). Στη συνέχεια θα ρωτάει αν θέλουμε την σύνδεση σε σειρά ή την παράλληλη σύνδεση και θα υπολογίζει αντίστοιχα την συνάρτηση μεταφοράς. n1=input('Numerator of G1 ='); d1=input('Denominator of G1 ='); n2=input('Numerator of G2 ='); d2=input('Denominator of G2 ='); disp('1. Series Connection') disp('2. Parallel Connection') n=input('Select :');

Άσκηση switch n case 1 ns=conv(n1,n2) ds=conv(d1,d2) case 2 n11=conv(n1,d2); n12=conv(n2,d1); if length(n11)>length(n12) ns=[zeros(1,length(n11)-length(n12)) n12]+n11 elseif length(n12)>length(n11) ns=[zeros(1,length(n12)-length(n11)) n11]+n12 else ns=n11+n12 end; otherwise disp('error') end

Δομές επανάληψης (for) for variable = expression statement ... end όπου expression-> scalar : scalar n=input('dimension of the matrix (nxn) ='); a = zeros(n,n); % Preallocate matrix for i = 1:n for j = 1:n a(i,j) = 1/(i+j -1); end

Άσκηση Να υπολογίσετε την λύση του παρακάτω συστήματος για k=0,0.01,..,10 και στη συνέχεια να κάνετε την γραφική παράσταση της λύσης. με είσοδο u(k)=k. x=[-1 ; 1]; b=[-1 ; 1]; a=[1 3 ; 1 -1]; x=[x a*x+b*0]; for i=2:1000 k=i/100; x=[x a*x(:,i-1)+b*k]; end; k=[0:0.01:10]; plot(k,x);

Δομές επανάληψης (while) while expression statements end n=input('which fibonacci number do you want (n) =') f=[1 1]; i=1; while i<=n-1; f(i+2)=f(i+1)+f(i); i=i+1; end; fprintf('f( %3u )= %10.4f', n,f(n+1))

Παράδειγμα Να υπολογισθεί ο παρακάτω πίνακας με ακρίβεια 10^(-6) a=input('Give a matrix A :') i=1 s=eye(length(a)) oros=a pros=1e-6 while any(abs(oros))>pros s=s+oros i=i+1 oros=oros*a/i end s expm(a)

Διαφορά σε χρόνους εκτέλεσης Save As ‘timing’ >> clear i a >> timing e1 = 1.9200 e2 = 0.0500 t1=clock; for i=1:10000 a(i)=log(i); end; e1=etime(clock,t1) t2=clock; ind=[1:10000]; a=log(ind); e2=etime(clock,t2)

Συναρτήσεις (functions) έξοδος είσοδος function [out1,out2,..]=όνομα(in1, in2,…) % σχόλια εντολές MATLAB function [mean,stdev] = stat(x) % returns the mean and and the standard deviation of a vector x n = length(x); mean = sum(x)/n; stdev = sqrt(sum((x-mean).^2/(n-1))); * Αποθηκεύεται με το ίδιο όνομα της συνάρτησης.

Συναρτήσεις (εκτέλεση μιας συνάρτησης) >> help stat returns the mean and and the standard deviation of a vector x >> x=[1 2 3]; >> [m,s]=stat(x) m = 2 s = 0.8165

Συναρτήσεις (1 ή παραπάνω ορίσματα) function r = rank(A,tol) % RANK Matrix rank. % RANK(A) provides an estimate of the number of linearly % independent rows or columns of a matrix A. % RANK(A,tol) is the number of singular values of A % that are larger than tol. % RANK(A) uses the default tol = max(size(A)) * norm(A) * eps. s = svd(A); if nargin==1 tol = max(size(A)') * max(s) * eps; end r = sum(s > tol);

Άσκηση Να δημιουργηθεί συνάρτηση που θα δέχεται ως είσοδο α) τον αριθμητή και παρονομαστή (ng,dg) της συνάρτησης μεταφοράς G(s) και β) τον αριθμητή και παρονομαστή (nk,dk) της συνάρτησης μεταφοράς Κ(s) και θα επιστρέφει ως έξοδο τον αριθμητή και παρονομαστή (ngk,dgk) της συνάρτηση μεταφοράς του κλειστού συστήματος έστω H(s) * length(x) : Διάσταση ενός πίνακα x.

Απάντηση function [ngk,dgk] = cltf(ng,dg,nk,dk) % Assume that G=ng/dg and K=nk/dk are in series % in a unity feedback configuation. % Given the ng,dg,nk,dk the function returns % the numerator ngk and denominator dgk of the closed % loop transfer function matrix ngk=conv(ng,nk); dgk1=conv(dg,dk); dgk2=conv(ng,nk); if (length(dgk1)>length(dgk2)) dgk2=[zeros(1,length(dgk1)-length(dgk2)) dgk2]; dgk=dgk1+dgk2; elseif (length(dgk1)<length(dgk2)) dgk1=[zeros(1,length(dgk2)-length(dgk1)) dgk1]; else end

Άσκηση 1 (για σπίτι) Να δημιουργηθεί συνάρτηση που θα δέχεται ως είσοδο α) τον αριθμητή και παρονομαστή (ng,dg) της συνάρτησης μεταφοράς G(s) και β) τον αριθμητή και παρονομαστή (nk,dk) της συνάρτησης μεταφοράς Κ(s) και θα επιστρέφει ως έξοδο τον αριθμητή και παρονομαστή (ngk,dgk) της συνάρτηση μεταφοράς του κλειστού συστήματος έστω H(s)

Άσκηση 2 (για σπίτι) Να δημιουργηθεί συνάρτηση που θα δέχεται ως είσοδο τους πίνακες A, B, C, D και εφόσον ελέγξει αν οι διαστάσεις τους είναι συμβατές για περιγραφή του παρακάτω συστήματος στη συνέχεια θα υπολογίζει την συνάρτηση μεταφοράς του συστήματος G(s)