TALLER DE MATLAB CIRCUITOS II

TALLER DE MATLAB CIRCUITOS Ii

Presentado por: David Raúl quintero sarmiento      código: 222754

                                  Jose Ricardo torres                         Código: 2227

1.    Para generar la tabla de los valores de tensión en el tiempo se implemento el programa, se introdujo un arreglo asi:

t=0:5:50

V=10*(1-exp(-(0.2*t)))

plot(t,V)

xlabel('t [s]')

ylabel('Tensión del Condensador [V]')

grid on

Tabla=([t',V'])

 

El resultado obtenido fue el siguiente:

 

 

 

2.    El número complejo se evalúo directamente desde la consola de Matlab® como se muestra a continuación:

 

3.

4. Para hallar el voltaje V, dado por V=I*R, se introdujo la matriz de resistencia y el vector de corriente directamente evaluados en la consola:

 

5. La ecuación compleja se evaluó en la consola de la siguiente manera:

6. La gráfica de voltaje sobre el circuito RLC se encontró por medio del siguiente código:

clear all

t=(0:1e-3:8.5);

for i=1:length(t)

    V(i)=5*exp(2*t(i))*sin(1000*pi*t(i));

end

plot(t,V)

xlabel('Tiempo')

ylabel('Voltaje')

TITLE ('Voltaje en circuito RLC')

grid on

 

 

7. Para graficar la función polinomial de cuarto grado se hizo de manera similar al ejercicio anterior:

x=-1000:1:1000;

y=x.^4+3*x.^3+4*x.^2+2*x+6;

plot(x,y);

grid on

 

 

 

Para encontrar las raíces del polinomio utilizamos la función roots:

8. El programa implementado para encontrar el doceavo termino de la serie de Fibonacci se hizo así:

clear all

F(1)=1;

F(2)=1;

for i=3:12

    F(i)=F(i-1)+F(i-2);

end

F

 

F =

     1     1     2     3     5     8    13    21    34    55    89   144

9. Dada una impedancia equivalente encontrar la gráfica del valor de la impedancia vs la frecuencia, encontrar la mínima impedancia y con que frecuencia ocurre la mínima impedancia.

Para hallar la gráfica se implemento el siguiente código:

clear all

w=(0:5:10e3);

for i=1:length(w)

    Z(i)=100+(4j*w(i))+(1/(1e-6j*w(i)));

end

plot(w,abs(Z))

xlabel('Frecuencia')

ylabel('Impedancia Equivalente')

TITLE('Impedancia Equivalente Vs Frecuencia')

grid on

 

 

syms w

solve((w*4*i)-(i/(w*1e-6)),w)

ans =

   500

  -500

Al escalar el valor de w a 490:5:510 se observa que la impedancia mínima se obtiene a una frecuencia de 500 rad/s. 

 

10. Al variar la resistencia RL en el circuito de 0 a 12, en incrementos de 2 Ω se obtienen distintos valores de su potencia que se hallan con el sistema de ecuaciones que surge de hacer mallas en el circuito. Aquí se tiene una matriz correspondiente a las resistencias y otra correspondiente a los voltajes, por lo tanto es posible despejar la matriz de las tres corrientes de malla aunque la que realmente interesa es la corriente de la malla en la que se encuentra la resistencia RL llamada en este caso I3. Con lo anterior se crea el siguiente código:

k=1;

V=[12;36;36];

for i=0:2:12

    R=[9 -6 0;6 -20 12;0 -12 15+i];

    I=(R^-1)*V;

    P(2,k)=(I(3,:)^2)*i;

    P(1,k)=i;

    k=k+1;

end

P

plot(P(1,:),P(2,:));

grid on

 

Se genera en la consola la siguiente tabla con los valores de potencia:

P =

         0    2.0000    4.0000    6.0000    8.0000   10.0000   12.0000

         0    7.0313    9.0000    9.3750    9.1837    8.7891    8.3333

La gráfica de potencia disipada con respecto al cambio de RL es:

