0% encontró este documento útil (0 votos)
4 vistas35 páginas

Manual de MATLAB para Matemáticas

Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
4 vistas35 páginas

Manual de MATLAB para Matemáticas

Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

ETSI de Topografía, Geodesia y Cartografía

Laboratorio de Matemáticas
(Pequeño manual de MatLab)
En lo que sigue, se supone que el usuario teclea lo que aparece en color azul. En color
negro aparecerá la respuesta de MATLAB a la instrucción tecleada precedida del símbolo
>>. El signo % permite añadir comentarios y aparecerán en verde.

• La ventana de trabajo es la que tiene el título de COMMAND WINDOW


• Los cálculos que se asignan a una variable en concreto devuelve ans (del inglés
answer) que significa respuesta.
• Si se añade un punto y coma (;) al final de la instrucción, no muestra ninguna
respuesta.
• Se pueden utilizar las funciones matemáticas habituales.
• Al pulsar flecha hacia arriba del cursor ^ aparecen las instrucciones anteriores.

% Función exponencial evaluada en 1, es decir, el número e


>> exp(1)
ans =
2.7183

% pi es una variable con valor predeterminado 3.14159...


>> pi
ans =
3.1416
• Por defecto devuelve 4 decimales, aunque no afecta a la precisión de los cálculos se
puede cambiar la presentación en pantalla.
>> format long
>> pi
ans =
3.141592653589793

%Para volver al formato estándar


>> format
>> x=pi/3
x=
1.0472

>> y=sin(x)
y=
0.8660
• Para conocer las variables que se han usado hasta el momento:
>> who
Your variables are:
ans x y

U. D. de Matemáticas de la ETSITGC 1
ETSI de Topografía, Geodesia y Cartografía

Controles de flujo para programación

• Al proceso de toma de decisiones se le llama control del flujo

>>for
• En cada iteración asigna valores y ejecuta órdenes

>>if
• Actúa si todos los elementos de la expresión son verdaderos

>>while
• Actúa si todos los elementos de la expresión son verdaderos o ceros

>>break
• Termina la ejecución de órdenes: for, while

>>end
• Fin del bucle

>>x==1
• ¿Es x = 1?

>>x~=2
• ¿Es x distinto de 2?

U. D. de Matemáticas de la ETSITGC 2
ETSI de Topografía, Geodesia y Cartografía

Vectores y Matrices
• Para definir un vector, basta introducir sus coordenadas entre corchetes:
>> v=[1 2 3]
v=
1 2 3
• Para trasponer se usa ‘ (debajo de ?)
>> v'
ans =
1
2
3
• Para escribir un vector dado siempre en columna se escribe (:)
>> v=v(:)
v=
1
2
3
• Las matrices se escriben como los vectores, pero separando las filas mediante un
punto y coma.
>>M=[1 2 3;4 5 6;7 8 9]
M=
1 2 3
4 5 6
7 8 9
• Matriz formada por la parte triangular inferior de M.
>> tril(M)
ans =
1 0 0
4 5 0
7 8 9
• Matriz formada por la parte triangular superior de M.
>> triu(M)
ans =
1 2 3
0 5 6
0 0 9
• Determinante de la matriz cuadrada.
>> det(M)
ans =
0
• Matriz identidad.
>> eye(3)
ans =
1 0 0

U. D. de Matemáticas de la ETSITGC 3
ETSI de Topografía, Geodesia y Cartografía
0 1 0
0 0 1
• Matriz inversa.
>> M=[1 0 1;1 -1 0;1 1 -2];
>> inv(M)
ans =
0.5000 0.2500 0.2500
0.5000 -0.7500 0.2500
0.5000 -0.2500 -0.2500
• Matriz diagonal cuya diagonal es el vector v.
>> diag(v)
ans =
1 0 0
0 2 0
0 0 3
• Se puede escribir una matriz diagonal con los elementos de la diagonal de otra
matriz
>> diag(diag(M))
ans =
1 0 0
0 5 0
0 0 9
• Matriz tridiagonal 5x5 con 0 en la diagonal principal y 1 en la sub y superdiagonal
>> diag(ones(1,4),1)+diag(ones(1,4),-1)
ans =
0 1 0 0 0
1 0 1 0 0
0 1 0 1 0
0 0 1 0 1
0 0 0 1 0
• Matriz dispersa: matriz de un gran tamaño con la mayor parte de sus elementos
cero. Se indica primeramente la columna y a continuación la fila con los elementos
distintos de cero
>>B=sparse([1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6],[1,2,1,2,3,2,3,4,3,4,5,4,5,6,5,6],[4,1,1,4,1,1,4,
1,1,4,1,1,4,1,1,4])
B=
(1,1) 4
(2,1) 1
(1,2) 1
(2,2) 4
(3,2) 1
(2,3) 1
(3,3) 4
(4,3) 1
(3,4) 1
(4,4) 4

U. D. de Matemáticas de la ETSITGC 4
ETSI de Topografía, Geodesia y Cartografía
(5,4) 1
(4,5) 1
(5,5) 4
(6,5) 1
(5,6) 1
(6,6) 4
% Para trabajar con la matriz completa, se usa full (llena)
>> A=full(B)
A=
4 1 0 0 0 0
1 4 1 0 0 0
0 1 4 1 0 0
0 0 1 4 1 0
0 0 0 1 4 1
0 0 0 0 1 4
Polinomios
 Se escriben los coeficientes de un polinomio de mayor a menor grado.
>> p=[1 2 3 4]
p=
1 2 3 4
% Polinomio x3+2x2+3x+4
 Se obtiene el valor del polinomio para un valor de x
>> polyval(p,-1)
ans =
2
% Evaluación del polinomio x3+2x2+3x+4 en x=-1
 Obtener las raíces del polinomio
>> roots(p)
ans =
-1.6506
-0.1747 + 1.5469i
-0.1747 - 1.5469i
Polinomio de Taylor
Empezamos definiendo la variable x
>>syms x
>>f=exp(x);
>>Taylor(f)
x^5/120 + x^4/24 + x^3/6 + x^2/2 + x + 1
% Considera a=0, n=5.
>>Taylor(f,n,x,a)
% Calcula el desarrollo de Taylor de f para x-a de grado n
 Para sustituir un valor
