Tarea Matlab de Guillermo Gómez Peña

Contents

Ejercicio 1

Imprimir una tabla formateada (entero y real) del logaritmo natural de los números 10,20, 40, 60, y 80.

x = [10; 20; 40; 60; 80];
y = [x, log(x)];
fprintf('\n Numero Natural log\n')
fprintf('%4i \t %8.3f\n',y')
 Numero Natural log
  10 	    2.303
  20 	    2.996
  40 	    3.689
  60 	    4.094
  80 	    4.382

Ejercicio 2

Hallar el vector X para la ecuación matricial:

A=[4 -2 -10; 2 10 -12; -4 -6 16];
B=[-10; 32; -16];
X = A\B
X =

    2.0000
    4.0000
    1.0000

Ejercicio 3

Para la matriz de coeficientes anterior encuentra la factorización LU, es decir A = LU Resolver el sistema anterior.

A=[4 -2 -10; 2 10 -12; -4 -6 16];
B=[-10; 32; -16];
[L, U] = lu(A)
C = L*U
X = inv(U)*inv(L)*B
L =

    1.0000         0         0
    0.5000    1.0000         0
   -1.0000   -0.7273    1.0000


U =

    4.0000   -2.0000  -10.0000
         0   11.0000   -7.0000
         0         0    0.9091


C =

     4    -2   -10
     2    10   -12
    -4    -6    16


X =

     2
     4
     1

Ejercicio 4

Hallar los autovalores y autovectores de la matriz A

A=[0 1 -1; -6 -11 6; -6 -11 5];
[X,D]=eig(A)
T1= A*X
T2= X*D
X =

    0.7071   -0.2182   -0.0921
    0.0000   -0.4364   -0.5523
    0.7071   -0.8729   -0.8285


D =

   -1.0000         0         0
         0   -2.0000         0
         0         0   -3.0000


T1 =

   -0.7071    0.4364    0.2762
   -0.0000    0.8729    1.6570
   -0.7071    1.7457    2.4856


T2 =

   -0.7071    0.4364    0.2762
   -0.0000    0.8729    1.6570
   -0.7071    1.7457    2.4856

Ejercicio 5

Determinar los voltajes de los nodos V1 y V2 y la potencia entregada por cada fuente de un circuito

Y=[1.5-2j -.35+1.2j; -.35+1.2j 0.9-1.6j];
I=[30+40j;20+15j];
disp('Solucion:')
V=Y\I
S= V.*conj(I)
Solucion:

V =

   3.5902 +35.0928i
   6.0155 +36.2212i


S =

  1.0e+003 *

   1.5114 + 0.9092i
   0.6636 + 0.6342i

Ejercicio 6

Resolución del problema de Hanoi mediante una función recursiva. Se utilizará la función para un valor de 5 discos.

%#function hanoi(n, i, a, f)
% if n > 0
%   hanoi(n-1, i, f, a);
%   fprintf('mover disco %d de %c a %c\n', n, i, f);
%   hanoi(n-1, a, i, f);
% end

hanoi(5,'a','b','c')
mover disco 1 de a a c
mover disco 2 de a a b
mover disco 1 de c a b
mover disco 3 de a a c
mover disco 1 de b a a
mover disco 2 de b a c
mover disco 1 de a a c
mover disco 4 de a a b
mover disco 1 de c a b
mover disco 2 de c a a
mover disco 1 de b a a
mover disco 3 de c a b
mover disco 1 de a a c
mover disco 2 de a a b
mover disco 1 de c a b
mover disco 5 de a a c
mover disco 1 de b a a
mover disco 2 de b a c
mover disco 1 de a a c
mover disco 3 de b a a
mover disco 1 de c a b
mover disco 2 de c a a
mover disco 1 de b a a
mover disco 4 de b a c
mover disco 1 de a a c
mover disco 2 de a a b
mover disco 1 de c a b
mover disco 3 de a a c
mover disco 1 de b a a
mover disco 2 de b a c
mover disco 1 de a a c

Ejercicio 7

Ajustar un polinomio de orden 2 a unos datos dados y graficar los puntos dados con el símbolo x y la curva ajustada con una línea sólida. Colocar una leyenda adecuada, etiquetas en los ejes y un título al gráfico.

x= 0:0.5:5;
y=[10 10 16 24 30 38 52 68 82 96 123];
p=polyfit(x,y,2)
yc=polyval(p,x);
plot(x,y,'x',x,yc);
xlabel('x'),ylabel('y'),grid,title('Ajuste polinomico')
legend('Datos','Ajuste polinomico',4)
p =

    4.0233    2.0107    9.6783

Ejercicio 8

Partir la ventana Figure en cuatro particiones (2x2) y se grafican las siguientes funciones para wt de 0 a 3 en pasos de 0.05.

  1. En la parte superior izquierda: graficar v = 120 seno wt e i = 100 seno(wt -pi/4 ) en función de wt.
  2. En la parte superior derecha: graficar p = vi.
  3. En la parte inferior izquierda: para Fm = 3.0, graficar fa = Fm seno(wt), fb = Fm seno(wt - 2pi/3) y fc = Fm seno(wt - 4pi/3) en función de wt.
  4. En la parte inferior derecha: Para fR = 3.0, construir un círculo de radio fR.
figure
wt=0:0.05:3*pi;
v=120*sin(wt);
i=100*sin(wt-pi/4);
p=v.*i;
subplot(2,2,1)
plot(wt,v,wt,i)
title('Voltaje y Corriente'),xlabel('\omegat, radianes')
subplot(2,2,2)
plot(wt,p)
title('Potencia'),xlabel('\omegat, radianes')
Fm=3.0;
fa=Fm*sin(wt);
fb=Fm*sin(wt-2*pi/3);
fc=Fm*sin(wt-4*pi/3);
subplot(2,2,3)
plot(wt,fa,wt,fb,wt,fc)
title('Fm trifasico'),xlabel('\omegat, radianes')
fR= 3/2*Fm;
subplot(2,2,4)
plot(-fR*cos(wt),fR*sin(wt))
title('Fm rotante')

Ejercicio 9

Grafica de la curva parametrica: x(t)= (e^(-0.03t))*cos(t), y(t)=(e^(-0.03t))*sin(t), z(t)=t Para un intervalo de 0 a 16*pi.

figure
t=0:0.1:16*pi;
x=exp(-0.03*t).*cos(t);
y=exp(-0.03*t).*sin(t);
z=t;
subplot(1,1,1)
plot3(x,y,z), axis off

Ejercicio 10

Graficar de la curva: z=sin(x)*cos(y)*e^(-(x^(2)+y^(2))^(0.5)) Para un intervalo de -4 a 4 en pasos de 0.3

t= -4:0.3:4;
[x,y]=meshgrid(t,t);
z=sin(x).*cos(y).*exp(-(x.^2+y.^2).^0.5);
mesh(x,y,z) , axis off

Ejercicio 11

Hallar las raíces del polinomio:
%f(x)=x^(4)-35x^(2)+50x+24
%
p=[ 1 0 -35 50 24];
r=roots(p)
r =

   -6.4910
    4.8706
    2.0000
   -0.3796

Ejercicio 12

Resolver la ecuación diferencial: (d2y/dt2)+2*x*(dy/dt)+y=h(t)

Sujeta a las condiciones iniciales: 1)y(0) = a y dy(0)/dt = b y 2)Considerando el caso donde x = 0.15, y(0) = 1, dy(0)/dt = 0 y la región de interés de la solución 0 <= t <= 35