La máxima potencia disipada por RL como se aprecia en la gráfica es de 9.375 [W]

11. En concordancia con los valores de la tabla anterior, el valor de resistencia para la cual la potencia disipada es máxima es de 6Ω.

12. Para hallar las corrientes de malla   e  respectivamente se plantean las ecuaciones de cada malla, se encuentran las matrices de resistencia y voltaje con el siguiente programa:

[Vareal,Vaimag]=pol2cart(0,120);

[Vbreal,Vbimag]=pol2cart(-2*pi/3,120);

[Vcreal,Vcimag]=pol2cart(2*pi/3,120); % defino los voltajes en forma polar

Va=Vareal+Vaimag*i;

Vb=Vbreal+Vbimag*i;

Vc=Vcreal+Vcimag*i; % obtengo su equivanlente en forma compleja

Z=[13+5i -2 -10-5i; -2 18+7i -15-7i; -10-5i -15-7i 37+9i]; % defino por mallas el vector de impedancias

A=1./Z; % calculo el vector admitancia

V=[180-103.923i; 0+207.846i; 0]; % defino el vector voltaje

I=A*V; % por ley de Ohm calculo el vector de Corrientes

I1=I(1,1)

I2=I(2,1)

I3=I(3,1) % muestro resultados de I1, I2, I3

IbB=I(1,1)-I(2,1) % de IbB= I1-I2

 

De esto se obtiene:

I1 =

  9.3834e+000 -1.1553e+002i

 

I2 =

 -86.0994 +61.9916i

 

I3 =

 -15.5530 + 4.1354i

 

IbB =

  9.5483e+001 -1.7752e+002i

 

13. Para encontrar los polos y ceros del sistema es necesario encontrar las raíces de los polinomios presentes, de esta manera, los inversos de las raíces del numerador serán los ceros y los del denominador serán los polos.

 

Los ceros se encuentran así:

 

roots ([1 4 16 4])

 

ans =  -1.8667 + 3.3941i

           -1.8667 - 3.3941i

    -0.2666        

 

Entonces los ceros son:

1.8667 + 3.3941i, 1.8667 + 3.3941i

0.2666.

Los polos se encuentra así:

 

roots ([1 20 12 1 10])

 

ans = -19.3822         

           -1.0565         

           0.2193 + 0.6635i

           0.2193 - 0.6635i

Entonces los polos son:

-0.2193 + 0.6635i, -0.2193 – 0.6635i,

19.3822 y 1.0565.

 

14. Para hallar las raíces de los polinomios utilizamos la función roots

Para el polinomio de segundo grado:

clear all

x=(-10:0.5:10);

for i=1:length(x)

     f(i)=(x(i))^2+4*x(i)+3;

end

plot(x,f)

xlabel('x')

ylabel('f(x)')

TITLE('Polinomio grado 2')

 

 

 

 

 

 

 

 

 

Para el polinomio de tercer grado:

clear all

x=(-4:1e-2:4);

for i=1:length(x)

     f(i)= (x(i))^3+5*(x(i))^2+9*x(i)+5;

end

plot(x,f)

xlabel('x')

ylabel('f(x)')

TITLE('Polinomio grado 3')

 

 

 

 

 

 

 

 

 

 

Para el polinomio de grado quinto:

x=(-3:1e-4:4);

for i=1:length(x)

     f(i)=2*(x(i))^5-4*(x(i))^4-12*(x(i))^3+27*(x(i))^2+8*x(i)-16;

end

plot(x,f)

xlabel('x')

ylabel('f(x)')

TITLE('Polinomio grado 5')

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

15. Se tiene una función de transferencia de un circuito, que relaciona los voltajes de salida y de entrada, para encontrar el voltaje de salida utilizamos la Transfromada de Laplace por medio del siguiente código:

 syms s t;

 Vi=2.3*exp(-2*t)*cos(5*t+(pi/6));

 FVi=laplace(Vi)

 Vo=(20*s*FVi)/(15*s^2+23*s+16)

 ilaplace(Vo)

 

