﻿
CÁLCULO DE RAÍCES DE UNA ECUACIÓN

Ej.: x^3 - 5x^2 + 3x - 2 = 0
-> roots ([1 -5 3 -2])

Ejercicio de cupones:
- 3 cupones: 10 €
- Precio hoy: 110 €
- Valor nominal: 100 €
Calcular la TIR.
- Resolución:
  110 = 10/(1+r) + 10/(1+r)^2 + 110/(1+r)^3
  (Poniendo todo a la izquierda...)
  110(1+r)^3 - 10(1+r)^2 - 10(1+r) - 110 = 0
- En Matlab:
  (Asumismos x = 1+r.)
  roots ([110 -10 -10 -110])
  -> r = 0.0624; TIR = 6.24 %


RAÍCES DE UNA ECUACIÓN NO POLINÓMICA

fzero(función anónima, x0)
	x0 = punto alrededor del cual se busca la solución

Si es una función propia de Matlab (ej. 'sin' o las '.m'):
fzero('sin', 2)

Ej.: x^3 - 2x^2 + x - 1 = 0
fun = @(x) x.^3 - 2*x.^2 + x - 1;
fzero(fun, 1)


CÁLCULO DE AUTOVALORES Y AUTOVECTORES

A = [1 3 -1; 2 -1 4; 3 2 -2];

Dado un vector v, los autovalores (λ) de v son:
A*v = λ*v

- Para calcular los autovalores:
  eig(A)
- Para calcular autovectores y autovalores:
  [V,D] = eig(A)
  V: matriz con una columna por autovector
  D: matriz diagonal con los autovalores
* Se verifica:
  V^-1 * A * V = D

Cálculo del polinomio característico:
poly(A)
* La función nos devuelve los coeficientes.
* roots(poly(A)) nos debe dar también los autovalores.


REGRESIÓN MÍNIMO CUADRÁTICA

polyfit(x,y,n)

Nos devuelve el polinomio que se ajusta al conjunto de puntos dado.

n es el grado del polinomio.

Generemos una nube de puntos de ejemplo:
x = 0:0.1:3;
y = x.^2 + 2*randn(size(x));
plot(x,y,'.')

Para la nube de puntos anterior:
- polyfit(x,y,1)
  -> La recta de regresión es:
     y = 2.9722*x - 1.268
- polyfit(x,y,2)
  -> La parábola de regresión es:
     ...

Para representar la recta obtenida:
y1 = 2.9722*x - 1.268;
y2 = ...
plot(x,y,'.', x,y1,'-', x,y2, '_')
