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);