Al correr el programa se obtuvo:

FVi =

 23/20*(3^(1/2)*s+2*3^(1/2)-5)/(s^2+4*s+29)

 

Vo =

23*s*(3^(1/2)*s+2*3^(1/2)-5)/(s^2+4*s+29)/(15*s^2+23*s+16)

ans =

23/13210150*(-sin(1/30*431^(1/2)*t)*431^(1/2)*(3289*3^(1/2)-8453)+431*cos(1/30*431^(1/2)*t)*(-419+47*3^(1/2)))*exp(-23/30*t)+23/30650*exp(-2*t)*(sin(5*t)*(47+419*3^(1/2))-cos(5*t)*(-419+47*3^(1/2)))

 

16. Diseño de un filtro pasabajos con parámetros

Wp=3000;  Ws=3300;  Amax=1dB;  Amin=40dB

function filtro=ejercicio16(Wp,Ws,Amax,Amin)

D1=1-10^(-Amax/20)

D2=10^(-Amin/20)

l=log((D1*(2-D1)*(D2^2))/((( 1-D1 )^2)*(1-D2^2)));

l2=log(Wp/Ws);

N=ceil((l/l2)/2)

W1=Wp/((10^(0.1*Amax)-1)^(1/(2*N)));

    W2=Ws/((10^(0.1*Amin)-1)^(1/(2*N)));

Wc=ceil((W1+W2)/2)

t=1:1:2*N;

H1=0*t;

H1(1)=1;

H1(2*N+1)=1;

Raices=roots(H1);

    for i=1:2*N

        if real(Raices(i))<0

           Pol(i)=Raices(i);

        end

   end

 [x,y]=zp2tf([],Pol,[1])

 y=y/Wc;

 [z,p,k]=tf2zpk(x,y);

H=zpk([z],[p],[k])

bode(H)

 

En Consola:

 

>> ejercicio16(3000,3300,1,40)

 

D1 =

 

    0.1087

 

 

D2 =

 

    0.0100

 

 

N =

 

    56

 

 

Wc =

 

        3038

 

 

x =

 

  Columns 1 through 20

 

     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0

 

  Columns 21 through 40

 

     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0

 

  Columns 41 through 57

 

     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     1

y =

 

  1.0e+013 *

 

  Columns 1 through 12

 

    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0001    0.0003

 

  Columns 13 through 24

 

    0.0008    0.0021    0.0051    0.0115    0.0241    0.0473    0.0869    0.1497    0.2423    0.3693    0.5307    0.7197

 

  Columns 25 through 36

 

    0.9223    1.1177    1.2816    1.3910    1.4295    1.3910    1.2816    1.1177    0.9223    0.7197    0.5307    0.3693

 

  Columns 37 through 48

 

    0.2423    0.1497    0.0869    0.0473    0.0241    0.0115    0.0051    0.0021    0.0008    0.0003    0.0001    0.0000

 

  Columns 49 through 57

 

    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000 

 

Y se obtienen las raíces del polinomio asì como la función de transferencia:

 

 

Zero/pole/gain:

 

                                                        3038

---------------------------------------------------------------------------------------------------------------------