>> subs(x^5/120 + x^4/24 + x^3/6 + x^2/2 + x + 1,1)
ans =
2.7167

U. D. de Matemáticas de la ETSITGC 5
ETSI de Topografía, Geodesia y Cartografía

Gráficas de funciones
• Representación gráfica de una función en un rango determinado
>>fplot('x^2*sin(1/x)',[-0.05, 0.05])
% Dibuja la función x2sin(1/x) en el intervalo cerrado [-0.05, 0.05].
-3
x 10
2.5

1.5

0.5

-0.5

-1

-1.5

-2

-2.5
-0.05 -0.04 -0.03 -0.02 -0.01 0 0.01 0.02 0.03 0.04 0.05

• Representación gráfica de una función sin determinar el domino


>>ezplot('x^2')
x2

40

35

30

25

20

15

10

-6 -4 -2 0 2 4 6
x

• Representación gráfica de una curva en paramétricas


>>ezplot('t-sin(t)','1-cos(t)',[0 8*pi])
x = t-sin(t), y = 1-cos(t)

10

2
y

-2

-4

-6

-8

0 5 10 15 20 25
x

• Representación gráfica de una función en implícitas


>> ezplot('x^2 - y^2 - 1')

U. D. de Matemáticas de la ETSITGC 6
ETSI de Topografía, Geodesia y Cartografía
x2 - y2 - 1 = 0
6

y
-2

-4

-6
-6 -4 -2 0 2 4 6
x

• Dibujar superficies.
>>ezsurf('x^2 - y^2 - 1',[-1 1 -1 1])
x2 - y2 - 1

-0.5

-1

-1.5

-2
1
0.5 1
0 0.5
0
-0.5 -0.5
y -1 -1
x

• Gráficas.
>> x=linspace(-3,3,500);
>>y=exp(-x.^2);
>>plot(x,y) >>plot(x,y,'*') >> plot(x,y,'--') >> plot(x,y,'r')

• Mantiene en la ventana gráfica los dibujos anteriores.


>> hold on
• Borrar las gráficas anteriores.
>> hold off
• Función definida a trozos
>> x=linspace(-2,3,3000);
>>y=(x.^2).*(x<0)+1.*((0<=x)&(x<1))+
(-x+2).*(1<=x);
x 2 si x<0
>> plot(x,y,’.’). 
=f ( x ) 1 si 0 ≤ x<1
2 − x si 1 ≤ x

U. D. de Matemáticas de la ETSITGC 7
ETSI de Topografía, Geodesia y Cartografía

SISTEMAS DE ECUACIONES LINEALES


• Sistema compatible determinado por el método de Gauss.
>> A=[1,18,-6;2,1,16;8,1,-2],b=[-10;-2;8],x=A\b
A=
1 18 -6
2 1 16
8 1 -2
b=
-10
-2
8
x=
1.0326
-0.6834
-0.2114
%Si A es una matriz n por n y b es un vector columna de dimensión n, o una
matriz con varias columnas, entonces X = A \ b es la solución a la ecuación A * X = b.
• El número de condición de una matriz A en la norma 2, k2(A)=||A||||A-1||, se calcula
también como el cociente entre el valor singular más grande y el más pequeño de A.
>> cond(A)
ans =
2.5217
• Factorización LU
>> [L,U]=lu(A)
L=
0.1250 1.0000 0
0.2500 0.0420 1.0000
1.0000 0 0
U=
8.0000 1.0000 -2.0000
0 17.8750 -5.7500
0 0 16.7413
%Se cumple L*U=A
• Si L no sale triangular superior hace falta permutar las ecuaciones
>> [L,U, P]=lu(A)
L=
0.1250 1.0000 0
0.2500 0.0420 1.0000
1.0000 0 0
U=
8.0000 1.0000 -2.0000
0 17.8750 -5.7500
0 0 16.7413P =
P=
0 0 1

U. D. de Matemáticas de la ETSITGC 8
ETSI de Topografía, Geodesia y Cartografía
1 0 0
0 1 0
>> B=[8,1,-2;1,18,-6;2,1,16];b=[8;-10;-2];
>> [L,U,P]=lu(B)
L=
1.0000 0 0
0.1250 1.0000 0
0.2500 0.0420 1.0000
U=
8.0000 1.0000 -2.0000
0 17.8750 -5.7500
0 0 16.7413
P=
1 0 0
0 1 0
0 0 1


La descomposición de Cholesky se utiliza para resolver sistemas de ecuaciones
lineales en la misma forma que se usa la descomposición LU genérica, siempre
que la matriz de los coeficientes sea definida y positiva. Y es más eficiente y
más estable numéricamente que cualquier otra descomposición LU.
>> A=[1,0,-2;0,2,-2;-2,-2,7];
>> L=chol(A,'lower')
L=
1.0000 0 0
0 1.4142 0
-2.0000 -1.4142 1.

O bien,

>> chol(A)

ans =

1.0000 0 -2.0000

0 1.4142 -1.4142

0 0 1.0000

obteniéndose Lt.

U. D. de Matemáticas de la ETSITGC 9
ETSI de Topografía, Geodesia y Cartografía

