Documentaciónregresion_cubica(x, y)
Nombre
regresion_cubica - Ajusta un polinomio cubico a un conjunto de datos.
Sinopsis
v = estadisticas.regresion_cubica(x, y)
Descripcion
Calcula los coeficientes de un polinomio de tercer grado que aproxima los datos de entrada.
Formula:
Validaciones y casos borde
- Requiere vectores
xeyno vacios, de igual dimension y con al menos cuatro puntos. - Si alguna de esas condiciones falla, emite
ERROR().
Comportamiento
- Construye y resuelve el sistema normal asociado al ajuste cubico.
- Retorna un
VECTORcon los coeficientesa,b,cyd.
Funciones API relacionadas
estadisticas.regresion_ab()estadisticas.regresion_abr()estadisticas.r2_lineal()
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| x | VECTOR | Valores de x. |
| y | VECTOR | Valores de y. |
Valor de retorno
VECTOR - VECTOR con los coeficientes a, b, c y d.
Ejemplo
ejemplo.blox
INCLUIR "vectores.api"
INCLUIR "matrices.api"
INCLUIR "estadisticas.api"
INCLUIR "graficos.api"
INCLUIR "gauss.api"
FUNCION PRINCIPAL
INICIO "Dispersion / Regresion"
STRING f
NUMERICO puntos, k, x_min, x_max
puntos = 15
x_min = 0
x_max = 15
// Serie1 - Dispersion Inicial
//
VECTOR xs[puntos], ys[puntos]
xs = vectores.linspace(puntos, x_min, x_max)
ys = [10, 15, 12, 7, 12, 9, 7, 9, 5, 12, 7, 30, 20, 40, 45]
// 1. Calculo de Regresion cubica abcd. Para a + b x + c x^2 + d x^3
//
VECTOR abcd[2]
abcd = estadisticas.regresion_cubica(xs, ys)
NUMERICO a, b, c, d
a = abcd[0]
b = abcd[1]
c = abcd[2]
d = abcd[3]
// Serie2 - Montaje de la Curva ajustada yfit = a + b x + c x^2 + d x^3
//
VECTOR yfit[puntos]
yfit = MIENTRAS (k < puntos) SI (k < puntos) VALOR a + b*xs[k] + c*xs[k]^2 + d*xs[k]^3 SINO 0
// 2. Calculo de Regression Lineal abr = [a,b,r2]
//
VECTOR ab[2]
ab = estadisticas.regresion_abr(xs, ys)
a = ab[0]
b = ab[1]
// Serie3 - Montaje de la Recta ajustada ylin = a + b x
//
VECTOR ylin[puntos]
ylin = MIENTRAS (k < puntos) SI (k < puntos) VALOR a + b*xs[k] SINO 0
// 3. Preparacion del grafico
//
TABLA curvas
STRING archivo, titulo
STRING color[3]
color[1] = graficos.color("negro")
color[2] = graficos.color("azul")
color[3] = graficos.color("naranja")
titulo = "Regresion Lineal y Polinomial" + f
archivo = "PROG41 - GRAFICO - XY - regresion polinomial.png"
curvas[1] = { X = xs,
Y = ys,
tipo = "dispersion"
nombre = "Datos",
color = color[1]
}
curvas[2] = { X = xs,
Y = ylin,
tipo = "xy"
nombre = "RLineal",
color = color[2]
}
curvas[3] = { X = xs,
Y = yfit,
tipo = "xy"
nombre = "RPoli.",
color = color[3]
}
graficos.graficar_trayectorias_n(curvas, titulo, archivo)
FINAL```