(s+0.5502) (s+1.962) (s+1.578) (s+1.09) (s^2  + 1.049s + 0.2786) (s^2  + 0.9982s + 0.2695) (s^2  + 0.9498s + 0.2783)

                                                                                                                     

        (s^2  + 0.9016s + 0.3012) (s^2  + 0.8377s + 0.3271) (s^2  + 3.832s + 3.832) (s^2  + 0.754s + 0.3602)        

                                                                                                                     

        (s^2  + 0.6599s + 0.4076) (s^2  + 0.557s + 0.4721) (s^2  + 2.592s + 2.076) (s^2  + 0.4485s + 0.5572)        

                                                                                                                     

        (s^2  + 3.528s + 3.681) (s^2  + 0.3332s + 0.658) (s^2  + 0.2113s + 0.7695) (s^2  + 0.6575s + 0.9151)        

                                                                                                                     

        (s^2  + 0.1012s + 0.894) (s^2  + 0.03272s + 0.9994) (s^2  + 3.058s + 3.411) (s^2  + 0.1099s + 1.12)         

                                                                                                                    

        (s^2  + 0.2694s + 1.313) (s^2  + 2.519s + 3.067) (s^2  + 0.5076s + 1.549) (s^2  + 0.8204s + 1.812)          

                                                                                                                    

                                        (s^2  + 1.996s + 2.675) (s^2  + 1.564s + 2.331) (s^2  + 1.187s + 2.075)  

 

Y el diagrama de Bode:

 

 

Si se introduce una señal compuesta de varias señales senoidales:

Señal de entrada: Sin(377*t)+sin(3500*t) el código varía:

 

function filtro=ejercicio16d(Wp,Ws,Amax,Amin)

D1=1-10^(-Amax/20)

D2=10^(-Amin/20)

l=log((D1*(2-D1)*(D2^2))/((( 1-D1 )^2)*(1-D2^2)));

l2=log(Wp/Ws);

N=ceil((l/l2)/2)

W1=Wp/((10^(0.1*Amax)-1)^(1/(2*N)));

    W2=Ws/((10^(0.1*Amin)-1)^(1/(2*N)));

Wc=ceil((W1+W2)/2)

t=1:1:2*N;

H1=0*t;

H1(1)=1;

H1(2*N+1)=1;

Raices=roots(H1);

    for i=1:2*N

        if real(Raices(i))<0

           Pol(i)=Raices(i);

        end

   end

 [x,y]=zp2tf([],Pol,[1])

 y=y/Wc;

 [z,p,k]=tf2zpk(x,y);

H=zpk([z],[p],[k])

 

syms s t;

e= sin(377*t)+sin(3500*t);

es=laplace(e);

F1=tf(377, [1 0 142129]);

F2=tf(3500 ,[1 0 12250000]);

FT=F1+F2

FcE=H*FT;

figure

hold on

bode (H)

bode (FcE)

 

Se introducen los mismos parámetros y se obtiene la función de transferencia:

 

Transfer function:

3877 s^2 + 5.116e009

-------------------------------

s^4 + 1.239e007 s^2 + 1.741e012

 

y el diagrama de Bode:

 

Señal de entrada= Sin(377*t)+sin(3400*t).

Se utiliza el mismo algoritmo anterior obteniendo la función de transferencia:

 

Transfer function:

3877 s^2 + 4.856e009

------------------------------

s^4 + 1.17e007 s^2 + 1.643e012

 

y el diagrama de Bode:

 

 

 

17. Cuando se hace variar el orden del filtro el programa queda de la siguiente forma:

 

function filtro=ejercicio16(Wp,Ws,Amax,Amin,N)

W1=Wp/((10^(0.1*Amax)-1)^(1/(2*N)));

    W2=Ws/((10^(0.1*Amin)-1)^(1/(2*N)));

Wc=ceil((W1+W2)/2)

t=1:1:2*N;

H1=0*t;

H1(1)=1;

H1(2*N+1)=1;

Raices=roots(H1);

    for i=1:2*N

        if real(Raices(i))<0

           Pol(i)=Raices(i);

        end

   end

 [x,y]=zp2tf([],Pol,[1])

 y=y/Wc;

 [z,p,k]=tf2zpk(x,y);

H=zpk([z],[p],[k])

bode(H)

 

Ejemplo:

 

>> ejercicio17(3000,3300,1,40,100)

 

Wc =

 

        3086

 

x =

 

  Columns 1 through 20

 

     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0

 

  Columns 21 through 40

 

     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0

 

  Columns 41 through 60

 

     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0

 

  Columns 61 through 80

 

     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0

 

  Columns 81 through 100

 

     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0

 

  Column 101

 

     1

 

 