ALGORITMO DE CROUT:
• Para programar con MatLab hay que escribir un fichero con las instrucciones
necesarias. Para ello abrimos el editor con los siguientes pasos:
File>>>New>>>M-File, o bien, New Script
Ya podemos escribir las instrucciones:
function [x,L,U]=crout(a,b,c,z)
n = length(a);
l(1) = a(1);
for i=1:n-1
if abs(l(i))<10^(-13)
u(i) = 0;
else
u(i)= b(i)/l(i);
end
l(i+1) = a(i+1) - u(i)*c(i);
end
L = diag(l,0) + diag(c,-1)
U = diag(ones(n,1),0) + diag(u,1)
% Resolvemos L*z = b, donde z = U*x
z = z(:);
y = L \ z;
x = U \ y;
end
Una vez guardado el archivo con el nombre de la función, escribimos las condiciones para
Ax = z, donde A es cuadrada y tridiagonal.
>> a=[4,4,4,4,4,4];b=[1,1,1,1,1];c=[1,1,1,1,1];z=[‐96;174;30;‐396;12;90], crout(a,b,c,z)
L=
4.0000 0 0 0 0 0
1.0000 3.7500 0 0 0 0
0 1.0000 3.7333 0 0 0
0 0 1.0000 3.7321 0 0
0 0 0 1.0000 3.7321 0
0 0 0 0 1.0000 3.7321
U=
1.0000 0.2500 0 0 0 0
0 1.0000 0.2667 0 0 0
0 0 1.0000 0.2679 0 0
0 0 0 1.0000 0.2679 0
0 0 0 0 1.0000 0.2679
0 0 0 0 0 1.0000
ans =
‐35.6125
46.4500
23.8124
‐111.6998
26.9866
15.7533

U. D. de Matemáticas de la ETSITGC 10
ETSI de Topografía, Geodesia y Cartografía

MÉTODO DE JACOBI:
• Para programar con MatLab hay que escribir un fichero con las instrucciones
necesarias. Para ello abrimos el editor con los siguientes pasos:
File>>>New>>>M-File, o bien, New Script
Ya podemos escribir las instrucciones:
function[x,incr,iter]=jacobi(A,b,x0,tol,maxiter)
%inicialización
M = diag(diag(A));
N = M-A;
iter = 1;
incr = tol+1
%iteraciones
while incr > tol & iter < maxiter
x = M\(N*x0+b);
incr = norm(x-x0, inf);
x0 = x;
iter = iter+1;
end
if incr > tol
disp('No converge con las iteraciones dadas')
end
% fun(x): función a iterar
% x0: estimación inicial para el proceso de iteración
% tol: tolerancia en error absoluto para la raíz
% incr: variación entre las raíces con la norma infinita
% maxiter: máximo número de iteraciones permitidas
Una vez guardado el archivo con el nombre de la función, escribimos las condiciones para
la iteración.
>>A=[8,1,-2;1,18,-6;2,1,16], b=[8;-10;-2];
>> x0=[0;0;0];
tol=0.01;
maxiter=4;
jacobi(A,b,x0,tol,maxiter)
incr =1.0100
No converge con las iteraciones dadas
ans =
1.0278
-0.6850
-0.2140
>> x0=[0;0;0];
tol=0.01;
maxiter=5;
jacobi(A,b,x0,tol,maxiter)
incr =1.0100
ans =
1.0321
-0.6840
-0.2107

U. D. de Matemáticas de la ETSITGC 11
ETSI de Topografía, Geodesia y Cartografía

MÉTODO DE GAUSS‐SEIDEL:
• Para programar con MatLab hay que escribir un fichero con las instrucciones
necesarias. Para ello abrimos el editor con los siguientes pasos:
File>>>New>>>M-File, o bien, New Script
Ya podemos escribir las instrucciones:
function[x,incr,iter]=gausseidel(A,b,x0,tol,maxiter)
%inicialización
M = tril(A);
N = M-A;
iter = 1;
incr = tol+1
%iteraciones
while incr > tol & iter < maxiter
x = M\(N*x0+b);
incr = norm(x-x0, inf);
x0 = x;
iter = iter+1;
end
if incr > tol
disp('No converge con las iteraciones dadas')
end
% fun(x): función a iterar
% x0: estimación inicial para el proceso de iteración
% tol: tolerancia en error absoluto para la raíz
% incr: variación entre las raíces con la norma infinita
% maxiter: máximo numero de iteraciones permitidas
Una vez guardado el archivo con el nombre de la función, escribimos las condiciones para
la iteración.
>>B=sparse([1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6],[1,2,1,2,3,2,3,4,3,4,5,4,5,6,5,6],[4,1,1,4,1,1,4,
1,1,4,1,1,4,1,1,4]); A=full(B)
A=
4 1 0 0 0 0
1 4 1 0 0 0
0 1 4 1 0 0
0 0 1 4 1 0
0 0 0 1 4 1
0 0 0 0 1 4
>> b=[‐96;174;30;‐396;12;90];x=A\b;
>> x0=[0;0;0;0;0;0], tol=0.01, maxiter=50,
gausseidel(A,b,x0,tol,maxiter)
incr =1.0100
ans =
‐35.6130
46.4504
23.8122
‐111.6997
26.9866
15.7534

U. D. de Matemáticas de la ETSITGC 12
ETSI de Topografía, Geodesia y Cartografía

MÉTODO DE SOBRERRELAJACIÓN:
• Para programar con MatLab hay que escribir un fichero con las instrucciones
necesarias. Para ello abrimos el editor con los siguientes pasos:
File>>>New>>>M-File, o bien, New Script
Ya podemos escribir las instrucciones:
function[x,incr,iter]=sobrerrelajacion(A,b,x0,omega,tol,maxiter)
% inicialización
D = diag(diag(A));
L = tril(A,-1);
M = L + D/omega;
N = M-A;
iter = 1;
incr = tol+1
% iteraciones
while incr > tol & iter < maxiter
x = M\(N*x0+b);
incr = norm(x-x0, inf);
x0 = x;
iter = iter+1;
end
if incr > tol
disp('No converge con las iteraciones dadas')
end
% fun(x): función a iterar
% x0: estimación inicial para el proceso de iteración
% omega: número elegido para ponderación
% tol: tolerancia en error absoluto para la raíz
% incr: variación entre las raíces con la norma infinita
% maxiter: máximo número de iteraciones permitidas
Una vez guardado el archivo con el nombre de la función, escribimos las condiciones para
la iteración.
>>B=sparse([1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6],[1,2,1,2,3,2,3,4,3,4,5,4,5,6,5,6],[4,1,1,4,1,1,4,
1,1,4,1,1,4,1,1,4]); A=full(B)
A=
4 1 0 0 0 0
1 4 1 0 0 0
0 1 4 1 0 0
0 0 1 4 1 0
0 0 0 1 4 1
0 0 0 0 1 4
>> b=[‐96;174;30;‐396;12;90];x=A\b; x0=[0;0;0;0;0;0], omega=1.2, tol=0.01,
maxiter=50, sobrerrelajacion(A,b,x0,omega, tol,maxiter)
incr =1.0100
ans = ‐35.6124
46.4497
23.8126
‐111.6998
26.9866
15.7533

