Contents

clear all
close all

Ejercicio 2

Hallar el vector X para la siguiente 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 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
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

Para el siguiente circuito, determinar los voltajes de los nodos V1 y V2 y la potencia entregada por cada fuente:

A=[1.5-2i -0.35+1.2i; -0.35+1.2i 0.9-1.6i];
resul=[30+40i;20+15i];
V=A\resul
S1=V(1)*(30+40i)
S2=V(2)*(20+15i)
V =

   3.5902 +35.0928i
   6.0155 +36.2212i


S1 =

  -1.2960e+03 + 1.1964e+03i


S2 =

  -4.2301e+02 + 8.1466e+02i

Ejercicio 6

Escribir una función recursiva para resolver el problema de la Torres de Hanoi y probarla para un valor 5 discos. Invocamos a la función hanoi.m dándole el número de discos, y las torres de las que disponemos % Torres de Hanoi % uso: hanoi(N, Tini, Taux, Tdes) % donde N = numero de discos (entero >0) % Tini = torre inicial (caracter i.e. 'a') % Taux = torre auxiliar (caracter i.e. 'b') % Tdes = torre destino (caracter i.e. 'c') % 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

Ajuste de un plonimoio de orden 2 a unos datos. Se grafican los puntos dados con el simbolo x y la curva ajustada con una línea sólida. Se coloca una leyenda adecuada, etiquetas a los ejes y 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 polinómico')
legend('Datos','Ajuste polinómico',4)
p =

    4.0233    2.0107    9.6783

Ejercicio 8

Partir la ventana Figure en cuatro particiones (2x2) y graficar las siguientes funciones para wt de 0 a 3? en pasos de 0.05 • Graficar v = 120 seno wt e i = 100 seno(wt - ?/4 ) en función de wt en la parte superior izquierda • Graficar p = vi en la parte superior izquierda • Para Fm = 3.0, graficar fa = Fm seno wt, fb = Fm seno(wt – 2 ?/3) y fc = Fm seno(wt – 4 ?/3) en función de ?t en la parte inferior izquierda • Para fR = 3.0, construir un círculo de radio fR en la parte inferior derecha

x=linspace(0,3*pi);
y1a=120*sin(x);
y1b=100*sin(x-(pi/4));
y2=y1a.*y1b;
y3a=3*sin(x);y3b=3*sin(x-(2*pi/3));y3c=3*sin(x-(4*pi/3));

figure(1)
subplot(2,2,1)
plot(x,y1a)
hold on
plot(x,y1b)

subplot(2,2,2)
plot(x,y2)

subplot(2,2,3)
plot(x,y3a)
hold on
plot(x,y3b)
plot(x,y3c)
hold off

subplot(2,2,4)
t=0:0.001:1;
s=3*sin(2*pi*2*t);
c=3*cos(2*pi*2*t);
y4=plot(s,c);
axis('equal');
hold off

Ejercicio 11

Hallar las raíces del polinomio f(x)=x^4-35*x^2+50*x+24

pol=[4;0;-35;50;24];
raices=roots(pol)
raices =

  -3.4456 + 0.0000i
   1.9130 + 0.9582i
   1.9130 - 0.9582i
  -0.3804 + 0.0000i

Ejercicio 12

Resolver la ecuación diferencial

% Utilizaremos las funciones ejemploode y halfsine
%
% % function Ejemploode
% % [t, yy] = ode45(@HalfSine, [0 35], [1 0], [], 0.15);
% % figur3(2)
% % plot(t, yy(:,1))
%
% % function y = HalfSine(t, y, z)
% % h = sin(pi*t/5).*(t<=5);
% % y = [y(2); -2*z*y(2)-y(1)+h];

Ejemploode

ejercicio 13

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

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;
%Apartado A
SampledSignal1 = Bo*sin(2*pi*fo*ts)+Bo/2*sin(2*pi*fo*2*ts);
An = abs(fft(SampledSignal1, N))/N;
figure(3);
plot(df, 2*An(1:N/2))
%Apartado B
SampledSignal2 = exp(-2*ts).*sin(2*pi*fo*ts);
An = abs(fft(SampledSignal2, N))/N;
figure(4);
plot(df, 2*An(1:N/2))
%Apartado C
SampledSignal3 = sin(2*pi*fo*ts+5*sin(2*pi*(fo/10)*ts));
An = abs(fft(SampledSignal3, N))/N;
figure(5);
plot(df, 2*An(1:N/2))
%Apartado D
SampledSignal4 =sin(2*pi*fo*ts-5*exp(-2*ts));
An = abs(fft(SampledSignal4, N))/N;
figure(6);
plot(df, 2*An(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

v = imread('WindTunnel.jpg');
image(v)
figure
row = 200;
red = v(row, :, 1);
gr  = v(row, :, 2);
bl  = v(row, :, 3);
plot(red, 'r');
hold on
plot(gr, 'g');
plot(bl, 'b');