Contents
Ejercicio 1
Imprime una tabla formateada (entero y real) del logaritmo natural de los números 10, 20, 40, 60, y 80. usando el comando fprintf y vectores
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
Resuelve un sistema de ecuaciones lineales utilizando una 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 aplica a continuación
para 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.0000 -2.0000 -10.0000 2.0000 10.0000 -12.0000 -4.0000 -6.0000 16.0000 X = 2.0000 4.0000 1.0000
Ejercicio 4
Calcula los autovalores y autovectores de una matriz
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
Ecuaciones:
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+03 * 1.5114 + 0.9092i 0.6636 + 0.6342i
Ejercicio 6
Resuelve el problema de Hanoi utilizando una función recursiva se prueba para un valor de 5 discos Nota: Colocar el fichero hanoi.m en el mismo directorio
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 polinomio de orden 2 a los datos.
Se grafican los puntos dados con el símbolo x y la curva ajustada con una línea sólida. Se coloca 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','Location','SouthEast')
p = 4.0233 2.0107 9.6783
Ejercicio 8
Se divide la ventana Figure en cuatro particiones (2x2) y se grafican las siguientes funciones para t de 0 a 3 en pasos de 0.05.
- Parte superior izquierda: grafica v = 120 seno wt e i = 100 seno(wt -pi/4 ) en función de wt.
- Parte superior derecha: grafica p = vi.
- Parte inferior izquierda: para Fm = 3.0, graficar fa = Fm seno t, fb = Fm seno(wt - 2pi/3) y fc = Fm seno(wt - 4pi/3) en función de wt.
- Parte inferior derecha: Para fR = 3.0, construir un círculo de radio fR.
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
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
Grafica de la curva parametrica
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
Raíces del polinomio
p=[ 1 0 -35 50 24]; r=roots(p)
r = -6.4910 4.8706 2.0000 -0.3796
Ejercicio 12
Solucion a la ecuación diferencial
Sujeta a las condiciones iniciales:
- y(0) = a y dy(0)/dt = b
- 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
Nota: colocar el Ejemplodde.m, HalfSine.m en el mismo directorio
function Ejemploode [t, yy] = ode45(@HalfSine, [0 35], [1 0], [], 0.15); plot(t, yy(:,1))for x = 1:10
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
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:
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
A = imread('WindTunnel.jpg', 'jpeg'); %image(A) %figure % row=input('qué fila? '); row = 200; red = A(row, :, 1); gr = A(row, :, 2); bl = A(row, :, 3); subplot(2,1,1) plot(red, 'r'); title('Distribución del color rojo en la fila 200'); %hold on %plot(gr, 'g'); %plot(bl, 'b'); 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 de r = 2 - 4cos(theta ), -pi <= theta <= pi');