y =

 

  1.0e+024 *

 

  Columns 1 through 12

 

    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000

 

  Columns 13 through 24

 

    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000

 

  Columns 25 through 36

 

    0.0000    0.0001    0.0001    0.0003    0.0006    0.0013    0.0025    0.0047    0.0086    0.0153    0.0261    0.0430

 

  Columns 37 through 48

 

    0.0684    0.1052    0.1565    0.2251    0.3133    0.4221    0.5508    0.6961    0.8522    1.0111    1.1626    1.2958

 

  Columns 49 through 60

 

    1.4000    1.4665    1.4894    1.4665    1.4000    1.2958    1.1626    1.0111    0.8522    0.6961    0.5508    0.4221

 

  Columns 61 through 72

 

    0.3133    0.2251    0.1565    0.1052    0.0684    0.0430    0.0261    0.0153    0.0086    0.0047    0.0025    0.0013

 

  Columns 73 through 84

 

    0.0006    0.0003    0.0001    0.0001    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000

 

  Columns 85 through 96

 

    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000

 

  Columns 97 through 101

 

    0.0000    0.0000    0.0000    0.0000    0.0000

 

 

 

 

Zero/pole/gain:

 

                                                            3086

----------------------------------------------------------------------------------------------------------------------------

(s+0.2616) (s+0.4816) (s^2  + 5.211s + 6.792) (s^2  + 1.995s + 0.9973) (s^2  + 0.521s + 0.07052) (s^2  + 0.5199s + 0.07827)

                                                                                                                            

        (s^2  + 0.5154s + 0.08668) (s^2  + 0.883s + 0.2164) (s^2  + 0.4703s + 0.08931) (s^2  + 0.424s + 0.1001)            

                                                                                                                            

        (s^2  + 0.376s + 0.1173) (s^2  + 0.7164s + 0.2128) (s^2  + 6.914s + 12.05) (s^2  + 0.326s + 0.1412)                

                                                                                                                            

        (s^2  + 0.2733s + 0.1703) (s^2  + 0.4263s + 0.231) (s^2  + 0.2063s + 0.1973) (s^2  + 0.1237s + 0.2295)             

                                                                                                                            

        (s^2  + 2.272s + 1.543) (s^2  + 0.03964s + 0.2738) (s^2  + 1.485s + 0.8405) (s^2  - 0.04201s + 0.3296)             

                                                                                                                            

        (s^2  - 0.124s + 0.3968) (s^2  - 0.2081s + 0.4796) (s^2  + 3.092s + 2.868) (s^2  - 0.2918s + 0.5834)               

                                                                                                                            

        (s^2  - 0.3699s + 0.7118) (s^2  + 0.7847s + 0.8398) (s^2  - 0.03698s + 0.7616) (s^2  + 6.687s + 11.99)             

                                                                                                                            

        (s^2  - 0.4344s + 0.8636) (s^2  + 1.535s + 1.497) (s^2  - 0.4824s + 1.037) (s^2  + 0.3922s + 1.203)                

                                                                                                                            

        (s^2  - 0.5141s + 1.247) (s^2  - 0.5118s + 1.508) (s^2  - 0.4527s + 1.806) (s^2  + 6.193s + 11.65)                 

                                                                                                                            

        (s^2  - 0.3601s + 2.112) (s^2  - 0.2504s + 2.518) (s^2  - 0.04028s + 3.037) (s^2  + 5.383s + 10.67)                

                                                                                                                            

        (s^2  + 0.3206s + 3.557) (s^2  + 0.5584s + 3.758) (s^2  + 4.447s + 9.065) (s^2  + 0.8802s + 4.636)                 

                                                                                                                           

        (s^2  + 3.919s + 8.375) (s^2  + 2.435s + 6.125) (s^2  + 1.442s + 5.491) (s^2  + 2.141s + 6.206)                    

                                                                                                                            

                                                                                        (s^2  + 3.132s + 7.622)