Contents
Ejercicio 1
%Tabla formateada del logaritmo natural y decimal de 10, 20, 40, 60, 80, %100 x=[10 20 40 60 80 100]; natural=log(x); decimal=log10(x); fprintf('tabla formateada\n'); fprintf('x \t natural \t decimal\n'); fprintf('%2.0f \t %5.4f \t %7.6f\n',[x;natural;decimal])
tabla formateada x natural decimal 10 2.3026 1.000000 20 2.9957 1.301030 40 3.6889 1.602060 60 4.0943 1.778151 80 4.3820 1.903090 100 4.6052 2.000000
Ejercicio 5
%Sistema de refrigeración de un circuito electrónico, resolver %sistema de ecuaciones para R1 = 100, R2 = 200, R3 = 50 %R4 = 100, R5 = 300, Ta = 50 y Qc = 25, obteniendo valores de calor y %temperaturas. R1=100;R2=200;R3=50;R4=100;R5=300;Ta=50;Qc=25; A=[R1 0 0 0 -1 1 0;0 R2 0 0 0 -1 1;0 0 R3 0 -1 0 0;0 0 0 R4 0 -1 0;0 R5 0 0 0 0 -1;1 0 1 0 0 0 0;1 -1 0 -1 0 0 0]; b=[0 0 -Ta -Ta -Ta Qc 0]'; %p = [Q1 Q2 Q3 Q4 Tc Tp Tw]' p=A\b
p = 1.0e+03 * 0.0054 0.0009 0.0196 0.0045 1.0321 0.4964 0.3179
Ejercicio 6
%LU con la matriz anterior R1=100;R2=200;R3=50;R4=100;R5=300;Ta=50;Qc=25; A=[R1 0 0 0 -1 1 0;0 R2 0 0 0 -1 1;0 0 R3 0 -1 0 0;0 0 0 R4 0 -1 0;0 R5 0 0 0 0 -1;1 0 1 0 0 0 0;1 -1 0 -1 0 0 0]; b=[0 0 -Ta -Ta -Ta Qc 0]'; [L U]=lu(A); fprintf('Vector solucion') p=inv(U)*inv(L)*b fprintf('Numero de condicion') cond(A) fprintf('Norma de Frobenius') normfrob=norm(A,'fro') fprintf('Norma 1') norma1=max(sum(A)) fprintf('Norma inf') normainf=max(sum(A')) fprintf('Norma 2') norm2=norm(A)
Vector solucion p = 1.0e+03 * 0.0054 0.0009 0.0196 0.0045 1.0321 0.4964 0.3179 Numero de condicion ans = 2.6488e+04 Norma de Frobenius normfrob = 390.5278 Norma 1 norma1 = 499 Norma inf normainf = 299 Norma 2 norm2 = 360.5570
Ejercicio 7
%Hallar los autovalores y autovectores de la matriz A
A = [0 1 -1; -6 -11 6; -6 -11 5];
[V, D] = eig(A)
V = 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
Ejercicio 8
%Para el siguiente circuito, determinar los voltajes %de los nodos V1 y V2 y la potencia entregada por cada fuente: R = [1.5-2i, -0.35+1.2i; -0.35+1.2i, 0.9-1.6i]; I = [30+40i; 20+15i]; V = R\I S = V.*conj(I)
V = 3.5902 +35.0928i 6.0155 +36.2212i S = 1.0e+03 * 1.5114 + 0.9092i 0.6636 + 0.6342i
Ejercicio 11
%Graficar la función z=sin(x).*cos(y).*exp(-(x.^2+y.^2).^0.5) en un %intervalo de -4 a 4 con paso de 0.3 x=-4:0.3:4; y=-4:0.3:4; z=sin(x).*cos(y).*exp(-(x.^2+y.^2).^0.5); plot(z)
Ejercicio 12
%Resolver la ec. diferencial( funciones en los recusos)
[t, yy] = ode45(@HalfSine, [0 35], [1 0], [ ], 0.15);
figure(5)
plot(t, yy(:,1))
Ejercicio 13 a
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)= (B0*Sin(2*Pi*f0*t))+(B0/2*sin(2*Pi*2*f0*t)) g(t)= Exp(-2*t)*Sin(2*Pi*f0*t) g(t)= Sin(2*Pi*f0*t+5*Sin(2*Pi*f0*t/10)) g(t)= Sin(2*Pi*f0*t-(5*Exp(-2*t)))
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; g1 = Bo*sin(2*pi*fo*ts)+Bo/2*sin(2*pi*fo*2*ts); An = abs(fft(g1, N))/N; figure(6) subplot(2,1,1) plot(ts,g1);title('Gráfica de la señal-tiempo'); xlabel('ts'); ylabel('g1'); subplot(2,1,2) plot(df,2*An(1:N/2));title('Gráfica de la amplitud espectral - frecuencia'); xlabel('df'); ylabel('An');
Ejercicio 13 b
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; g2 = exp(-2*ts).*sin(2*pi*fo*ts); An = abs(fft(g2, N))/N; figure(7) subplot(2,1,1) plot(ts,g2),title('Gráfica de la señal-tiempo'); xlabel('ts'), ylabel('g2'); subplot(2,1,2) plot(df,2*An(1:N/2)),title('Gráfica de la amplitud espectral - frecuencia'); xlabel('df'), ylabel('An');
Ejercicio 13 c
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; g3 = sin(2*pi*fo*ts+5*sin(2*pi*(fo/10)*ts)); An = abs(fft(g3, N))/N; figure(8) subplot(2,1,1) plot(ts,g3);title('Gráfica de la señal - tiempo'); xlabel('ts'); ylabel('g3'); subplot(2,1,2) plot(df,2*An(1:N/2));title('Gráfica de la amplitud espectral - frecuencia'); xlabel('df'); ylabel('An');
Ejercicio 13 d
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; g4 = sin(2*pi*fo*ts-5*exp(-2*ts)); An = abs(fft(g4, N))/N; figure(9) subplot(2,1,1) plot(ts,g4);title('Gráfica de la señal - tiempo'); xlabel('ts'); ylabel('g4'); subplot(2,1,2) plot(df,2*An(1:N/2));title('Gráfica de la amplitud espectral - frecuencia'); xlabel('df'); ylabel('An');
Ejercicio 2
%Calculadora de IMC clear all peso = inputdlg('Introduzca su peso en Kg: ') x = str2num(peso{1}) altura = inputdlg('Introduzca su altura en metros: ') y = str2num(altura{1}) IMC=x/y^2; if IMC<16, fprintf('Infrapeso: delgadez severa'),end if (16 < IMC) && (IMC < 16.99), fprintf('Infrapeso: delgadez moderada'),end if (17 < IMC) && (IMC < 18.49), fprintf('Infrapeso: delgadez aceptable'),end if (18.5 < IMC) && (IMC < 24.99), fprintf('peso normal'),end if (25 < IMC) && (IMC < 29.99), fprintf('sobrepeso'),end if (30 < IMC) && (IMC < 34.99), fprintf('obeso: Tipo I'),end if (35 < IMC) && (IMC < 40), fprintf('obeso: Tipo II'),end if (IMC > 40), fprintf('obeso: Tipo III'),end
peso = '62' x = 62 altura = '1.70' y = 1.7000 peso normal
Ejercicio 3
%Programa de cambio de base decimal-binario y decimal-hexadecimal decimal=inputdlg('introduzca numero en base decimal: '); decimall=str2num(decimal{1}); menuu=inputdlg('quiere pasar a binario(1) o a hexadecimal(2): '); menu=str2num(menuu{1}); if (menu == 1) fprintf('Equivalente en binario: ') numerobin=dec2bin(decimall) end if (menu == 2) fprintf('Equivalente en hexadecimal: ') numerohex=dec2hex(decimall) end
Equivalente en hexadecimal: numerohex = 5A
Ejercicio 4
%Método de Newton funcion=inputdlg('defina funcion de x: ','s') derivada=inputdlg('defina la derivada de la funcion: ','s') f=inline('funcion'); df=inline('derivada'); a00=inputdlg('valor inicial: '); a0=str2num(a00{1}); b00=inputdlg('Valor final: '); b0=str2num(b00{1}); em=eps/2; a=a0;b=b0;fa=f(a);fb=f(b);x=(a+b)/2;fx=f(x);[a x b],[fa fx fb] for i=1:10 if (fa>0 && fx>0) a=x;fa=fx;dfx=df(x);if abs(dfx)>em*abs(fx),x=x-fx/dfx;if a<=x & b<=x, fx=f(x);[a x b],[fa fx fb],end,end else if (fa<0 && fx<0) a=x;fa=fx;dfx=df(x);if abs(dfx)>em*abs(fx),x=x-fx/dfx;if a<=x & b<=x, fx=f(x);[a x b],[fa fx fb],end,end else b=x;fb=fx;dfx=df(x);if abs(dfx)>em*abs(fx),x=x-fx/dfx;if a<=x & b<=x, fx=f(x);[a x b],[fa fx fb],end,end end end end
funcion = 'x.^3-x' derivada = '3.*x.^2-1' ans = 0.5000 1.5000 2.5000 ans = 0.5000 1.5000 2.5000
Ejercicio 9
%Lagrange f=inline('1/(1+25.*x.^2)'); x=-1:0.2:1; y=f(x); k=2/500; for i=1:500, z(i)=-1+k;k=k+k;w(i)=lagrange(x,y,z(i)),end plot(x,y,'bo',z(i),w(i),'ro')
Error using inlineeval (line 15) Error in inline expression ==> 1/(1+25.*x.^2) Matrix dimensions must agree. Error in inline/subsref (line 24) INLINE_OUT_ = inlineeval(INLINE_INPUTS_, INLINE_OBJ_.inputExpr, INLINE_OBJ_.expr); Error in Tareamatlabversionfinal (line 179) y=f(x);