ΑΣΚΗΣΗ 1: ΧΡΩΜΑΤΙΚΟΣ ΚΩΔΙΚΑΣ ΑΝΤΙΣΤΑΣΕΩΝ ΠΑΡΑΔΕΙΓΜΑ: ΚΙΤΡΙΝΟ (4), ΠΡΑΣΙΝΟ (5), ΠΟΡΤΟΚΑΛΙ (x1000), ΑΣΗΜΙ (10%) ΤΙΜΗ ΑΝΤΙΣΤΑΣΗΣ: 45 x10 3 Ω=45kΩ, ΑΚΡΙΒΕΙΑ =10% Γράψτε κώδικα matlab ο οποίος θα διαβάζει το χρωματικό κώδικα μιας αντίστασης και θα αποδίδει την τιμή της σε Ω και την ακρίβειά της. Υπόδειξη: χρησιμοποιείστε την εντολή switch/case
Αποθηκεύστε τον ακόλουθο κώδικα με το όνομα res_calc.m fprintf ('Εισάγετε τα χρώματα των τεσσάρων λωρίδων χρησιμοποιώντας την αγγλική \n') fprintf ('τους ονομασία, μέσα σε μονά εισαγωγικά π.χ \n ') un=input('χρώμα 1ης λωρίδας '); tn=input('χρώμα 2ης λωρίδας '); hnd=input('χρώμα 3ης λωρίδας '); tol=input('χρώμα 4ης λωρίδας '); [res, tolerance]=col_code(un,tn,hnd,tol) Στη συνέχεια, αποθηκεύστε τη συνάρτηση στο αρχείο col_code.m function [resistance, tolerance ] = col_code( unts, tns, hndrts, tol ) % H συνάρτηση αυτή δέχεται σαν εισόδους τα χρώματα των τεσσάρων % χρωματιστών λωρίδων μιας αντίστασης και επιστρέφει ως αποτέλεσμα % την τιμή της σε Ω καθώς και την ακρίβειά της. % Χρησιμοποιεί: τις εντολές switch/case για την αντιστοίχιση των χρωμάτων % σε αριθμούς, την εντολή strcat για τη συνένωση χαρακτήρων και την % εντολή str2num για τη μετατροπή χαρακτήρα σε αριθμό. %-------------------------------------------- switch unts case 'black' value1='0'; case 'brown' value1='1'; case 'red' value1='2'; case 'orange' value1='3'; case 'yellow' value1='4'; case 'green' value1='5'; case 'blue' value1='6'; case 'violet' value1='7'; case 'grey' value1='8'; case 'white' value1='9'; %---------------------------------------------- switch tns case 'black' value2='0'; case 'brown' value2='1'; case 'red' value2='2'; case 'orange' value2='3'; case 'yellow' value2='4'; case 'green' value2='5'; case 'blue' value2='6'; case 'violet' value2='7'; case 'grey' value2='8';
case 'white' value2='9'; %---------------------------------------------- switch hndrts case 'black' value3=1; case 'brown' value3=10; case 'red' value3=100; case 'orange' value3=1000; case 'yellow' value3=10000; case 'green' value3=100000; case 'blue' value3=1000000; case 'violet' value3=10000000; case 'grey' value3=100000000; case 'white' value3=1000000000; %-------------------------------------------- switch tol case 'silver' value4='10%'; case 'gold' value4='5%'; %-------------------------------------------- value1=strcat(value1,value2); value1=str2num(value1); resistance=value1*value3; tolerance=value4;
ΑΣΚΗΣΗ 2: ΑΝΑΛΥΣΗ ΚΥΚΛΩΜΑΤΩΝ ΑΝΤΙΣΤΑΣΕΩΝ Να υπολογισθεί η τιμή της τάσης V S προκειμένου το ρεύμα I στο κύκλωμα του σχήματος (a) να έχει τιμή 1Α. Γράψτε κώδικα στο matlab που θα υλοποιεί τους υπολογισμούς σας. Οι αντιστάσεις R 1, R 2 και R 3 είναι συνδεδεμένες σε σειρά και μπορούν να αντικατασταθούν από μία ισοδύναμη αντίσταση Rs που υπολογίζεται από τη σχέση: Rs=R 1 +R 2 +R 3 (1.1) Οι αντιστάσεις R 4, R 5 και R 6 είναι συνδεδεμένες παράλληλα και μπορούν να αντικατασταθούν από μία ισοδύναμη αντίσταση Rp που υπολογίζεται από τη σχέση: R p = 1 1 R4 + 1 + 1 R 5 R6 (1.2) Στο σχήμα (b) οι αντιστάσεις R 1, R 2 και R 3 έχουν αντικατασταθεί από την Rs και οι R 4, R 5 και R 6 από την Rp. Ετσι, η τάση στα άκρα της Rp μπορεί να υπολογισθεί από τη σχέση: V 0 = R P R P +R S V S (1.3) Η τάση αυτή είναι ίση με την τάση στα άκρα της R 6, οπότε το ρεύμα I μπορεί να υπολογισθεί από τη σχέση: I = V 0 R 6 (1.4)
Στο σχήμα (c) παρουσιάζεται η μεταβολή του ρεύματος I συναρτήσει της Vs για το κύκλωμα του σχήματος (a). Από το σχήμα αυτό εύκολα προκύπτει ότι η απαιτούμενη τάση είναι 14Volt. % Ανάλυση κυκλώματος αντιστάσεων με χρήση του MATLAB % Μεταβολή της τάσης εισόδου από 0 μέχρι 16 volts με βήμα 0.1 volt. Vs = 0:0.1:16; % Εισαγωγή αντιστάσεων. R1 = 1; R2 = 2; R3 = 3; % αντιστάσεις σειράς R4 = 6; R5 = 3; R6 = 2; % παράλληλες αντιστάσεις % Υπολογισμός της τιμής του ρεύματος I, για κάθε τιμή του Vs. Rs = R1 + R2 + R3; % Σχέση 1.1 Rp = 1 / (1/R4 +1/R5 +1/R6); % Σχέση 1.2 for k=1:length(vs) VR(k) = Vs(k) * Rp / (Rp + Rs); % Σχέση 1.3 I(k) = VR(k) / R6; % Σχέση 1.4 % Γραφική παράσταση του I συναρτήσει του Vs. plot(vs, I) grid xlabel('vs, V'), ylabel('i, A') title('current in R6')
ΑΣΚΗΣΗ 3: ΑΠΟΚΡΙΣΗ ΣΥΧΝΟΤΗΤΑΣ Υπολογίστε την απόκριση συχνότητας του παρακάτω κυκλώματος: L 1 = 1mH, C 1 = 2μF, L 2 = 4μH, C 2 = 50μF, R= 1Ω, V s = 10V με f= 200H z εως 40000H z 1. Δημιουργία συνάρτησης Matlab που θα υπολογίζει παράλληλους συνδυασμούς συνθέτων αντιστάσεων. Αποθήκευση ως parallel.m function par = parallel(z1,z2) % Υπολογιζει τον παραλληλο συνδυασμό δυο σύνθετων αντιστάσεων par = Z1Z2/(Z1+Z2) return 2. Αποθηκεύστε τον ακόλουθο κώδικα σε αρχείο με το όνομα ButterwortFilte.m και στη συνέχεια εκτελέστε το. L1= xxx;c1=xxx;l2=xxx;c2=xxx;r=xxx; frequency=[];h=[]; % ορισμος κενων πινακων %For LOOP for f=200:50:40000 w=2pif; % Κυκλική Συχνότητα % Ορισμός Σύνθετων αντιστάσεων X1=iwL1; X2=xxxx X3=xxxx X4=xxxx Vs=10 % κλήση συνάρτησης parallel που υπολογίζει παράλληλο συνδυασμό % αντιστάσεων Zparallel1=parallel(X3,X4); Zparallel2=parallel(Zparallel1,R); % Συνολική Συνθετη αντισταση Zall= X1+X2+Zparallel2; % Υπολογισμός τασεως εξοδου Vout = Vs*(Zparallel2/Zall)
% Δημιουργια ανυσματος συχνοτητων frequency = [frequency,f] % Υπολογισμός της απολυτου τασεως εξοδου vout = abs(vout) % Δημιουργια ανυσματος ευρους εξοδου H = [H, vout] plot xxxxxx xlabel xxxxx ylabel(xxxxx title xxxx
ΑΣΚΗΣΗ 4: ΠΑΡΑΣΤΑΣΗ ΤΑΣΗΣ ΚΑΙ ΡΕΥΜΑΤΟΣ ΠΥΚΝΩΤΗ Το ρεύμα σε ένα πυκνωτή 2F, συναρτήσει του χρόνου t δίνεται από τη σχέση: 4 t + 2 I(t) = 20-2t - 8 t < 2 2 < t < 6 6 < t < 14 t > 14 ενώ η τάση στα άκρα του προκύπτει από τη σχέση: 2t 5 2 t + t 4 V(t) 4 = 2 t + 10t 31 2 67 4t Να γράψετε μια συνάρτηση για τον υπολογισμό του ρεύματος του πυκνωτή και μια για τον υπολογισμό της τάσης στα άκρα του συναρτήσει του χρόνου. Ονομάστε τις συναρτήσεις αυτές function current= CapacitorCurrent(t) και function voltage= CapacitorVoltage(t) Στη συνέχεια χρησιμοποιείστε τη συνάρτηση plot για να κάνετε τις γραφικές τους παραστάσεις. ΥΠΟΔΕΙΞΕΙΣ: (ΜΟΝΟ ΓΙΑ ΡΕΥΜΑ) Αποθηκεύστε την ακόλουθη συνάρτηση με το όνομα capacitorcurrent.m function current = capacitorcurrent(t) if t<2 current =4; elseif t<6 current = t+2; elseif t<14 current= 20-2*t; else current=-8 t < 2 2 < t < 6 6 < t < 14 t > 14 Αποθηκεύστε τον παρακάτω κώδικα με το όνομα plotcapacitorcurrent.m και στη συνέχεια εκτελέστε τον. t=0:1:30; for i=1:1:length(t) current(i)= capacitorcurrent(i-1); plot (t, current) Εργασθείτε ανάλογα για να υπολογίσετε και να παραστήσετε γραφικά την τάση του πυκνωτή συναρτήσει του χρόνου.
ΑΣΚΗΣΗ 5: ΑΝΑΔΡΟΜΙΚΕΣ ΣΧΕΣΕΙΣ Σε ένα ψηφιακό σύστημα, (φίλτρο) η τρέχουσα τιμή μιας εξόδου συναρτήσει της προηγούμενης τιμής της δίνεται από την ακόλουθη σχέση: x n = 2 + 2x 2 + x n-1 n-1 Υπολογίστε την τιμή του x n για 40 τιμές του n, χρησιμοποιώντας σαν αρχική τιμή x 1 =1. Εμφανίστε τα αποτελέσματα σε στήλες. Στη συνέχεια, υπολογίστε όλες τις τιμές x n (χρήση της εντολής while για τις οποίες: 1 xn x n-1 > 10 2 4