lunes, 21 de junio de 2010

Programas en JAVA


/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package proyectto1;
import java.awt.*;
import java.applet.Applet;
/**
*
* @author TESCHA
*/
public class Ej11 extends Applet{
int xinic,yinic,ancho,alto;
Color colorCuad;
Button btnAumenta,btnDisminuye;
@Override
public void init(){
btnDisminuye=new Button("disminuye ancho");
add(btnDisminuye);
btnAumenta=new Button("aumenta ancho");
add(btnAumenta);
xinic=10;
yinic=20;
ancho=100;
alto=200;
colorCuad=Color.blue;
}
public void paint(Graphics g)
{
g.setColor(colorCuad);
g.fillRect(xinic,yinic,ancho,alto);
}
public boolean action(Event evt,Object obj)
{
if(evt.target instanceof Button)
{
if(obj.toString().equals("aumenta ancho"))
{
ancho=ancho+10;
repaint();
}
if(obj.toString().equals("disminuye ancho"))
{
ancho=ancho-10;
repaint();
}
}
return true;
}
}


/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package proyectto1;
import java.awt.*;
import java.applet.Applet;
/**
*
* @author TESCHA
*/
public class Ej10 extends Applet{
int xinic,yinic,ancho,alto;
Button btnAumenta,btnDisminuye;
private Color colorCuad;
@Override
public void init(){
btnDisminuye=new Button("disminuye ancho");
add(btnDisminuye);
btnAumenta=new Button("aumenta ancho");
add(btnAumenta);
xinic=10;
yinic=20;
ancho=100;
alto=200;
colorCuad=Color.blue;
}
public void paint(Graphics g)
{
g.setColor(colorCuad);
g.fillRect(xinic,yinic,ancho,alto);
}
public boolean action(Event evt,Object obj)
{
if(evt.target instanceof Button)
{
if(obj.toString().equals("aumenta ancho"))
{
ancho=ancho+10;
repaint();
}
if(obj.toString().equals("disminuye ancho"))
{
ancho=ancho-10;
repaint();
}
}
return true;
}
}


/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package proyectto1;
import java.awt.*;
import java.applet.Applet;
/**
*
* @author TESCHA
*/
public class Ej9 extends Applet
{
int xinic,yinic,ancho,alto;
Color colorCuad;
@Override
public void init(){
xinic=10;
yinic=20;
ancho=100;
alto=200;
colorCuad=Color.blue;
}
public void paint(Graphics g)
{
g.setColor(colorCuad);
g.fillRect(xinic,yinic,ancho,alto);
}
}



/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package proyectto1;
import java.awt.*;
import java.applet.Applet;
/**
*
* @author TESCHA
*/
public class Ej8 extends Applet{
@Override
public void init(){

}
public void paint(Graphics g)
{
g.setColor(Color.blue);
g.drawLine(11,10,30,30);
g.drawRect(50,50,50,20);
g.setColor(Color.pink);
g.fillRect(50,150,50,20);
g.setColor(Color.CYAN);
g.drawOval(100,25,25,50);
g.setColor(Color.ORANGE);
g.drawOval(200,40,25,50);
}
public boolean action(Event evt,Object obj)
{
return true;
}
}


/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package proyectto1;
import java.awt.*;
import java.applet.Applet;


public class Ej7 extends Applet
{
Choice selector;
TextField txtEdo1;
TextField txtEdo2;
@Override
public void init()
{
txtEdo1=new TextField(" ");
add(txtEdo1);
selector = new Choice();
selector.addItem("Rojo");
selector.addItem("Verde");
selector.addItem("Azul");
add(selector);
}
public boolean action(Event evt,Object obj)
{
if(evt.target instanceof Choice)
{
if(selector.getSelectedIndex()==0)
txtEdo1.setText("Color rojo");
if(selector.getSelectedIndex()==1)
txtEdo1.setText("Color Verde");
if(selector.getSelectedIndex()==2)
txtEdo1.setText("Color Azul");
}
return true;
}
}


/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package proyectto1;
import java.applet.Applet;
import java.awt.*;
/**
*
* @author TESCHA
*/
public class Ej6 extends Applet{
Checkbox Relleno;
TextField txtEdo1;
TextField txtEdo2;
public void init(){
txtEdo1=new TextField(" ");
add(txtEdo1);
txtEdo2=new TextField(" ");
add(txtEdo2);
Relleno =new Checkbox("Relleno");
add(Relleno);
}
public boolean action (Event evt,Object obj){
if (evt.target instanceof Checkbox){
txtEdo1.setText("G***********");
String tmp="56+256256256:"+evt.arg.toString();
txtEdo2.setText(tmp);
}
return true;
}
}


