LstSq

Resuelve aproximadamente un sistema de ecuaciones algebraicas lineales (para matrices no cuadradas o degeneradas).

vector matrix::LstSq(
  const vector  b      // valores de la ordenada o "variable dependiente"
   );

Parámetros

b

[in]  Valores de la ordenada o "variable dependiente". (Vector de miembros libres)

Valor retornado

Un vector con la solución del sistema a * x = b. * x = b.   Esto solo es cierto para los sistemas que tienen una solución exacta.

Ejemplo:

   matrix a={{32},
             {4,-5},
             {33}};
   vector b={7,40,3};
//---
   vector x=a.LstSq(b);
//--- comprobación, debe ser [5, -4]
   Print("x="x);
//--- comprobación, debe ser [7, 40, 3]
   vector b1=a.MatMul(x);
   Print("b1=",b1);
 
/*
  x=[5.000000000000002,-4]
  b1=[7.000000000000005,40.00000000000001,3.000000000000005]
*/