Manual de MATLAB para Matemáticas
Manual de MATLAB para Matemáticas
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.
>> 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
>>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
40
35
30
25
20
15
10
-6 -4 -2 0 2 4 6
x
10
2
y
-2
-4
-6
-8
0 5 10 15 20 25
x
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')
U. D. de Matemáticas de la ETSITGC 7
ETSI de Topografía, Geodesia y Cartografía
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
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
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
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
>> 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
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
>> binopdf(5,10,0.5)
ans =
0.2461
Poisson de media λ
poisspdf(x,λ)
>> poisspdf(1,5)
ans =
0.0337
>> normcdf(0,1,5)
ans =
0.4207
>> chi2cdf(1,5)
ans =
0.0374
>> 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
>> binoinv(0.17,10,0.5)
ans =
3
Poisson de media λ
poissinv(probabilidad,λ)
>> poissinv(0.95,5)
ans =
9
>> norminv(0.95,0,1)
ans =
1.6449
>> 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
>>[m,v]=chistat(8)
m=
8
v=
16
>>[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
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
U. D. de Matemáticas de la ETSITGC 33
ETSI de Topografía, Geodesia y Cartografía
Disttool
0.8
0.6
0.4
0.2
0
-8 -6 -4 -2 0 2 4 6 8
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
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