/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package proyectto1;
import java.applet.Applet;
import java.awt.*;
/**
*
* @author TESCHA
*/
public class Ej5 extends Applet{
Checkbox Relleno;
public void init(){
Relleno =new Checkbox("Relleno");
add(Relleno);

}
public boolean action (Event evt,Object obj){
if (evt.target instanceof Checkbox)
System.out.println("Checkbox:"+evt.arg.toString());
return true;
}
}


/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package proyectto1;
import java.applet.Applet;
import java.awt.*;
/**
*
* @author TESCHA
*/
public class Ej4 extends Applet{
Color colorFondo;
String cadena1;
int xCadena1, yCadena2;
Color colorCad;
Button boton1;
String msgBoton1;
TextArea txtAreaSaludo;
String textoTxtArea;
Checkbox seleccion;
Scrollbar colores;
Choice selector;
CheckboxGroup radio;
TextField txtMensaje;
String msgTxt;
//-------------------------------------
@Override
public void init()
{
colorFondo =Color.LIGHT_GRAY;
setBackground(colorFondo);
cadena1 ="Hola a todos";
xCadena1 = 20;
yCadena2 = 30;
colorCad =Color.BLUE;
msgBoton1="Mi primer boton";
boton1 = new Button (msgBoton1);
add(boton1);
textoTxtArea="Hola otra vez";
txtAreaSaludo=new TextArea();
txtAreaSaludo.setText(textoTxtArea);
add(txtAreaSaludo);
seleccion= new Checkbox("Seleccioname");
add(seleccion);
colores=new Scrollbar();
add(colores);
selector = new Choice();
selector.addItem("Rojo");
selector.addItem("Verde");
selector.addItem("Azul");
add(selector);
radio= new CheckboxGroup();
add (new Checkbox("Primero",radio,true));
add (new Checkbox("Segundo",radio,false));
add (new Checkbox("Tercero",radio,false));
msgTxt="Hola de nueva cuenta";
txtMensaje=new TextField();
txtMensaje.setText(msgTxt);
add(txtMensaje);

}
@Override
public void paint(Graphics g)
{
setSize(500,300);
g.setColor(colorCad);
g.drawString(cadena1,xCadena1,xCadena1);
}
}


package proyectto1;
import java.applet.Applet;
import java.awt.*;
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

/**
*
* @author TESCHA
*/
public class Ej3 extends Applet{
String cadena1;
int xCadena1, yCadena2;
Color colorCad;
Button boton1;
String msgBoton1;
@Override
public void init()
{
cadena1 ="Hola a todos";
xCadena1 = 20;
yCadena2 = 30;
colorCad =Color.BLUE;
msgBoton1="Mi primer boton";
boton1 = new Button (msgBoton1);
this.add(boton1);
}
@Override
public void paint(Graphics g)
{
g.setColor(colorCad);
g.drawString(cadena1,xCadena1,xCadena1);
}
}