U. D. de Matemáticas de la ETSITGC 13
ETSI de Topografía, Geodesia y Cartografía

POLINOMIOS DE INTERPOLACIÓN
Polinomios oscilantes: Polinomio de Lagrange
• Polinomio de interpolación de grado n
>>polyfit(x,y,n)
Corresponde al polinomio p ( x)= p1 x n + p2 x n −1 + .... + pn x + pn +1
Ejemplo:
xi 0 1 2 3 4 5 6 7

yi 0 25 34 72 115 92 71 65

>> x=[0:7]; y=[0 25 34 72 115 92 71 65]; polyfit(x,y,7)


ans =
-0.1079 2.4944 -22.1222 93.9861 -195.3722 181.5194 -35.3976 -0.0000
En este caso
p( x) =−0.1079     2.4944
x7 + x 6 − 22.1222  
x 5 +93.9861x 4 − 195.3722x 3 +181.5194 x 2 − 35.3976x

• Evaluar en un punto particular x0


>> polyval(ans,x0)
>> polyval(ans,2.5)
ans =
47.3867
• Para representar los puntos y el polinomio
>> p=polyfit(x,y,7);
>> hold on
% Mantiene los ejes igual y se añade la gráfica
>> xx=0:0:7;
yy=polyval(p,xx);
plot(x,y,'*',xx,yy)
% Dibujo:
120

100

80

60

40

20

-20
0 1 2 3 4 5 6 7

U. D. de Matemáticas de la ETSITGC 14
ETSI de Topografía, Geodesia y Cartografía

Polinomios oscilantes: Polinomio de Hermite


• Polinomio de interpolación de grado n
• Para programar con MatLab hay que escribir un fichero con las instrucciones
necesarias. Para ello abrimos el editor con los siguientes pasos:
File>>>New>>>M-File, o bien, New Script
Ya podemos escribir las instrucciones:
function hp = hermite (x, y, yp)
n = length (x);
z = zeros (1, 2*n);
f = zeros (1, 2*n);
z(1:2:2*n-1) = x;
z(2:2:2*n) = x;
f(1) = y(1);
f(3:2:2*n-1) = (y(2:n) - y(1:n-1) ) ./ ( x(2:n) - x(1:n-1));
f(2:2:2*n) = yp;
for i = 3:2*n
f(i:2*n) = (f(i:2*n) - f(i-1:2*n-1) ) ./ ( z(i:2*n) - z(1:2*n-i+1));
end;
hp = zeros (1, 2*n);
p = [1];
for i = 1:2*n
hp = hp + f(i) * [zeros(1,2*n-i) p];
p = conv (p, [1 -z(i)]);
end;
% x: abscisas de los puntos a interpolar
% y: ordenadas de los puntos a interpolar
% yp: derivadas de los puntos a interpolar
% hp: coeficientes del polinomio de Hermite
% conv: convolución de dos vectores. Algebraicamente, la convolución es la misma
operación que la multiplicación de los polinomios cuyos coeficientes son los elementos
de los dos vectores.
w=con(u,v)
w(1) = u(1)*v(1)
w(2) = u(1)*v(2)+u(2)*v(1)
w(3) = u(1)*v(3)+u(2)*v(2)+u(3)*v(1)
...
w(n) = u(1)*v(n)+u(2)*v(n-1)+ ... +u(n)*v(1)
Si m es la longitud de u y n la longitud de v, entonces m+n-1 es la longitud de w.

Una vez guardado el archivo con el nombre de la función, escribimos los datos:
Ejemplo:
x 0 1 3
f (x) 1 5 -17
f ’(x) 3 5 -15