%#function y = HalfSine(t, y, z)
% h = sin(pi*t/5).*(t<=5);
% y = [y(2); -2*z*y(2)-y(1)+h];
%
%#function ode
% [t, yy] = ode45(@HalfSine, [0 35], [1 0], [], 0.15);
% plot(t, yy(:,1))
figure(10)
ode

Ejercicio 13

Tomando como base las condiciones del ejemplo de la transformada de Fourier de los apuntes (pág. 124), graficar para las siguientes señales la gráfica de la señal en el tiempo y la gráfica de la amplitud espectral en función de la frecuencia: $$ g(t)=Bo sin(2.pi.fo.t) + Bo/2 sin(2.pi.2.fo.t), $$ $$ g(t)=e^-2t sin(2.pi.fo.t), $$ $$ g(t)=sin(2.pi.fo.t + 5 sin(2.pi.2.fo/10.t), $$ $$ g(t)=sin(2.pi.fo.t - 5 e^2t) $$

figure
k = 5;   m = 10;   fo = 10;   Bo = 2.5;
N = 2^m;   T = 2^k/fo;
ts = (0:N-1)*T/N;
df = (0:N/2-1)/T;
SampledSignal = Bo*sin(2*pi*fo*ts)+Bo/2*sin(2*pi*fo*2*ts);
An = abs(fft(SampledSignal, N))/N;
subplot(4,2,1)
plot(ts, SampledSignal)
subplot(4,2,2)
plot(df, 2*An(1:N/2))

SampledSignal1 = exp(-2*ts).*sin(2*pi*fo*ts);
An1 = abs(fft(SampledSignal1, N))/N;
subplot(4,2,3)
plot(ts, SampledSignal1)
subplot(4,2,4)
plot(df, 2*An1(1:N/2))

SampledSignal2 = sin(2*pi*fo*ts + 5*sin(2*pi*fo/10*ts));
An2 = abs(fft(SampledSignal2, N))/N;
subplot(4,2,5)
plot(ts, SampledSignal2)
subplot(4,2,6)
plot(df, 2*An2(1:N/2))

SampledSignal3 = sin(2*pi*fo*ts - 5*exp(-2*ts));
An3 = abs(fft(SampledSignal3, N))/N;
subplot(4,2,7)
plot(ts, SampledSignal3)
subplot(4,2,8)
plot(df, 2*An3(1:N/2))

Ejercicio 14

Leer y graficar la imagen WindTunnel.jpg de las transparencias y graficar en sendos gráficos el valor del color rojo de la imagen en función del ancho de la imagen y el histograma del mismo para una fila de la imagen que se pide al usuario. Mostrar el valor para 200

figure
A = imread('WindTunnel.jpg', 'jpeg');
image(A)
figure
%row=input('¿Qué fila? ');
row = 200;
red = A(row, :, 1);
subplot(2,1,1)
plot(red, 'r');
title('Distribución del color rojo en la fila 200');
hold on
subplot(2,1,2)
hist(red,0:15:255);
title('Histograma del color rojo en la fila 200');

Ejercicio 15

Graficar la siguiente función curva en coordenadas polares : r = 2 - 4cos(theta ), -pi <= theta <= pi

theta = linspace(-pi, pi, 180);
r = 2 - 4*cos(theta);
figure
polar(theta, r);
title('Grafico polar');