/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package proyectto1;
import java.applet.Applet;
import java.awt.Color;
import java.awt.Graphics;
/**
*
* @author TESCHA
*/
public class Ej2 extends Applet{
String cadena1;
int xCadena1, yCadena2;
Color colorCad;
//---------------------
@Override
public void init()
{
cadena1 ="Hola a todos";
xCadena1 = 20;
yCadena2 = 30;
colorCad =Color.BLUE;
}
//------------------------
@Override
public void paint(Graphics g)
{
g.setColor(colorCad);

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package proyectto1;
import java.applet.Applet;
import java.awt.Color;
import java.awt.Graphics;


/**
*
* @author TESCHA
*/
public class Ej1 extends Applet {
@Override
public void paint(Graphics g)
{
g.setColor(Color.blue);
g.drawString("Hola mundo",20,20);

}
}

lunes, 26 de abril de 2010

Act 230410-1 Jose Luis Díaz, Jose Luis Alejandro Aguilar, Rafael Soriano







Perceptron

package redneurona;
import javax.swing.DefaultListModel;
import javax.swing.JOptionPane;
/**
*
* @author Rafa
*/
public class InterfazGrafica extends javax.swing.JFrame {
DefaultListModel p1List=new DefaultListModel();
DefaultListModel p2List=new DefaultListModel();
/** Creates new form InterfazGrafica */
public InterfazGrafica() {
initComponents();
}


@SuppressWarnings("unchecked")
//
private void initComponents() {

jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jTextField1 = new javax.swing.JTextField();
jScrollPane1 = new javax.swing.JScrollPane();
jList1 = new javax.swing.JList();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jScrollPane2 = new javax.swing.JScrollPane();
jList2 = new javax.swing.JList();
jButton1 = new javax.swing.JButton();
jLabel5 = new javax.swing.JLabel();
jLabel6 = new javax.swing.JLabel();
jTextField2 = new javax.swing.JTextField();
jLabel7 = new javax.swing.JLabel();
jLabel8 = new javax.swing.JLabel();
jLabel9 = new javax.swing.JLabel();
jLabel10 = new javax.swing.JLabel();
jLabel11 = new javax.swing.JLabel();
jLabel12 = new javax.swing.JLabel();
jTextField3 = new javax.swing.JTextField();
jTextField4 = new javax.swing.JTextField();
jTextField5 = new javax.swing.JTextField();
jTextField6 = new javax.swing.JTextField();
jTextField7 = new javax.swing.JTextField();
jLabel13 = new javax.swing.JLabel();
jTextField8 = new javax.swing.JTextField();
jTextField9 = new javax.swing.JTextField();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

jLabel1.setText("Red Neurona +*-+*-+*-+*-");

jLabel2.setText("Introdicir el número de percepciones");

jScrollPane1.setViewportView(jList1);

jLabel3.setText("p1");

jLabel4.setText("p2");

jScrollPane2.setViewportView(jList2);

jButton1.setText("Calcular");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});

jLabel5.setText("w1 = ");

jLabel6.setText("w2 = ");

jLabel7.setText("Resultados");

jLabel8.setText("bias= ");

jLabel9.setText("n = ");

jLabel10.setText("a = ");

jLabel11.setText("Iteración no. = ");

jLabel12.setText("t = ");

jLabel13.setText("e = ");

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel1)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 59, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 59, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(32, 32, 32)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel7)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel9)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jTextField5, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel5)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(jButton1)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel6)
.addComponent(jLabel8))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabel13)
.addComponent(jLabel12)
.addComponent(jLabel10))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jTextField8, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField7, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField6, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField9, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 54, javax.swing.GroupLayout.PREFERRED_SIZE))))))
.addGap(32, 32, 32))
.addGroup(layout.createSequentialGroup()
.addGap(31, 31, 31)
.addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(49, 49, 49)
.addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap())
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap(156, Short.MAX_VALUE)
.addComponent(jLabel11)
.addGap(90, 90, 90))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel3)
.addComponent(jLabel4))
.addGap(2, 2, 2)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jButton1)
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabel5)
.addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel6)
.addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel8)
.addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addComponent(jLabel7)
.addGap(14, 14, 14)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel9)
.addComponent(jTextField5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel10)
.addComponent(jTextField6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel12)
.addComponent(jTextField7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel13)
.addComponent(jTextField8, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 283, Short.MAX_VALUE)
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 283, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabel11)
.addComponent(jTextField9, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap())
);

pack();
}//


