include("logica_borrosa.php")
$pos_muy_izquierda =& new ConjuntoBorroso("MUY_IZQ", -10, -10, 0, 2.5);
$pos_izquierda =& new ConjuntoBorroso("IZQ", 0, 2.5, 2.5, 5);
... RESTO DE CONJUNTOS ...
$conjuntos = array("MUY_IZQ" => $pos_muy_izquierda, "IZQ" => $pos_izquierda, "CENTRO" => $pos_centro, "DER" => $pos_derecha, "MUY_DER" => $pos_muy_derecha, "V_ATRAS" => $vel_atras, "V_NULA" => $vel_nula, "V_ADELANTE" => $vel_adelante, "F_MUY_NEG" => $fuerza_muy_negativa, "F_NEG" => $fuerza_negativa, "F_NULA" => $fuerza_nula, "F_POS" => $fuerza_positiva, "F_MUY_POS" => $fuerza_muy_positiva);
$variablesEntrada = array("P" => 0, "V" => 0);
$variablesSalida = array("F" => 0);
...
$inf =& new InferenciadorBorroso();
$inf->ponerConjuntos($conjuntos);
$inf->ponerVariablesEntrada($variablesEntrada);
$inf->ponerVariablesSalida($variablesSalida);
$inf->aniadirRegla("(P == CENTRO) & (V == V_NULA)", "F == F_NULA");
$inf->aniadirRegla("(P == CENTRO) & (V == V_ATRAS)", "F == F_POS");
$inf->aniadirRegla("(P == CENTRO) & (V == V_ADELANTE)", "F == F_NEG");
... RESTO DE REGLAS ...
Para calcular la fuerza necesaria utilizando el inferenciador borroso:
$inf->variablesEntrada["P"] = $estado->posicion;
$inf->variablesEntrada["V"] = $estado->velocidad;
$inf->iterar();
$fuerza = $inf->salida["F"];
Como se ve, es muy sencillo utilizar la librería :-). Sección "soft".
[ añadir comentario ] ( 2282 visualizaciones ) | [ 0 trackbacks ] | enlace permanente
Tweet | |
Y es que, desde que en enero entramos Mari y yo a vivir en el piso que tenemos alquilado en Las Palmas hemos ido de un susto a otro y tiro porque me toca. Al principio fue toda la fontanería de la casa incluyendo los bajantes, hace dos semanas fue la nevera la que dijo hasta aquí y hace un rato hemos visto cómo el calentador eléctrico de agua dice su último adiós... Menos mal que hasta ahora Resurrección, la dueña del piso, ha reaccionado bien, y no se ha tomado las cosas a mal. Creo que buscaré a alguien que coloque el termo eléctrico, me da que pagar a un fontanero es una sajada que te cagas para algo tan sencillo... en fin. Ya les contaré mis visicitudes con el termo. Deséenme suerte.
De resto muy bien, hoy hemos llegado de pasar el fin de semana en el sur (en San Agustín) y la verdad es que cuesta pensar que mañana hay que levantarse a las 8 pa levantar España; qué le vamos a hacer: La vida es así :-).
[ añadir comentario ] ( 1419 visualizaciones ) | [ 0 trackbacks ] | enlace permanente
Tweet | |
En la sección "soft" he subido una pequeña librería para PHP que permite implementar lógica borrosa en nuestros scripts PHP. La he desarrollado porque la vamos a utilizar en un proyecto de la empresa para toma de decisiones.
Está licenciada GPL y aún es una versión bastante verde; hay que hacerle muchas pruebas y seguramente sufrirá cambios. Espero que le sirva de algo a alguien aparte de a mi :-).
[ 5 comentarios ] ( 2157 visualizaciones ) | [ 0 trackbacks ] | enlace permanente
Tweet | |
Me acabo de quedar alucinado viendo una librería que se han currado los de http://www.walterzorn.com. La librería te permite dibujar desde código Javascript directamente en la página web: líneas, elipses, polígonos, texto con diferentes estilos, etc... y todo utilizando una API sencilla que recuerda mucho a la clase Graphics de Java (drawLine, fillRect, setColor, etc).
Pásate por http://www.walterzorn.com/jsgraphics/jsgraphics_e.htm. Está que se sale 8-)
[ añadir comentario ] ( 1657 visualizaciones ) | [ 0 trackbacks ] | enlace permanente
Tweet | |
En la sección "soft" he añadido un vocoder en C. Utiliza filtros de estado variable discretos para implementar los filtros paso banda y una simplificación de la transformada de Hilbert discreta para implementar los seguidores de envolvente.
Junto al enlace para bajar el código fuente del vocoder he puesto un ejemplo: dos señales, una portadora con un acorde de violines y una moduladora con una voz, y el resultado de aplicar el vocoder a estas dos señales. Mejor lo oyes y te haces una idea :-)
El código fuente del vocoder es GPL (¡cómo no! :-).
[ añadir comentario ] ( 1689 visualizaciones ) | [ 0 trackbacks ] | enlace permanente
Tweet | |