Documentos de Académico
Documentos de Profesional
Documentos de Cultura
EJERCICIO 1:
GRAFICO 1
EJERCICIO 2:
2. La función anterior con MATLAB, nos muestra lo siguiente.
-1-
Juvenal Tordocillo Puchuc
>> plot(t,f);
>> title('Funcion senoidal')
>> xlabel('Tiempo (Segundos)')
>> ylabel('Amplitud (Voltios)')
>>grid
GRAFICO 2
GRAFICO 3
>> t=0:0.05:1;
>> f=sin(2*pi*t);
>> plot(f,t) : Al graficar en el orden de los parámetros el eje x del grafico se traslada
en forma vertical.
>> plot(f) : Los valores en el eje “y” no sufren variación pero en el eje “x” MATLAB
asigna valores arbitrarios con un incremento de 5.
>> plot(t) : En este caso es similar al anterior pero como el incremento de “t” es
proporcional entonces el grafico es lineal con el incremento en el eje “x” de 5.
>> plot(t,f,'*') : Esta opción nos muestra el grafico con puntos en forma discreta y en
este caso esta tomando puntos en 0.1 , 0.2, sucesivamente y puntos intermedios entre
esos números y el símbolo es el asterisco.
>> plot(t,f,'b*') : Es similar que el anterior .
>> plot(t,f,'.') : En este caso el símbolo son puntos.
>> plot(t,f,'c.') : Cambia el color de los puntos en color cyan.
>> plot(t,f,'-') : Muestra los puntos en forma continua.
>> plot(t,f,'y-') : Cambia el color en amarillo.
En conclusión la primera letra de los colores antepuesta a un signo sea asterisco, guión
o punto me indica el color de los puntos del grafico.
-2-
Juvenal Tordocillo Puchuc
GRAFICO 5
GRAFICO 4
>> stem(t,f2,'r*')
>> stem(t,f)
GRAFICO 7
GRAFICO 6
-3-
Juvenal Tordocillo Puchuc
>> A=[0 1 2 3 4 5 6 ];
>> B=[0 2 4 6 8 10 12];
>> C=A.*B
MATLAB muestra el siguiente resultado:
C=
Columns 1 through 6
0 2 8 18 32 50
Column 7
72
Comentario: Matlab no realiza ninguna operación cuando se digita >> C=A*B, porque
lo interpreta un vector como matriz por tanto es necesario digitar >> C=A.*B
EJERCICIO 3:
3. Graficar la siguiente función en el intervalo 0 x 4:
y( x) ( x 1)( x 2)
En MATLAB
>> x=0:0.05:4; >> x=0:0.05:4;
>> y=(x-1).*(x-2); >> y=x.^3-6*x.^2+11*x-6;
>> plot(x,y) >> plot(x,y)
GRAFICO 8 GRAFICO 9
Comentario: Se nota en las graficas que las operaciones de los vectores realizadas en
Matlab asume de forma matricial al realizar la operación x.^2 toma dos matrices
unidimensionales del mismo tipo cabe indicar lo que realiza es el producto escalar.
PROBLEMAS 1
-4-
Juvenal Tordocillo Puchuc
GRAFICO 10 GRAFICO 11
GRAFICO 13
GRAFICO 12
-5-
Juvenal Tordocillo Puchuc
-2.5468
0.2734 + 0.5638i
0.2734 - 0.5638i
Solamente hay una raíz y el valor de la raíz real es aproximadamente -2.55
sin( x) cos(2 x)
3. Grafique la siguiente función: y , escoger los valores del eje “x”
2 sin( x)
adecuados
>> x=-10:0.002:10;
>> f= sin(x).*cos(2*x)./(2+sin(x));
>> plot(x,f)
>> gris
GRAFICO 14
GRAFICO 15 GRAFICO 16
-6-
Juvenal Tordocillo Puchuc
>> x=0:0.01:1;
>> x=0:0.01:1; >> f=sin(2*pi*200*x);
>> f=sin(2*pi*20*x); >> plot(x,f)
>> plot(x,f) >> grid
>> grid
GRAFICO 18
GRAFICO 17
>> f=exp(-t).*(sin(2*5*pi*t));
>> plot(x,f)
>> bar(f)
GRAFICO 19
-7-
Juvenal Tordocillo Puchuc
EJERCICIO 1.
>> t=0:0.01:pi;
>> y=2*sin(5*t);
>> figure(GCF)
>> plot(t,y)
>> pause
>> ruido =randn(1,length(t));
>> plot(t,ruido)
>> pause
>> y_ruido=y+ruido;
>>plot(t,y_ruido)
G
GRAFICO 20
GRAFICO 21 GRAFICO 22
EJERCICIO 2.
-8-
Juvenal Tordocillo Puchuc
3 4 1 2 3 5 6
1 2 3
A ; B 3 6 ; C 4 5 6 ; D 7 8
4 5 6 7 8 7 8 9 9 10
Código en Matlab
.
>> A=[1 2 3; 4 5 6 ];
>> B=[3 4;3 6; 7 8 ];
>> C=[1 2 3;4 5 6; 7 8 9 ];
>> D=[5 6;7 8;9 10];
>> pause
>> size(A);
>> size(B);
>> pause
>> length(A);
>> length(B);
3 4
1 2 3
A* B = 3 6 21 4 12 24 30 40
3 6
4 5 6 7 8 12 15 42 16 30 48 69 94
MATLAB
>> R=A*B
R=
30 40
69 94
3 4 3 16 6 20 9 24 19 26 33
1 2 3
B * A 3 6 = 3 24 6 30 9 36 27 36 45
7 8
4 5 6
7 32 14 40 21 48 39 54 69
MATLAB
>> R=B*A
R=
19 26 33
-9-
Juvenal Tordocillo Puchuc
27 36 45
39 54 69
1 2 3
1 2 3
A*C = 9 21 12 24 15 27 = 30 36 42
4 5 6
4 5 6 7 8 9 24 42 33 48 42 54 66 81 96
MATLAB
> R=A*C
R=
30 36 42
66 81 96
MATLAB
>> R=A^2
??? Error using ==> mpower
Matrix must be square.
Aquí muestra un error porque la operación matemática no es posible porque
A2,3 * A23 y matlab muestra como error.
2
1 2 3 1 4 9
A.^ 2 16 25 36
4 5 6
MATLAB
>> R=A.^2
R=
1 4 9
16 25 36
- 10 -
Juvenal Tordocillo Puchuc
1 2 3 1 2 3 9 21 12 24 15 27 30 36 42
C * C 4 5 6 4 5 6 = 24 42 33 48 42 54 = 66 81 96
7 8 9 7 8 9 39 63 54 72 69 81 102 126 150
MATLAB
> R=C^2
R=
30 36 42
66 81 96
102 126 150
' 1 4
1 2 3
A.' 2 5
4 5 6 3 6
MATLAB
>> R=A'
R=
1 4
2 5
3 6
>> R=[B B B]
R=
3 4 3 4 3 4
3 6 3 6 3 6
7 8 7 8 7 8
>> R=[A; A; A]
R=
1 2 3
4 5 6
1 2 3
- 11 -
Juvenal Tordocillo Puchuc
4 5 6
1 2 3
4 5 6
GRAFICO 23
>> title('señal ruidoso');
>> pause
>> media_ruidoso=mean(ruidoso)
media_ruidoso = 0.0091
>> dp_ruidoso=std(ruidoso)
dp_ruidoso = 1.0038
>> pause
>> masruido=5*randn(1,5000);
- 12 -
Juvenal Tordocillo Puchuc
>> media=mean(masruido
media =0.0249
>> dp=std(masruido)
dp = 5.0130
EJERCICIOS
1. Utilizando el comando ayuda, hacer uso de los comandos max, min, mean, median,
sort.
Sea el vector >> A=[5 6 7 8 9 3 2 3 1];
>> B=max(A) B= 9
>> B=min(A) B= 1
>> B=median(A) B= 5
>> B=sort(A) B = 1 2 3 3 5 6 7 8 9
2. Utilizando el comando ayuda, hacer uso de los comandos fix, floor, ceil, round ,
mod, rem, sign.
>> C=rem(A,7) C= 5 6 0 1 2 3 2 3 1
- 13 -
Juvenal Tordocillo Puchuc
>> t=0:0.001:0.1;
>> y=3*sin(2*pi*50*t);
>> plot(t,y)
>> ylabel('V (Voltaje)');
>> xlabel('Tiempo (Segundos)');
>> y1=wgn(1,length(t),1);
>> y1=2*wgn(1,length(t),1);
>> plot(t,y1)
GRAFICO 24 GRAFICO 25
>> t=0:0.0005:0.1;
>> y=3*sin(2*pi*50*t);
>> y1=wgn(1,length(t),1);
>> yr=y+y1;
>> plot(t,yr)
GRAFICO 26
4. Usando el comando help square, generar una onda cuadrada de 10Hz, con una
frecuencia de muestreo de 1KHz.
>> t = 0:.0001:.0625;
>> y = square(2*pi*30*t);, plot(t,y)
- 14 -
Juvenal Tordocillo Puchuc
GRAFICO 27
EJERCICIOS 1 :
Considere los siguientes números:
A 1 2 j ; B 2 3 j ; C 4 j ; D 2 2 j
2. Para cada numero calcule manualmente el modulo M y luego comparar con Matlab.
(Comando abs(A)).
A x 2 y 2 12 22 5 2.23
- 15 -
Juvenal Tordocillo Puchuc
B x 2 y 2 22 32 13 3.605
>> abs(B) ans = 3.6056
C x 2 y 2 42 (1)2 17 4.12
3. Calcular de forma manual los ángulos según los cuadrantes que corresponda y
verificar con Matlab. (atan(y/x))
EJERCICIO 3
1. Defina una variable de tiempo con 0 t 5 , con intervalo de muestreo de 0.01
segundo, y calcule la función.
>> t=0:0.01:5;
>> f=exp(2*pi*t*j);
>> partereal=real(f);
>> parteimag=imag(f);
>> subplot(2,1,1);
>> plot(t,partereal);
>> subplot(2,1,2),
>> plot(,parteimag)
GRAFICO 28
- 16 -
Juvenal Tordocillo Puchuc
2. la función también puede ser dividida una parte la función modulo y otra la fase. Use
matlab para graficar dichos parámetros.
>> module=abs(f);
>> fase=atan2(imag(f),real(f));
>> subplot(2,1,1)
>> plot(t,module)
>> subplot(2,1,2)
>> plot(fase)
>> xlabel('tiempo (seg.)');
>> ylabel('fase');
GRAFICO 29
3. Multiplique la función compleja f, calculada en el ejercicio anterior, por un numero
complejo 1 j y hacer un esquema de f2. Graficar la partes real en un mismo gráfico.
Observe el efecto que produce la multiplicación a un número complejo. ¿Por qué
ocurre este efecto?
>> t=0:0.01:5;
>> f1=exp(2*pi*t*j);
>> f2=exp(2*pi*t*j)*(1+j);
>> partereal1=real(f1);
>> partereal2=real(f2);
>> plot(t,partereal1,'-r',t,partereal2,'-.b')
>> h=legend('Real(f1)','Real(f2)',2);
>> ylabel('Parte Real');
>> xlabel('Tiempo');
- 17 -
Juvenal Tordocillo Puchuc
>> grid
GRAFICO 30
COMENTARIO: se ha graficado en un mismo grafico la parte real de ambas funciones
y se observa con relación al grafico f1 el grafico f2 tiene un desfase y un incremento de
la amplitud, la razón se explica al multiplicar por 1+j, entonces la parte real de la nueva
función es en realidad coseno menos seno cuyo grafico es tal como se puede mostrar en
líneas puntadas.
GRAFICO 31
- 18 -
Juvenal Tordocillo Puchuc
>> t=0:.01:.99;
>> f=sin(2*pi*2*t);
>> F=fft(f);
>> subplot(2,1,1);
>> plot(t,abs(F),'ko');
>> subplot(2,1,2);
>> plot(t,angle(F), 'ko')
- 19 -
Juvenal Tordocillo Puchuc
>> t=0:.01:1.33;
>> f=sin(2*pi*2*t);
>> F=fft(f);
>> subplot(2,1,1);
>> plot(t,abs(F),'ko');
>> subplot(2,1,2);
>> plot(t,angle(F), 'ko')
>> clear
>> clf
>> t=0:.01:.99;
>> fs=100;
>> N=length(t);
>> f=1+sin(2*pi*10*t);
>> F=fft(f);
>> Fesc=F/N;
>> freq=(0:N-1)*fs/N;
>> plot(freq,abs(Fesc),'ko');
- 20 -
Juvenal Tordocillo Puchuc
>> xlabel('frecuencia')
>> ylabel('amplitud')
>> plot(t,freq,abs(Fesc),'ko');
FILTROS DIGITALES
Los cuatro filtros básicos, desde el punto de vista ideal del comportamiento del módulo
de la respuesta frecuencial, según sea la posición relativa de bandas de paso y bandas
atenuadas, reciben el nombre de paso bajo, paso alto, paso banda y elimina banda,
dependiendo de la parte del espectro de frecuencias en la que se centra la banda de paso.
Por ejemplo, el paso bajo se caracteriza porque deja pasar todas las componentes
frecuenciales de la señal en el rango bajo de las frecuencias, por debajo de una
determinada frecuencia de corte, siendo el resto de componentes atenuadas por el filtro.
Es el típico filtro que en amplificación se emplea enuna etapa previa al amplificador
para que el ruido no se amplifique y llegue a saturar al mismo. El filtro paso alto
presenta el comportamiento complementario al paso bajo; el filtro paso banda cancela
las bajas y las altas frecuencias (bandas atenuadas inferior y superior), y conserva una
banda determinada de frecuencias; el último, presenta bandas de paso en baja y alta
frecuencia, y una banda atenuada en un margen de frecuencias intermedio.
La opción indicada utilizada se explica cada uno de los términos como sigue:
coeficientes del filtro:
- 21 -
Juvenal Tordocillo Puchuc
- 22 -
Juvenal Tordocillo Puchuc
Como ejemplo sera filtrada un senoide de 5Hz, frecuencia de muestreo de 100Hz, por
un flitro com fc=10Hz.
>> clear
>> clf
>> t=0:.01:1;
>> f=sin(2*pi*5*t);
>> subplot(2,1,1);
>> plot(t,f);
>> [B,A]=butter(1,0.1);
>> salida=filter(B,A,f);
>> subplot(2,1,2);
>> plot(t,salida)
>> grid
EXPLICACION:
Entendemos que el comando buttord sugiere que a partir de las especificaciones de
Matlab y el diseño de filtros digitales las atenuación máxima en la banda de paso y
mínima en la de rechazo así como de las respectivas frecuencias de corte de cada una de
las bandas, nos da el orden del filtro y la frecuencia natural del filtro. Por otro lado, a
- 23 -
Juvenal Tordocillo Puchuc
partir del orden del filtro y de la frecuencia natural, la función butter nos da los
polinomios correspondientes al numerador y al numerador de la frecuencia de
transferencia. En la figura se observa una disminución en la amplitud la señal a sido
filtrado en un factor y también en la frecuencia.
EJERCICIOS
3. Pasar una señal por un filtro pasa bajo Butterworth con frecuencia de corte
f c 5Hz
clear
clf
t=0:.01:1;
f= 1+sin(2100*t);
subplot(2,1,1);
plot(t,f);
grid
[B,A]=butter(1,0.01);
salida=filter(B,A,f);
subplot(2,1,2);
plot(t,salida)
grid
- 24 -
Juvenal Tordocillo Puchuc
Al examinar se tiene los a respuesta frecuencial del filtro diseñado para los filtros
analógicos
>> H = freqs(B,A,W)
Devuelve el vector H de números complejos, que es la respuesta frecuencial al filtro
cuya función de transferencia en s viene dada por B y A. La respuesta frecuencial se
evalúa en los puntos especificados por el vector W en radianes. Más opciones en el
Help de MATLAB.
>> plot(W,abs(H))
- 25 -
Juvenal Tordocillo Puchuc
>> plot(F,gd)
Dibuja el retraso de grupo de la función de Transferencia.
- 26 -