private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
//Se declaran las variables a utilizar
float bias, p1,p2,w1,w2,n=0,mul,mul2,suma,e,a,acumulador,t,p1e,p2e,w1e,w2e,biasN;
//Se introdice el número de iteraciones a realizar
float iteracion = Integer.parseInt(jTextField1.getText());
//Se introducen los pesos
w1=Float.parseFloat(JOptionPane.showInputDialog("Favor de introducir el peso w1"));
jTextField2.setText(""+w1);
w2=Float.parseFloat(JOptionPane.showInputDialog("Favor de introducir la peso w2"));
jTextField3.setText(""+w2);
//Se introcuce el bias
bias=Float.parseFloat(JOptionPane.showInputDialog("Favor de introducir el bias"));
jTextField4.setText(""+bias);
//Se realizan las iteraciones
for (acumulador=1;acumulador<=iteracion;acumulador++){
//Se introducen las coordenadas p1, p2 y la variable t
p1=Float.parseFloat(JOptionPane.showInputDialog("Favor de introducir la coordenada p1"));
p1List.addElement(p1);
jList1.setModel(p1List);
p2=Float.parseFloat(JOptionPane.showInputDialog("Favor de introducir la coordenada p2"));
p2List.addElement(p2);
jList2.setModel(p2List);
t=Float.parseFloat(JOptionPane.showInputDialog("Favor de introducir t"));
jTextField3.setText(""+t);
/**Se calcula la variable n por medio de la formula, se usan
* funciones para un menor uso de memoria
*/
mul=multiplicacion(p1,w1);
mul2=multiplicacion(p2,w2);
suma=sum(mul,mul2);
n=sum(suma,bias);
//Se imprime la n
jTextField5.setText(""+n);
//Se muestra el contador
jTextField9.setText(""+acumulador);
//Si la variable n es mayor a 0
if(n<0){
//Se hace el cálculo con la función hardlims
a=-1;
jTextField6.setText(""+a);
jTextField7.setText(""+t);
e=t-a;
jTextField8.setText(""+e);
//Si la a es mayor a 0 se hace el calculo pertiente de actualizar variables w1, w2 y e
if(e>0){
p1e=multiplicacion(p1,e);
p2e=multiplicacion(p2,e);
w1e=sum(w1,p1e);
w1=w1e;
jTextField2.setText(""+w1);
w2e=sum(w2,p2e);
w2=w2e;
jTextField3.setText(""+w2);
biasN=sum(bias,e);
bias=biasN;
}
}
if(n>=0){
a=1;
jTextField6.setText(""+a);
jTextField7.setText(""+t);
e=t-a;
jTextField8.setText(""+e);
if(e>0){
p1e=multiplicacion(p1,e);
p2e=multiplicacion(p2,e);
w1e=sum(w1,p1e);
w1=w1e;
jTextField2.setText(""+w1);
w2e=sum(w2,p2e);
w2=w2e;
jTextField3.setText(""+w2);
biasN=sum(bias,e);
bias=biasN;
}
}
}
}
//función para multiplicar
float multiplicacion (float p, float w){
float r=p*w;
return r;
}
//función para sumar
float sum(float mul, float mul2){
float r=mul+mul2;
return r;
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new InterfazGrafica().setVisible(true);
}
});
}

// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel12;
private javax.swing.JLabel jLabel13;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JList jList1;
private javax.swing.JList jList2;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField2;
private javax.swing.JTextField jTextField3;
private javax.swing.JTextField jTextField4;
private javax.swing.JTextField jTextField5;
private javax.swing.JTextField jTextField6;
private javax.swing.JTextField jTextField7;
private javax.swing.JTextField jTextField8;
private javax.swing.JTextField jTextField9;
// End of variables declaration

}

Main

package redneurona;
public class Main {
public static void main(String[] args) {
InterfazGrafica interfaz = new InterfazGrafica();
interfaz.setVisible(true);
}
}

Corregido Act 200410-1 Jose Luis Díaz, Jose Luis Alejandro Aguilar, Rafael Soriano










En esta correción, los valores son de 1 a n a diferencia del anterior de 1 a 5 (perceptrón)

package neuronai;
import javax.swing.DefaultListModel;
import javax.swing.JOptionPane;
public class InterfazGrafica extends javax.swing.JFrame {
DefaultListModel persep=new DefaultListModel();
DefaultListModel peso=new DefaultListModel();
public InterfazGrafica() {
initComponents();
}
@SuppressWarnings("unchecked")
//
private void initComponents() {

jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jTextField1 = new javax.swing.JTextField();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jScrollPane1 = new javax.swing.JScrollPane();
jList1 = new javax.swing.JList();
jLabel5 = new javax.swing.JLabel();
jTextField2 = new javax.swing.JTextField();
jScrollPane2 = new javax.swing.JScrollPane();
jList2 = new javax.swing.JList();
jLabel6 = new javax.swing.JLabel();
jComboBox1 = new javax.swing.JComboBox();
jLabel7 = new javax.swing.JLabel();
jTextField3 = new javax.swing.JTextField();
jButton1 = new javax.swing.JButton();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("Neurona+*-+*-+*-+*-");

jLabel1.setText("Agente NEURONA---------");

jLabel2.setText("Introdicir el número de percepciones");

jLabel3.setText("P");

jLabel4.setText("W");

jScrollPane1.setViewportView(jList1);

jLabel5.setText("n = ");

jScrollPane2.setViewportView(jList2);

jLabel6.setText("Función = ");

jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "hardlim", "hardlims", "poslin", "purelin", "satlin", "satlins", "logsig", "tansig", "compet" }));
jComboBox1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jComboBox1ActionPerformed(evt);
}
});

jLabel7.setText("a = ");

