|     Inicio    |   |         |  |   FOROS      |  |      |      
   Elastix - VoIP B4A (Basic4Android) App inventor 2 PHP - MySQL
  Estación meteorológica B4J (Basic4Java) ADB Shell - Android Arduino
  Raspberry Pi Visual Basic Script (VBS) FireBase (BD autoactualizable) NodeMCU como Arduino
  AutoIt (Programación) Visual Basic Cosas de Windows Webs interesantes
Translate:
Búsqueda en este sitio:


.

App inventor 2 en español
Cómo programar los teléfonos móviles con Android.
Curso de App inventor 2 en español - Juan Antonio Villalpando

-- Tutorial de iniciación de App Inventor 2 en español --

Volver al índice del tutorial

___________________________

166B.- Regresión cúbica con JavaScript.

p166B_javascript_regresion.aia

- En el tutorial 84F2_regresion_exponencial.htm vimos dos tipos de regresiones: ab-exponencial y e-exponencial.

- Ahora vamos a ver otro tipo de regresión: regresión cúbica o regresión polinomial de tercer orden.

- Aquí podemos estudiar este tipo de regresión: https://towardsdatascience.com/polynomial-regression-bbe8b9d97491

- Con los valores x,y que introduzcamos debemos obtener los parámetros A, B, C y D para crea la expresión:

- El código JavaScript para obtener A, B, C y D, lo obtenemos de: http://jsbin.com/dedos/1/edit?html,js

- Utilizaremos la librería: https://cdnjs.cloudflare.com/ajax/libs/numeric/1.2.6/numeric.min.js

_________________
- Diseño.

- Necesitamos subir a la aplicación estos dos archivos:

regresion_cubica.htm

numeric.min.js

- En vez de subir a la aplicación el archivo numeric.min.js podríamos modificar esta línea:

<script src="https://cdnjs.cloudflare.com/ajax/libs/numeric/1.2.6/numeric.min.js"></script>

regresion_cubica.htm

<!DOCTYPE html>
<html><head><meta charset=utf-8 />
 <script src="numeric.min.js"></script>
</head><body>
 <script> 
 
var datos =  window.AppInventor.getWebViewString() ; // Obtiene los datos.
       datos = datos  + ":" ;

var partes = datos.split(":"); 
var data_x = eval('[' + partes[0] + ']');
var data_y = eval('[' + partes[1] + ']');

 // var data_x = [1,2,3,4,5,6,7,8,9];
 // var data_y = [155,229,322,453,655,888,1128,1694,2036];

var cubic = function(params,x) {
  return params[0] * x*x*x +
    params[1] * x*x +
    params[2] * x +
    params[3];
};

var objective = function(params) {
  var total = 0.0;
  for(var i=0; i < data_x.length; ++i) {
    var resultThisDatum = cubic(params, data_x[i]);
    var delta = resultThisDatum - data_y[i];
    total += (delta*delta);
  }
  return total;
};

var initial = [1,1,1,1];
var minimiser = numeric.uncmin(objective,initial);

var todo = "";
for(var j=0; j<minimiser.solution.length; ++j) {
  todo = todo + minimiser.solution[j].toFixed(4) + ",";
}
window.AppInventor.setWebViewString("" + todo);  // Respuesta a CadenaDeWebView
 </script> 
</body></html>

_________________
- Bloques.

- Observa: file:///mnt/sdcard/AppInventor/assets/regresion_cubica.htm.
- Cuando lo vayamos a Generar para obtener el archivo de instalación .apk, previamente cambiamos la dirección del archivo a file:///android_asset/regresion_cubica.htm

_________________
- Comentarios
.

-

__________________________________

 

- Mi correo:
juana1991@yahoo.com
- KIO4.COM - Política de cookies. Textos e imágenes propiedad del autor:
© Juan A. Villalpando
No se permite la copia de información ni imágenes.
Usamos cookies propias y de terceros que entre otras cosas recogen datos sobre sus hábitos de navegación y realizan análisis de uso de nuestro sitio.
Si continúa navegando consideramos que acepta su uso. Acepto    Más información