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.
- En la parte superior izquierda: graficar v = 120 seno wt e i = 100 seno(wt -pi/4 ) en función de wt.
- En la parte superior derecha: graficar p = vi.
- 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.
- 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:
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');