jButton1.setText("Calcular");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(23, 23, 23)
.addComponent(jLabel1))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 75, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 75, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(3, 3, 3))
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel2))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(56, 56, 56)
.addComponent(jLabel4)
.addGap(42, 42, 42)))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(27, 27, 27)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addGap(15, 15, 15)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabel6)
.addComponent(jLabel7)
.addComponent(jLabel5))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, 99, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, 117, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, 99, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 193, javax.swing.GroupLayout.PREFERRED_SIZE))))
.addGap(14, 14, 14))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel4)
.addComponent(jLabel3))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addGroup(layout.createSequentialGroup()
.addComponent(jButton1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel5))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel6))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel7)
.addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 222, Short.MAX_VALUE)
.addComponent(jScrollPane2))
.addContainerGap(19, Short.MAX_VALUE))
);

pack();
}//


private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
/**Variables a usar,
* persepciones: en este apartado, el usuario insertará el número de persepciones, de 1 a n
* p: es la percepsión en la que se acumulará en un list, la captura se realiza con un
* mensage de diálogo
* w: es el peso la percepsión en la que se acumulará en un list, la captura se realiza
* con un mensage de diálogo.
* multiplicacion: en esta variable se multiplica w*p
* n: Es la sumatoria de la multiplicacion
*/
float percepsiones,p,w,multiplicacion,n=0;
percepsiones = Integer.parseInt(jTextField1.getText());
for (float acumulador=1;acumulador<=percepsiones;acumulador++){
p=Float.parseFloat(JOptionPane.showInputDialog("Favor de introducir la percepción"));
persep.addElement(p);
jList1.setModel(persep);
w=Float.parseFloat(JOptionPane.showInputDialog("Favor de introducir el peso"));
peso.addElement(w);
jList2.setModel(peso);
multiplicacion=p*w;
n=n+multiplicacion;
// Se evalúa cpor medio de la función hardlim
if (jComboBox1.getSelectedItem()== "hardlim"){
if(n<0){
jTextField3.setText("0");
}
if(n>=0){
jTextField3.setText("1");
}
}
jTextField2.setText(""+n);
}
}

private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {
//Se evalúa en el combobox, la función a realizar
float valorN,a;
valorN = Float.parseFloat(jTextField2.getText());
if (jComboBox1.getSelectedItem()== "hardlim"){
if(valorN<0){
jTextField3.setText("0");
}
if(valorN>=0){
jTextField3.setText("1");
}
}

if (jComboBox1.getSelectedItem()== "hardlims"){
if(valorN<0){
jTextField3.setText("-1");
}
if(valorN>=0){
jTextField3.setText("+1");
}
}

if (jComboBox1.getSelectedItem()== "poslin"){
if(valorN<0){
jTextField3.setText("0");
}
if(valorN>=0){
jTextField3.setText(""+valorN);
}
}

if (jComboBox1.getSelectedItem()== "purelin"){
jTextField3.setText(""+valorN);
}

if (jComboBox1.getSelectedItem()== "satlin"){
if(valorN<0){
jTextField3.setText("0");
}
if(valorN>=0 && valorN<=1){
jTextField3.setText(""+valorN);
}
if(valorN>1){
jTextField3.setText("1");
}
}

if (jComboBox1.getSelectedItem()== "satlins"){
if(valorN<-1){
jTextField3.setText("-1");
}
if(valorN>=-1 && valorN<=1){
jTextField3.setText(""+valorN);
}
if(valorN<1){
jTextField3.setText("+1");
}
}

if (jComboBox1.getSelectedItem()== "logsig"){
float expn=(float)(Math.exp(-valorN));
a=1/(1+expn);
jTextField3.setText(""+a);
}
if (jComboBox1.getSelectedItem()== "tansig"){
float expn=(float)(Math.exp(-valorN)),expn1=(float)(Math.exp(valorN));
a=(expn1-expn)/(expn1+expn);
jTextField3.setText(""+a);
}
if (jComboBox1.getSelectedItem()== "compet"){
jTextField3.setText("compet");
}
}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new InterfazGrafica().setVisible(true);
}
});
}

// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JComboBox jComboBox1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JList jList1;
private javax.swing.JList jList2;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField2;
private javax.swing.JTextField jTextField3;
// End of variables declaration

}

Main

package redneurona;
public class Main {
public static void main(String[] args) {
InterfazGrafica interfaz = new InterfazGrafica();
interfaz.setVisible(true);
}

}

miércoles, 21 de abril de 2010

Act-200410-1- Neurona- Rafael Soriano, Jose Luis Aguilar, Jose Luis Díaz



Interfaz

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

/*
* areaDatos.java
*
* Created on 21/04/2010, 10:01:52 PM
*/

package neurona;

