TEMA 1
v = [] vector fila
v = []’ vector columna
A = rand(n) Matriz random
e = ones(n,n) Matriz de unos de dimensión nxn
z = zeros(n,n) Matriz de unoeroscs de dimensión nxn
La coma va con “.”
.^2 = potencia de cada componente vectorial
NaN = para representar datos faltantes o valores indefinidos (en vectores
por ejemplo)
FUNCION ANONIMA
f=@(x) 1./(1+x.^2);
ERROR ENTRE DON GRAFICAS
errn=max(abs(f(xi)-yn)) % Distancia maxima entre la dos
ERROR RELATIVO
errlu=norm(xex-xlu)/norm(xex);
errel=norm(xex-x)/norm(x); (x es la solución normal)
ERROR ABSOLUTO
errabs=norm(xex-x);
SOLUCION EXACTA
xex=[];
for k=1:n;
if mod(k,2)==0;
xex=[xex;1];
else
xex=[xex;0];
end
end
xex
TEMA 2
x=A\b
[L,U,P]=lu(A)
xlu=U\(L\(P*b));
[Q,R]=qr(A)
xqr=R\(Q'*b)
MINIMOS CUADRADOS/GAUSS
xgauss=(A'*A)\(A'*b);
NORMA DE MANHATTAN O 1-NORMA
norm(x,1) %
NORMA EUCLIDEA
norm(x,2) %
NORMA DEL MAXIMO
norm(x,Inf) %
MATRIZ TRIANGULAR DE OTRA
T=triu(A);
VECTOR SUMA DE TODAS LAS COLUMNAS
wn=zeros(n,1); % Vector columna de ceros
for j=1:n
wn=wn+Hn(:,j); % Recorre las columnas y las va sumando
End
HACER UN VECTOR HACIA ATRÁS
L=[];
for k=1:n
L(k)=a(n-k+1);
end
L
SACAR LAS COLUMNAS IMPARES DE UNA MATRIZ
b=[]
for k=1:2:n
x=A(:,k)
b=[b,x]
% b=b+x
end
B=sum(b,2) suma de columas
B=sum(b,1) suma de filas
SACAR LAS COLUMNAS PARES DE UNA MATRIZ
b=[]
for k=2:2:n
x=A(:,k)
b=[b,x]
% b=b+x
end
B=sum(b,2)
SPDIAGS
p = spdiags(x, y, n, n)
x = qué (vectores columnas)
y = dónde (diagonales)
n = dimensión
VISUALIZAR LA MATRIZ
spy(A)
A(2,:) Escribe la segunda fila de la matriz
A(:,2) Escribe la segunda columna de la matriz
TEMA 3
FUNCIÓN ANÓNIMA
f = @(x) 1 ./ (1+x.^2) ;
GRADO POLINOMIO SI TE DAN SOLO X NODOS
n=length(X)-1
NODOS
x = [-6:6];
y = f(X); % funcion f evaluada en los nodos
MALLA
xi=[-6:0.01:6]'; / xi=[min(x):0.01:max(x)]
POLYFIT Y POLYVAL
pf=polyfit(x,y,n);
Ajusta un polinomio de grado n a un conjunto de datos mediante el método
de mínimos cuadrados. Para ponerlo en el plot hay que escribir polyval.
yn=polyval(pf,xi);
Evalúa xi en pf.
POLINOMIO A TROZOS
pol=interp1(x,y,xi);
Para evaluarlo en un punto se pone el punto en xi.
SPLINE
pp = spline(x,y,xi)
p = parámetro de suavizado
Crea un polinomio formado por polinomios cúbicos que forman una
interpolación más suave.
SPLINE / NOT-A-KNOT
sp=spline(x,y,xi); (casi igual que el normal)
SPLINE SUJETO
spsuj=spline(x,[fd(X(1)) f(X) fd(X(end))],xi);
ysujeto=spline(X,[alpha;Y;beta],xi);
fd(X(1) = derivada en el primer número y la otra en el último.
CAMBIAR FILA DE UNA MATRIZ
function A=creamatriz(a)
n=length(a);
e=ones(n,1);
A=spdiags([-e a -e],[-1 0 1],n,n);
A(1,:)=a;
PLOTS
plot(X,Y,'og',xi,pol,'r-',x,interp1(X,Y,1),'ob')
plot(x,y,'or',xi,pip,'b',1,y1,'x')
función y1 en x=1, marcado con cruz
figure(n)
Para mostrar un plot en una pestaña
legend('Nodos', 'Polinomio', 'Punto en 1','Location','Best');
o = círculos
x = cruces
- = rayitas
^ = triángulos
s = cuadrados (squares)
r = rojo
b = azul
g = verde
k = negro
m = magenta/rosa
c = cian/celeste