U. D. de Matemáticas de la ETSITGC 15
ETSI de Topografía, Geodesia y Cartografía
>> x=[0 1 3]; y=[1 5 -17]; yp=[3 5 -15];
hp=hermite(x,y,yp)
hp =
1 -6 9 -3 3 1
En este caso p ( x) =x5 − 6  9x
x 4 + 3 − 3x 2 +3 x + 1
• Para representar los puntos y el polinomio
>> xx=[0:0.1:3];
yy=polyval(hp,xx);
plot(x,y,'*',xx,yy')

10

-5

-10

-15

-20
0 0.5 1 1.5 2 2.5 3

U. D. de Matemáticas de la ETSITGC 16
ETSI de Topografía, Geodesia y Cartografía

INTERPOLACIÓN POLINÓMICA SEGMENTARIA:


SPLINES CÚBICOS
• Spline “no nodo”
>> spline (x, y)
% Genera un registro llamado polinomio segmentario que, entre otros campos,
consta de uno que contiene los coeficientes de todos los polinomios del spline en
una matriz de dimensiones n x 4, [Link]
Ejemplo:
xi 0 1 2 3 4 5 6 7
yi 0 25 34 72 115 92 71 65

>> x=[0:7]; y=[0 25 34 72 115 92 71 65]; pp=spline (x, y)


ans =
form: 'pp'
breaks: [0 1 2 3 4 5 6 7]
coefs: [7x4 double]
pieces: 7
order: 4
dim: 1
% La evaluación del spline en puntos concretos se efectúa con ppval, que es el
análogo de polyval para polinomios
>>ppval (spline (x, y), xi).
>> ppval(spline(x,y),2.5)
ans =
48.8484
% Si sólo interesan los valores que tome el spline en ciertos puntos xi, se utiliza
la misma función en la forma: yi = spline (x, y, xi).
>> spline(x,y,2.5)
ans =
48.8484
% La matriz que contiene los coeficientes del spline.
>> [Link]
ans =

9.5319 -36.5957 52.0638 0


9.5319 -8.0000 7.4681 25.0000
-2.6595 20.5957 20.0638 34.0000
-22.8939 12.6172 53.2767 72.0000
23.2352 -56.0646 9.8293 115.0000
-2.0470 13.6411 -32.5941 92.0000
-2.0470 7.5000 -11.4530 71.0000
% Dibujo:
>> xx=0:0.2:7;
zz=spline(x,y,xx);
plot(x,y,'*',xx,zz)

U. D. de Matemáticas de la ETSITGC 17
ETSI de Topografía, Geodesia y Cartografía

120

100

80

60

40

20

0
0 1 2 3 4 5 6 7

• Spline “completo”:
Se calcula con la misma función que se utiliza para el spline “no nodo”, añadiendo al vector
“y” dos valores, uno al principio y otro al final, que son los valores de la derivada primera
del spline en los puntos inicial y final, a=S’(x0) y b=S’(xn), respectivamente. Sintaxis:
spline (x, [a y b]).
Ejemplo:
Se consideran los valores de la función y = arc tg x en los nodos x = -3, -2, …, 2, 3.
Interpolar estos puntos mediante un spline cúbico cuya derivada primera en los extremos
coincida con la derivada primera de la función.
1
y' ( x ) = ⇒ y' (−3) = 0.1, y' (3) = 0.1
1+ x2
x0 x1 x2 x3 x4 x5 x6
-3 -2 -1 0 1 2 3
>> x=-3:3;
>> y=atan(x);
>> ps=spline(x,[0.1 y 0.1]);
Los coeficientes de cada pieza del spline están dados en la siguiente matriz:
>> [Link]
ans =
-0.0011 0.0430 0.1000 -1.2490
0.0994 0.0397 0.1827 -1.1071
-0.1126 0.3378 0.5602 -0.7854
-0.1126 -0.0000 0.8980 0
0.0994 -0.3378 0.5602 0.7854
-0.0011 -0.0397 0.1827 1.1071

U. D. de Matemáticas de la ETSITGC 18
ETSI de Topografía, Geodesia y Cartografía
Dibujamos la función (trazo continuo rojo) y el polinomio segmentario (trazo discontinuo
verde):
1.5

>> xx=-3:0.1:3; 0.5

>> yy=ppval(ps,xx);
0
>> plot(x,y,'*',xx,atan(xx))
-0.5
>> hold on
>> plot(x,y,'*',xx,yy,'--') -1

-1.5
-3 -2 -1 0 1 2 3

• Spline cúbico natural o con frontera libre:


x=input('Ingrese Los valores de x [x0 ...xf] : ');
y=input('Ingrese Los valores de y [y0 ...yf] : ');
if length(y)~=length(x)
disp ('x e y no son de la misma longitud');
end
n = length(x)-1;
h = x(2:n+1)-x(1:n);
a=y;
for i=1:n l(i)=(a(i+1)-a(i))/h(i);
end
l(n+1)=0;
% revisar si es necesario
for i=2:n
m(i)=3*(l(i)-l(i-1));
end
% introducir condiciones de frontera
m(1)=0;
%condición inicio de frontera
m(n+1)=0;
%condición fin de frontera
% Armando matriz A
A(1,1) = 1;
for i=2:n
A(i,i-1:i+1) = [h(i-1) 2*(h(i-1)+h(i)) h(i)];
end
A(n+1,n+1) = 1;
c=(A\m')';
for i=1:n b(i)=l(i)-h(i)*(2*c(i)+c(i+1))/3;
end

U. D. de Matemáticas de la ETSITGC 19
ETSI de Topografía, Geodesia y Cartografía
for i=1: n
d(i)=(c(i+1)-c(i))/(3*h(i));
end
X=sym('X');
for i=1:n
s(i)=a(i)+b(i)*(X-x(i))+c(i)*(X-x(i))^2+d(i)*(X-x(i))^3;
end
% gráfica
figure(1)
grid on
plot(x,y,'o','MarkerSize',10,'MarkerEdgeColor','b','MarkerFaceColor','b')
for i=1:n
figure(2)
grid on
xx=x(i):1/100:x(i+1);
ezplot(s(i),xx)
hold on
end
axis([min(x) max(x) min(y) max(y)])
% diff(int(s(1)))
% Mostrar datos
x,y,A,h,l,m,a,b,c,d
% Para mostrar las ecuaciones interpoladoras
for i=1:n
disp('-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-__-_-_-_-_-_-')
disp('entre xi y xf:'),
x(i),x(i+1)
pretty((expand((vpa(s(i),5)))))
% decimales significativos
end
Ejemplo:
>> x=[2 2.7 3.8 6 8 10 13 16 18 21 25 30 36];
y=[5 7.8 9 10 10.2 10.3 10.4 14.5 15 15.4 15.5 14 5];
x=
2.0000 2.7000 3.8000 6.0000 8.0000 10.0000 13.0000 16.0000
18.0000 21.0000 25.0000 30.0000 36.0000
y=
5.0000 7.8000 9.0000 10.0000 10.2000 10.3000 10.4000 14.5000
15.0000 15.4000 15.5000 14.0000 5.0000
A=
1.0000 0 0 0 0 0 0 0 0 0 0 0 0
0.7000 3.6000 1.1000 0 0 0 0 0 0 0 0 0 0
0 1.1000 6.6000 2.2000 0 0 0 0 0 0 0 0 0
0 0 2.2000 8.4000 2.0000 0 0 0 0 0 0 0 0
0 0 0 2.0000 8.0000 2.0000 0 0 0 0 0 0 0
0 0 0 0 2.0000 10.0000 3.0000 0 0 0 0 0 0
0 0 0 0 0 3.0000 12.0000 3.0000 0 0 0 0 0

U. D. de Matemáticas de la ETSITGC 20
ETSI de Topografía, Geodesia y Cartografía
0 0 0 0 0 0 3.0000 10.0000 2.0000 0 0 0 0
0 0 0 0 0 0 0 2.0000 10.0000 3.0000 0 0 0
0 0 0 0 0 0 0 0 3.0000 14.0000 4.0000 0 0
0 0 0 0 0 0 0 0 0 4.0000 18.0000 5.0000 0
0 0 0 0 0 0 0 0 0 0 5.0000 22.0000 6.0000
0 0 0 0 0 0 0 0 0 0 0 0 1.0000
h=
0.7000 1.1000 2.2000 2.0000 2.0000 3.0000 3.0000 2.0000
3.0000 4.0000 5.0000 6.0000
l=
4.0000 1.0909 0.4545 0.1000 0.0500 0.0333 1.3667 0.2500
0.1333 0.0250 -0.3000 -1.5000 0
m=
0 -8.7273 -1.9091 -1.0636 -0.1500 -0.0500 4.0000 -3.3500
-0.3500 -0.3250 -0.9750 -3.6000 0
a=
5.0000 7.8000 9.0000 10.0000 10.2000 10.3000 10.4000
14.5000 15.0000 15.4000 15.5000 14.0000 5.0000
b=
4.5791 2.8418 0.3193 0.3096 0.0672 -0.1282 0.8655 0.8662
0.0190 0.1309 -0.0277 -0.8453
c=
0 -2.4819 0.1888 -0.1932 0.0720 -0.1697 0.5009 -0.5007
0.0771 -0.0398 0.0001 -0.1637 0
d=
-1.1819 0.8093 -0.0579 0.0442 -0.0403 0.0745 -0.1113 0.0963
-0.0130 0.0033 -0.0109 0.0091
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_¬_-_-_-_-_-_-
entre xi y xf:
ans =
2
ans =
2.7000
5.2970 - 9.6037 X - 1.1819 X3 + 7.0914 X2
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_¬_-_-_-_-_-_-
entre xi y xf:
ans =
2.7000
ans =
3.8000
-33.895469730000000 + 33.94366970000 X2 - 9.0373110 X3 + 0.80931 X
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_¬_-_-_-_-_-_-
entre xi y xf:
ans =
3.8000
ans =
6

U. D. de Matemáticas de la ETSITGC 21
ETSI de Topografía, Geodesia y Cartografía
13.688863360000000000 - 3.62292160000000 X2 + 0.8486320000 X3 -
0.057880 X
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_¬_-_-_-_-_-_-
entre xi y xf:
ans =
6
ans =
8
-8.359696 + 7.401318 X - 0.988738 X2 + 0.044196 X3
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_¬_-_-_-_-_-_-
entre xi y xf:
ans =
8
ans =
10
34.888592 - 8.816765 X + 1.038521 X2 - 0.040273 X3
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_¬_-_-_-_-_-_-
entre xi y xf:
ans =
10
ans =
13
-79.896000 + 25.618450 X - 2.405000 X2 + 0.074511 X3
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_¬_-_-_-_-_-_-
entre xi y xf:
ans =
13
ans =
16
328.30798 - 68.58244 X + 4.84123 X2 - 0.11129 X3
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_¬_-_-_-_-_-_-
entre xi y xf:
ans =
16
ans =
18
-521.952108 + 90.841314 X - 5.122754 X2 + 0.096293 X3
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_¬_-_-_-_-_-_-
entre xi y xf:
ans =
18
ans =
21
115.340056 - 15.373988 X + 0.778096 X2 - 0.012982 X3
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_¬_-_-_-_-_-_-
entre xi y xf:
ans =

U. D. de Matemáticas de la ETSITGC 22
ETSI de Topografía, Geodesia y Cartografía
21
ans =
25
-35.6780720 + 6.2000590 X - 0.2492420 X2 + 0.0033250 X3
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_¬_-_-_-_-_-_-
entre xi y xf:
ans =
25
ans =
30
186.90038750 - 20.50933800 X + 0.81913342 X2 - 0.010920 X3
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_¬_-_-_-_-_-_-
entre xi y xf:
ans =
30
ans =
36
-353.4432000 + 33.5248900 X - 0.9820040 X2 + 0.0090926 X3
16

14

12

10

4
0 5 10 15 20 25 30 35 40

88630835302628377/2251799813685248-...+5241523402050519/576460752303423488 (X-30)3

15

14

13

12

11

10

5
5 10 15 20 25 30 35
X

U. D. de Matemáticas de la ETSITGC 23
ETSI de Topografía, Geodesia y Cartografía

Polinomio de Newton
clear;clc;
disp('métodos numéricos');
disp('interpolación');
n=input('ingrese el grado del polinomio, n=');
fprintf('Se necesitan %.0f puntos\n',n+1);
disp('ingrese los puntos');
for i=1:n+1
fprintf('x%.0f=',i-1);
X(i)=input(' ');
fprintf('y%.0f=',i-1);
Y(i)=input(' ');
end
DD=zeros(n+1);
DD(:,1)=Y;
for k=2:n+1
for J=k:n+1
DD(J,k)=[DD(J,k-1)-DD(J-1,k-1)]/[X(J)-X(J-k+1)];
end
end
disp('La matriz de diferencias divididas es:');
disp(DD);
disp('El polinomio de Newton es');
syms x;
polnew=DD(1,1);
P=1;
for i=1:n
P=P*(x-X(i));
polnew=polnew+P*DD(i+1,i+1);
end
polnew=expand(polnew);
pretty(polnew);
x=input('ingrese el valor de x a interpolar,x=');
vi=eval(polnew);
fprintf('el valor interpolado es %.2f\n',vi);
hold on;
ezplot(polnew,[X(1) X(n+1)]);
plot(x,vi,'r+');

Ejemplo:
xi 0 1 2 3 4 5 6 7

yi 0 25 34 72 115 92 71 65
métodos numéricos
interpolación
ingrese el grado del polinomio, n=7

U. D. de Matemáticas de la ETSITGC 24
ETSI de Topografía, Geodesia y Cartografía
Se necesitan 8 puntos
ingrese los puntos
x0= 0
y0= 0
x1= 1
y1= 25
x2= 2
y2= 34
x3= 3
y3= 72
x4= 4
y4= 115
x5= 5
y5= 92
x6= 6
y6= 71
x7= 7
y7= 65
La matriz de diferencias divididas es:
0 0 0 0 0 0 0 0
25.0000 25.0000 0 0 0 0 0 0
34.0000 9.0000 -8.0000 0 0 0 0 0
72.0000 38.0000 14.5000 7.5000 0 0 0 0
115.0000 43.0000 2.5000 -4.0000 -2.8750 0 0 0
92.0000 -23.0000 -33.0000 -11.8333 -1.9583 0.1833 0 0
71.0000 -21.0000 1.0000 11.3333 5.7917 1.5500 0.2278 0
65.0000 - 6.0000 7.5000 2.1667 -2.2917 -1.6167 -0.5278 -0.1079
El polinomio de Newton es
14867 35167 65347 6767 1991 449 34
- -------- x - -------- x + -------- x + ------ x - ------ x + ----- x6
3 2 4 5
- ---- x7
420 180 360 72 90 180 315
ingrese el valor de x a interpolar, x=2.5
el valor interpolado es 47.39
-14867/420 x-35167/180 x 3+65347/360 x 2+...-34/315 x 7

120

100

80

60

40

20

0 1 2 3 4 5 6 7
x

U. D. de Matemáticas de la ETSITGC 25
ETSI de Topografía, Geodesia y Cartografía

Estadística
Los parámetros estadísticos más usuales son:
mean(x) Media aritmética
mode(x) Moda
median(x) Mediana
std(x) Desviación típica muestral
var(x) Varianza muestral
prctile(x,p) Percentil de orden p
>> x=[300 450 470 490 510 510 525 550 600 700];
>> mean(x)
ans =
510.5000

>> mode(x)
ans =
510

>> median(x)
ans =
510

>> std(x)
ans =
103.1302

>> var(x)
ans =
1.0636e+04
>> prctile(x,25)
ans =
470

• Distribución de Frecuencias

>> x=[3.6 4.3 4.5 4.6 4.6 4.8 4.9 4.9 5.0 5.1 5.8 4.4
4.5 5.0 5.6 4.6 4.9 5.0 5.0 5.1 3.9 4.3 4.5 4.6
4.7 4.8 5.3 4.6 5.2 4.9 5.8 4.8 4.5 4.6 4.8 4.9
4.9 5.0 5.1 5.1 5.5 5.6 5.2 4.3 4.8 4.9 4.3 5.3
4.6 5.1 5.3 5.0 3.8 4.9 5.3 5.7 5.7 5.2 5.2 5.0
5.2 5.4 5.1 5.4 5.3 5.9 6.0 6.1 6.0 6.3 5.8 5.9 5.8
5.2 4.6 5.1 4.2 5.3 4.0 5.5];
%Para definir las marcas de clase
>> m=[3.75 4.25 4.75 5.25 5.75 6.25];
%Para obtener las frecuencias absolutas en cada clase
>> f=hist(x,m)
f=

U. D. de Matemáticas de la ETSITGC 26
ETSI de Topografía, Geodesia y Cartografía
4 10 29 23 12 2
%Frecuencias absolutas acumuladas
>> F=cumsum(f)
F=
4 14 43 66 78 80
%Para obtener las frecuencias absolutas en 6 clases
>> f=hist(x,6)
f=
4 10 22 28 10 6
% Histograma y Curva Normal
>> histfit(x,6)

30

25

20

15

10

0
3 3.5 4 4.5 5 5.5 6 6.5 7

• Distribuciones Notables
Nombre Función de distribución Percentiles
Binomial binocdf(x,n,p) binoinv(p,n,p(éxito))
Poisson poisscdf(x,𝜆𝜆) Poissinv(p,λ)
Normal normcdf(x,μ,σ) norminv(p,μ,σ)
Chi-cuadrado nhicdf(x,n) chiinv(p,n)
t-Student ncdf(x,n) tinv(p,n)
F de Snedecor fcdf(x,n1,n2) finv(p,n1,n2)

U. D. de Matemáticas de la ETSITGC 27
ETSI de Topografía, Geodesia y Cartografía

PROBABILIDAD
Las funciones para cada distribución incluyen:
• Función de densidad de probabilidad (pdf)
• Función de distribución (cdf)
• Inversa de la función de distribución
• Media y varianza

• Cálculo de Probabilidades en distribuciones discretas

Binomial para n pruebas independientes con p la probabilidad de éxito


binopdf(x,n,p)

>> binopdf(5,10,0.5)
ans =
0.2461

Poisson de media λ
poisspdf(x,λ)

>> poisspdf(1,5)
ans =
0.0337

• Cálculo de la función de distribución en distribuciones continuas

Normal de media µ y de desviación típica σ


normcdf(x,µ,σ)

>> normcdf(0,1,5)
ans =
0.4207

Chi cuadrado con n grados de libertad


chi2cdf(x,n)

>> chi2cdf(1,5)
ans =
0.0374

t-Student con n grados de libertad


tcdf(x,n)

>> tcdf(1,5)
ans =
0.8184

U. D. de Matemáticas de la ETSITGC 28
ETSI de Topografía, Geodesia y Cartografía
F-Snedecor con n y m grados de libertad
fcdf(x,n,m)

>> fcdf(1,2,3)
ans =
0.5352

• Cálculo de los percentiles en distribuciones, es decir, dada la probabilidad encontrar


la abscisa x tal que F(x)=P(X≤x)=probabilidad

Binomial para n pruebas independientes con p la probabilidad de éxito


binoinv(probabilidad,n,p)

>> binoinv(0.17,10,0.5)
ans =
3

Poisson de media λ
poissinv(probabilidad,λ)

>> poissinv(0.95,5)
ans =
9

Normal de media µ y de desviación típica σ


norminv(probabilidad,µ,σ)

>> norminv(0.95,0,1)
ans =
1.6449

Chi cuadrado con n grados de libertad


chi2inv(probabilidad,n)

>> chi2inv(0.1,5)
ans =
0.0374
t-Student con n grados de libertad

tinv(x,n)
>> tinv(1,5)
ans =
1.6103

U. D. de Matemáticas de la ETSITGC 29
ETSI de Topografía, Geodesia y Cartografía
•Podemos obtener la media y la varianza de la distribución con las funciones
siguientes:
Binomial para n pruebas independientes con p la probabilidad de éxito
[m,v]=binostat(n,p)

>>[m,v]=binostat(8,0.3)
m=
2.4000

v=
1.6800

Poisson de media λ
[m,v]poisstat(n,p)

>>[m,v]=poisstat(8)
m=
8

v=
8

Chi cuadrado con n grados de libertad


[m,v]=chi2stat(n,p)

>>[m,v]=chistat(8)
m=
8

v=
16

t-Student con n grados de libertad


[m,v]=tstat(n,p)

>>[m,v]=tstat(8)
m=
0

v=
1.3333

U. D. de Matemáticas de la ETSITGC 30
ETSI de Topografía, Geodesia y Cartografía
 Contraste de Hipótesis para la Media con n>30
H0 :   0
[h,p,ci,t]=ztest(x,μ,S,α,-1) %“cola izquierda”
H1 :   0
H0 :   0
[h,p,ci,t]=ztest(x,μ,S,α) %“bilateral”
H1 :   0
H0 :   0
[h,p,ci,t]=ztest(x,μ,S,1) %“cola derecha”
H1 :   0
El valor devuelto de h=0 indica que el test no rechaza la hipótesis nula al nivel de
significación del 5% por defecto.
El valor devuelto de h=1 indica que el test rechaza la hipótesis nula al nivel de significación
del 5% por defecto, a favor de la hipótesis alternativa H1

>>x=normrnd(10,1,1,35) %Valores aleatorios de N(10,1) en 35 columnas


H0 :   10
>> [h,p,ci,z]=z,test(x,10,0.05)
H1 :   10
h=
1 %La evidencia es suficiente para rechazar H0
p=
0 %p-valor
ci =
10.3113 10.3444 %Intervalo de confianza para 1-α
z=
38.7944 %Estadístico de contraste

 Contraste de Hipótesis para la Media con n<30


[h,p,ci,t]=ttest(x,μ,α,-1) % “cola izquierda”
[h,p,ci,t]=ttest(x,μ,α) % “bilateral”
[h,p,ci,t]=ttest(x,μ,α,1) % “cola derecha”
El valor devuelto de h=0 indica que el test no rechaza la hipótesis nula al nivel de
significación del 5% por defecto.
El valor devuelto de h=1 indica que el test rechaza la hipótesis nula al nivel de significación
del 5% por defecto, a favor de la hipótesis alternativa H1
>>x =[185 200 186 197 185] %Vector con los datos de la muestra
H0 :   190
>> [h,p,ci,t]=ttest(x,190,0.05)
H1 :   190
h=
0 %La evidencia no es suficiente para rechazar H0
p=
0.8631 % p-valor
ci =
181.5350 199.6650 % Intervalo de confianza para 1-α
t=
tstat: 0.1838 %Estadístico de contraste

U. D. de Matemáticas de la ETSITGC 32
ETSI de Topografía, Geodesia y Cartografía
df: 4 %Grados de libertad
sd: 7.3007 %Desviación típica
 Contraste de Hipótesis para la diferencia de Medias con n<30 y varianzas
iguales
H0 : x  y
>> [h,p,ci,z]=ztest(x,y,α,-1)
H1 :  x   y
H0 : x  y
>> [h,p,ci,z]=ztest(x,y,α)
H1 :  x   y
H0 : x  y
>> [h,p,ci,z]=ztest(x,y,α,1)
H1 :  x   y
 Prueba de la Bondad del Ajuste (Chi-cuadrado o Pearson)
>> [h,p,st] = chi2gof([35 45 55 65 75], 'Ctrs',[35 45 55 65 75], 'Frequency', [16 22 20 19
23])
h=
1 % Hipótesis alternativa
p=
0.0347 % p-valor
st =
chi2stat: 6.7247 % estadístico de contraste
df: 2 % grados de libertad
edges: [30.0000 40.0000 50.0000 60.0000 70.0000 80.0000]
O: [16 22 20 19 23] %frecuencias observadas
E: [12.6136 20.6095 27.7004 22.9290 16.1476] %frecuencias esperadas
 Pruebas con Tabla de contingencia

>> n=[56 60 62 59;44 40 38 41]


n=
56 60 62 59
44 40 38 41 %frecuencias observadas
>> f=sum(n)
f=
100 100 100 100 %suma por filas
>> c=sum(n')
c=
237 163
>> e=(c'*f)/sum(sum(n)) %suma por columnas
e=
59.2500 59.2500 59.2500 59.2500
40.7500 40.7500 40.7500 40.7500 %frecuencias esperadas
>> chi=sum(sum((n-e).^2./e))
chi =
0.7766 %estadístico de contraste
>> p=1-chi2cdf(chi,3)
p=
0.8551 %p-valor

U. D. de Matemáticas de la ETSITGC 33
ETSI de Topografía, Geodesia y Cartografía
Disttool

Es una herramienta de MATLAB que permite visualizar de forma gráfica las


características de cada distribución con la posibilidad de variar sus parámetros. Las
funciones que muestra son:
 Función de densidad o de probabilidad (PDF)
 Función de distribución (CDF)

Por defecto la ventana se abre con la distribución N(0,1) y representando la función de


distribución de probabilidad.

0.8

0.6

0.4

0.2

0
-8 -6 -4 -2 0 2 4 6 8

Obviamente se puede modificar cualquier ventana

0.8

0.6

0.4

0.2

0
-8 -6 -4 -2 0 2 4 6 8

U. D. de Matemáticas de la ETSITGC 33
ETSI de Topografía, Geodesia y Cartografía
Calculamos las probabilidades

0.8

0.6

0.4

0.2

0
-15 -10 -5 0 5 10 15

Calculamos los percentiles

0.8

0.6

0.4

0.2

0
-8 -6 -4 -2 0 2 4 6 8

U. D. de Matemáticas de la ETSITGC 34
ETSI de Topografía, Geodesia y Cartografía
Cambiamos la distribución

1.2

0.8

0.6

0.4

0.2

0
0 1 2 3 4 5 6 7 8 9 10

0.8

0.6

0.4

0.2

0
0 1 2 3 4 5 6 7 8 9 10

U. D. de Matemáticas de la ETSITGC

También podría gustarte