/**
*
* @author Rafa
*/
public class areaDatos extends javax.swing.JFrame {

/** Creates new form areaDatos */
public areaDatos() {
initComponents();
}

/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
//
private void initComponents() {

jTextField1 = new javax.swing.JTextField();
jTextField2 = new javax.swing.JTextField();
jTextField3 = new javax.swing.JTextField();
jTextField4 = new javax.swing.JTextField();
jTextField5 = new javax.swing.JTextField();
jTextField6 = new javax.swing.JTextField();
jTextField7 = new javax.swing.JTextField();
jTextField8 = new javax.swing.JTextField();
jTextField9 = new javax.swing.JTextField();
jTextField10 = new javax.swing.JTextField();
jTextField11 = new javax.swing.JTextField();
jTextField12 = new javax.swing.JTextField();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jLabel6 = new javax.swing.JLabel();
jLabel7 = new javax.swing.JLabel();
jLabel8 = new javax.swing.JLabel();
jLabel9 = new javax.swing.JLabel();
jLabel10 = new javax.swing.JLabel();
jLabel11 = new javax.swing.JLabel();
jLabel12 = new javax.swing.JLabel();
jButton1 = new javax.swing.JButton();
jLabel13 = new javax.swing.JLabel();
jLabel14 = new javax.swing.JLabel();
jTextField13 = new javax.swing.JTextField();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

jLabel1.setText("X1");

jLabel2.setText("X2");

jLabel3.setText("X3");

jLabel4.setText("X4");

jLabel5.setText("X5");

jLabel6.setText("W1");

jLabel7.setText("W2");

jLabel8.setText("W3");

jLabel9.setText("W4");

jLabel10.setText("W5");

jLabel11.setText("n");

jLabel12.setText("a");

jButton1.setText("Calcular el resultado");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});

jLabel13.setText("Generar valores aleatorios para el cálculo de una neurona");

jLabel14.setText("función");

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(60, 60, 60)
.addComponent(jLabel2)
.addGap(84, 84, 84)
.addComponent(jLabel7)
.addContainerGap(501, Short.MAX_VALUE))
.addGroup(layout.createSequentialGroup()
.addGap(60, 60, 60)
.addComponent(jLabel1)
.addGap(80, 80, 80)
.addComponent(jLabel6)
.addContainerGap(505, Short.MAX_VALUE))
.addGroup(layout.createSequentialGroup()
.addGap(63, 63, 63)
.addComponent(jLabel4)
.addGap(81, 81, 81)
.addComponent(jLabel9)
.addContainerGap(501, Short.MAX_VALUE))
.addGroup(layout.createSequentialGroup()
.addGap(61, 61, 61)
.addComponent(jLabel5)
.addGap(79, 79, 79)
.addComponent(jLabel10)
.addContainerGap(505, Short.MAX_VALUE))
.addGroup(layout.createSequentialGroup()
.addGap(41, 41, 41)
.addComponent(jLabel13)
.addGap(45, 45, 45)
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 202, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(108, Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(31, 31, 31)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jTextField9)
.addComponent(jTextField7)
.addComponent(jTextField5)
.addComponent(jTextField2)
.addComponent(jTextField1, javax.swing.GroupLayout.DEFAULT_SIZE, 75, Short.MAX_VALUE)))
.addGroup(layout.createSequentialGroup()
.addGap(62, 62, 62)
.addComponent(jLabel3)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addGroup(layout.createSequentialGroup()
.addGap(47, 47, 47)
.addComponent(jLabel8)
.addGap(112, 112, 112)
.addComponent(jLabel11)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel12)
.addGap(124, 124, 124)
.addComponent(jLabel14)
.addGap(87, 87, 87))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jTextField6)
.addComponent(jTextField10)
.addComponent(jTextField8)
.addComponent(jTextField4)
.addComponent(jTextField3, javax.swing.GroupLayout.DEFAULT_SIZE, 82, Short.MAX_VALUE))
.addGap(30, 30, 30)
.addComponent(jTextField11, javax.swing.GroupLayout.PREFERRED_SIZE, 121, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jTextField12, javax.swing.GroupLayout.PREFERRED_SIZE, 129, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(jTextField13, javax.swing.GroupLayout.PREFERRED_SIZE, 129, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(42, 42, 42))))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel13)
.addComponent(jButton1))
.addGap(12, 12, 12)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1)
.addComponent(jLabel6))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(15, 15, 15)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(jLabel7))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel3)
.addComponent(jLabel11)
.addComponent(jLabel8)
.addComponent(jLabel14)
.addComponent(jLabel12))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jTextField5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField11, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField12, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField13, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel4)
.addComponent(jLabel9))
.addGap(3, 3, 3)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jTextField7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField8, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel5)
.addComponent(jLabel10))
.addGap(5, 5, 5)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jTextField9, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField10, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(56, Short.MAX_VALUE))
);

