Contents

Ejercicio 1. Imprimir una tabla formateada (entero y real) del logaritmo natural de los números 10,

 %20, 40, 60, 80, 100.
x = [10 20 40 60 80 100]';
y = [x log(x)];
z = [x log10(x)]
fprintf('Numero\tln(Numero) \n')
fprintf('%5d \t %.4f \n', y')
fprintf('Numero\tlog(Numero) \n')
fprintf('%5d \t %.4f \n', z')
z =

   10.0000    1.0000
   20.0000    1.3010
   40.0000    1.6021
   60.0000    1.7782
   80.0000    1.9031
  100.0000    2.0000

Numero	ln(Numero) 
   10 	 2.3026 
   20 	 2.9957 
   40 	 3.6889 
   60 	 4.0943 
   80 	 4.3820 
  100 	 4.6052 
Numero	log(Numero) 
   10 	 1.0000 
   20 	 1.3010 
   40 	 1.6021 
   60 	 1.7782 
   80 	 1.9031 
  100 	 2.0000 

Ejericio 2. Calcular el índice de masa corporal y clasificarle

while 1
    p=input('Introduce peso: ')
    e=input('introduce estatura: ')
    [v m]=imc(p, e);
    fprintf('%.3f Su medico dice: %s/n' , v, m)
    c=input('desea continuar', 's');
    if (c=='n'|| c=='N') break;
    end
end
Error using input
Cannot call INPUT from EVALC.

Error in Tarea_matlab (line 13)
    p=input('Introduce peso: ')

Ejercicio 3. Cambio de base

n=2:128;
b=2
for i=1:128
    fprintf('%5d \t ',i)
    cambio_base(i,b)
    fprintf('\n')
end

Ejercicio 4. Aproximar una raíz real de una función por el método de

%Newton
syms x % x = variable simbólica
f = input('Introduce la función: ');
sup = input('introducir límite superior para graficar: ');
in=input('introducir límite inferior: ');
t=linspace(in,sup,500);
plot(t,subs(f,t))
grid on
xn=input('introducir valor aproximado de la raiz');
df=diff(f,x); % deriva la función respecto de x

error=1
tol=0.001;
while error>=tol
    x1=xn - (subs(f,xn)/subs(df,xn));%fórmula de Newton Raphson
    error=(x1-xn)/x1; %cálculo del error
    xn=x1;
end

Ejercicio 5. Calcular los valores de calor y temperaturas

A = [100 0 0 0 -1 1 0;0 200 0 0 0 -1 1;0 0 50 0 -1 0 0;0 0 0 100 0 -1 0;
    0 300 0 0 0 0 -1;1 0 1 0 0 0 0;1 -1 0 -1 0 0 0]
B = [0;0;-50;-50;-50;25;0]
X = A\B

Ejercicio 6.

A = [100 0 0 0 -1 1 0;0 200 0 0 0 -1 1;0 0 50 0 -1 0 0;0 0 0 100 0 -1 0;
    0 300 0 0 0 0 -1;1 0 1 0 0 0 0;1 -1 0 -1 0 0 0]
B = [0;0;-50;-50;-50;25;0]
[L U]=lu(A)
X2=inv(U)*inv(L)*B
A1=L*U

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)

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)

Ejercicio 9. Desarrollar una función de interpolación de Lagrage

y aplicarla a 10 puntos equidistantes en el rango [-1,1], obtenidos

%de la función f(x) = 1 / (1+25x^2)

%a)Graficar f(x) con la función de Lagrange
f=@(x) 1./(1 + 25*x.^2);
x = linspace(-1,1,500);
y=f(x);
figure;
plot(x,y,'r','linewidth',1);
hold on;

n = 10; % 10 puntos equidistantes
xint = linspace(-1,1,n);
yint = zeros(1,n);
y2=f(xint);
n1=length(x);
for i = 1:n1;
  yint(i) = LagrangeINT(xint,y,x(i));
end
plot(x,yint,'k');

%b)Graficar f(x) con polyfit

f=@(x) 1./(1 + 25*x.^2);
x = linspace(-1,1,500);
y=f(x);
figure;
plot(x,y,'r','linewidth',1);
hold on;

n = 10;
xp = linspace(-1,1,N+1);
yp = f(xp);
p = polyfit(xp,yp,N-1)
y_fit = polyval(p,x);
poly_10 = plot(x,y_fit,'b','linewidth',1);
hold on;
plot(xp,yp,'k.','markersize',12);
hold on;

%c) Graficar f(x) considerando 20 puntos

n = 20;
xn=linspace(-1,1,n+1);
yn = f(xn);
p = polyfit(xn,yn,n-1)
y_fit = polyval(p,x);
poly_20 = plot(x,y_fit,'g','linewidth',1);
hold on;
plot(xn,yn,'k.','markersize',12);
hold on;

Ejercicio 10. A partir de los datos del viento del fichero excel

%obtener:
% a) Gráfico del viento
% b) Histograma
% c) Rosa de los vientos
[x,y,z,t] = xlsread('winddata.xlsx','A2:D78877');

Ejercicio 11. Graficar la curva z=sin(x)*cos(y)*exp-(x^2+y^2)^0.5

figure
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 ecuación diferencial

figure
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: a) g(t)= (B0*Sin(2*Pi*f0*t))+(B0/2*sin(2*Pi*2*f0*t)) b) g(t)= Exp(-2*t)*Sin(2*Pi*f0*t) c) g(t)= Sin(2*Pi*f0*t+5*Sin(2*Pi*f0*t/10)) d) g(t)= Sin(2*Pi*f0*t-(5*Exp(-2*t)))

Ejercicio 13 a)

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 14. Graficar función en coordenadas polares

theta = linspace(-pi, pi, 100);
r = 2 - 4*cos(theta);
polar(theta, r);