pack();
}//


private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
float x1 = (float) (Math.random() * 1);
jTextField1.setText(""+x1);
float x2 = (float) (Math.random() * 1);
jTextField3.setText(""+x2);
float x3 = (float) (Math.random() * 1);
jTextField5.setText(""+x3);
float x4 = (float) (Math.random() * 1);
jTextField7.setText(""+x4);
float x5 = (float) (Math.random() * 1);
jTextField9.setText(""+x5);
float w1 = (float) (Math.random() * 1);
jTextField2.setText(""+w1);
float w2 = (float) (Math.random() * 1);
jTextField4.setText(""+w2);
float w3 = (float) (Math.random() * 1);
jTextField6.setText(""+w3);
float w4 = (float) (Math.random() * 1);
jTextField8.setText(""+w4);
float w5 = (float) (Math.random() * 1);
jTextField10.setText(""+w5);
float mul1= mul(x1,w1);
float mul2= mul(x2,w2);
float mul3= mul(x3,w3);
float mul4= mul(x4,w4);
float mul5= mul(x5,w5);
float n=mul1+mul2+mul3+mul4+mul5;
jTextField11.setText(""+n);
float a;
float expn=(float)(Math.exp(-n));
float expn1=(float)(Math.exp(n));
int opcion = (int)(Math.random() * 8);
String opcion1="";
if(opcion==0){
opcion1="hardlim";
if(n<0){
jTextField12.setText("0");
}
if(n>=0){
jTextField12.setText("1");
}
}
if(opcion==1){
opcion1="hardlims";
if(n<1){
jTextField12.setText("+1");
}
if(n>=1){
jTextField12.setText("-1");
}
}
if(opcion==2){
opcion1="poslin";
if(n<0){
jTextField12.setText("0");
}
if(n>=n){
jTextField12.setText(""+n);
}
}
if(opcion==3){
opcion1="purelin";
jTextField12.setText(""+n);
}
if(opcion==4){
opcion1="satlin";
if(n<0){
jTextField12.setText("0");
}
if(n>=1){
jTextField12.setText("1");
}
}
if(opcion==5){
opcion1="satlins";
if(n<-1){
jTextField12.setText("-1");
}
if(n>=1){
jTextField12.setText("1");
}
}
if(opcion==6){
opcion1="logsig";
a=1/(1+expn);
jTextField12.setText(""+a);

}
if(opcion==7){
opcion1="tansig";
a=(expn1-expn)/(expn1+expn);
jTextField12.setText(""+a);
}
if(opcion==8){
opcion1="compet";
}
jTextField13.setText(""+opcion1);
if(n<0){
jTextField12.setText("0");
}
if(n>=0){
jTextField12.setText("1");
}
}
float mul(float x, float w){
float multi=x*w;
return multi;
}


/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new areaDatos().setVisible(true);
}
});
}

// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel12;
private javax.swing.JLabel jLabel13;
private javax.swing.JLabel jLabel14;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField10;
private javax.swing.JTextField jTextField11;
private javax.swing.JTextField jTextField12;
private javax.swing.JTextField jTextField13;
private javax.swing.JTextField jTextField2;
private javax.swing.JTextField jTextField3;
private javax.swing.JTextField jTextField4;
private javax.swing.JTextField jTextField5;
private javax.swing.JTextField jTextField6;
private javax.swing.JTextField jTextField7;
private javax.swing.JTextField jTextField8;
private javax.swing.JTextField jTextField9;
// End of variables declaration

}


main


package neurona;


public class Main {
public static void main(String[] args) {
areaDatos interfaz = new areaDatos();
interfaz.setVisible(true);
}



}

lunes, 5 de abril de 2010

Act. 250310_2 Agen de percepciones- Jose Luis Alejandro Aguilar, Jose Luis Díaz, Rafael Soriano












Main

package aspiradora;
public class Main {
public static void main(String[] args) {
areaLimpiar interfaz = new areaLimpiar();
interfaz.setVisible(true);
}
}

Clase AgenteSimple

package aspiradora;

public class AgenteSimple {
int percepcionActual;
int accion;

AgenteSimple()
{ }

void recibePercepcion(int percep)
{
percepcionActual = percep;
}

int escogeLaMejorAccion(int percepcionActual)
{
if(percepcionActual == 1)
{
return 7;
}
if(percepcionActual == 2)
{
return 8;
}
if(percepcionActual == 3)
{
return 9;
}
if(percepcionActual == 4)
{
return 10;
}
if(percepcionActual == 5)
{
return 11;
}
if(percepcionActual == 6)
{
return 12;
}
return 0;
}
String interpretaAccion (int accion)
{
if(accion == 7)
{
return("Percibí que hay pared a la derecha de mi y está limpio, por lo tanto camino hacia la izquierda");
}
if(accion == 8)
{
return("Percibí que hay pared a la izquierda de mi y está limpio, por lo tanto camino hacia la derecha");
}
if(accion == 9)
{
return("Percibí que hay basura, por lo tanto aspiraré");
}
if(accion == 10)
{
return("Percibí papeles, por lo tanto aspiraré");
}
if(accion == 11)
{
return("Percibí agua, por lo tanto aspiraré");
}
if(accion == 12)
{
return("Percibí que posiblemente está limpio, por lo observaré mi entorno para moverme o rectificar si aspiro");
}
return ("No sé que hacer, por lo tanto me detengo");
}

}

Interfaz

package aspiradora;

import java.awt.Color;
public class areaLimpiar extends javax.swing.JFrame {


public areaLimpiar() {
initComponents();
}


@SuppressWarnings("unchecked")
//
private void initComponents() {

jButton1 = new javax.swing.JButton();
jTextField1 = new javax.swing.JTextField();
jTextField2 = new javax.swing.JTextField();
jLabel1 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jScrollPane1 = new javax.swing.JScrollPane();
jTextArea1 = new javax.swing.JTextArea();
jScrollPane2 = new javax.swing.JScrollPane();
jTextArea2 = new javax.swing.JTextArea();
jLabel2 = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("Agente-(Aspiradora)");

jButton1.setText("Opciones!!!");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});

jTextField1.setEnabled(false);

jLabel1.setText("Percepción y acción a realizar:");

jLabel4.setText("Posición Actual");

jLabel5.setText("Posición Anterior");

jTextArea1.setBackground(java.awt.Color.pink);
jTextArea1.setColumns(20);
jTextArea1.setRows(5);
jScrollPane1.setViewportView(jTextArea1);

jTextArea2.setBackground(java.awt.Color.yellow);
jTextArea2.setColumns(20);
jTextArea2.setRows(5);
jScrollPane2.setViewportView(jTextArea2);

jLabel2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/aspiradora/aspiradora.jpg"))); // NOI18N
jLabel2.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(77, 77, 77)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 232, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 97, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(78, Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap(165, Short.MAX_VALUE)
.addComponent(jLabel4)
.addGap(127, 127, 127)
.addComponent(jLabel5)
.addGap(134, 134, 134))
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1)
.addContainerGap(432, Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap()
.addComponent(jTextField2, javax.swing.GroupLayout.DEFAULT_SIZE, 604, Short.MAX_VALUE)
.addContainerGap())
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap(189, Short.MAX_VALUE)
.addComponent(jLabel2)
.addGap(187, 187, 187))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(26, 26, 26)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButton1)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 22, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 148, Short.MAX_VALUE)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 148, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel4)
.addComponent(jLabel5))
.addGap(18, 18, 18)
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel2)
.addContainerGap())
);

pack();
}//


private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
int area;
int random = (int) (Math.random() * 6);
area=random+1;
jTextField1.setText(""+area);
AgenteSimple ag1 = new AgenteSimple();
int percep = Integer.parseInt(jTextField1.getText());
ag1.recibePercepcion( percep);
int accion = ag1.escogeLaMejorAccion(ag1.percepcionActual);
String accionInterpretada = ag1.interpretaAccion(accion);
jTextField2.setText(accionInterpretada);

if(area==1){
jTextArea2.setBackground(Color.yellow);
jTextArea1.setBackground(Color.pink);
jLabel4.setText("Posición Actual");
jLabel5.setText("Posición Anterior");
}
if(area==2){
jTextArea1.setBackground(Color.yellow);
jTextArea2.setBackground(Color.pink);
jLabel4.setText("Posición Anterior");
jLabel5.setText("Posición Actual");
}

}

public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new areaLimpiar().setVisible(true);
}
});
}

// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JTextArea jTextArea1;
private javax.swing.JTextArea jTextArea2;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField2;
// End of variables declaration

}