martes, 12 de enero de 2010

operaciones de matrices

public class botonesmatriz extends javax.swing.JApplet {

/** Initializes the applet botonesmatriz */
public void init() {
try {
java.awt.EventQueue.invokeAndWait(new Runnable() {
public void run() {
initComponents();
}
});
} catch (Exception ex) {
ex.printStackTrace();
}
}

/** This method is called from within the init() method 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() {

jLabel1 = new javax.swing.JLabel();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
jButton3 = new javax.swing.JButton();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jButton4 = new javax.swing.JButton();
jButton5 = new javax.swing.JButton();
jButton6 = new javax.swing.JButton();
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();
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();

jLabel1.setText("operaciones: suma,resta y multiplicacion");

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

jButton2.setText("RESTA");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});

jButton3.setText("MULTIPLICACION");
jButton3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton3ActionPerformed(evt);
}
});

jLabel2.setText("INGRESO MATRIZ 1");

jLabel3.setText("RESULTADO");

jButton4.setText("INVERSA");
jButton4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton4ActionPerformed(evt);
}
});

jButton5.setText("TRANSPUESTA");
jButton5.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton5ActionPerformed(evt);
}
});

jButton6.setText("DETERMINANTE");

jLabel4.setText("INGRESO MATRIZ 2");

jLabel5.setText("FILAS");

jLabel6.setText("COLUMNAS");

jLabel7.setText("FILAS");

jLabel8.setText("COLUMNAS");

jTextField4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jTextField4ActionPerformed(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()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 202, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(357, 357, 357))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jButton2, javax.swing.GroupLayout.DEFAULT_SIZE, 155, Short.MAX_VALUE)
.addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, 155, Short.MAX_VALUE)
.addComponent(jButton4, javax.swing.GroupLayout.DEFAULT_SIZE, 155, Short.MAX_VALUE)
.addComponent(jButton5, javax.swing.GroupLayout.DEFAULT_SIZE, 155, Short.MAX_VALUE)
.addComponent(jButton3, javax.swing.GroupLayout.DEFAULT_SIZE, 155, Short.MAX_VALUE)
.addComponent(jButton6, javax.swing.GroupLayout.DEFAULT_SIZE, 155, Short.MAX_VALUE))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(30, 30, 30)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel5)
.addComponent(jLabel6))
.addGap(41, 41, 41)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jTextField2)
.addComponent(jTextField1, javax.swing.GroupLayout.DEFAULT_SIZE, 19, Short.MAX_VALUE)))
.addComponent(jTextField5, javax.swing.GroupLayout.PREFERRED_SIZE, 140, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 104, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 168, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel7)
.addComponent(jLabel8))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 9, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addGroup(layout.createSequentialGroup()
.addGap(73, 73, 73)
.addComponent(jTextField4))
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addGap(75, 75, 75)
.addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(137, 137, 137))
.addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 107, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField6, javax.swing.GroupLayout.PREFERRED_SIZE, 148, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(layout.createSequentialGroup()
.addGap(188, 188, 188)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jTextField7, javax.swing.GroupLayout.PREFERRED_SIZE, 127, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 104, javax.swing.GroupLayout.PREFERRED_SIZE))))))
.addGap(105, 105, 105))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel1)
.addGap(51, 51, 51)
.addComponent(jLabel2))
.addComponent(jLabel4))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(6, 6, 6)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel7))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel8)))
.addGroup(layout.createSequentialGroup()
.addGap(11, 11, 11)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel5)
.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(jLabel6)
.addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE))))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jTextField6, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(27, 27, 27))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jTextField5, javax.swing.GroupLayout.DEFAULT_SIZE, 103, Short.MAX_VALUE)
.addGap(14, 14, 14))
.addGroup(layout.createSequentialGroup()
.addComponent(jButton1)
.addGap(21, 21, 21)
.addComponent(jButton2)
.addGap(18, 18, 18)
.addComponent(jButton3)))))
.addGroup(layout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel3)))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButton4)
.addGap(29, 29, 29)
.addComponent(jButton5)
.addGap(18, 18, 18)
.addComponent(jButton6))
.addGroup(layout.createSequentialGroup()
.addGap(28, 28, 28)
.addComponent(jTextField7, javax.swing.GroupLayout.PREFERRED_SIZE, 102, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(277, 277, 277))
);
}//


private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String aux = jTextField1.getText();
String aux1="";
int nF = Integer.parseInt(aux);
aux = jTextField2.getText();
int nC = Integer.parseInt(aux);
m = new Matriz(nF,nC);
m.leer();
aux1 += m1.toString();
aux = jTextField3.getText();
nF = Integer.parseInt(aux);
aux = jTextField4.getText();
nC = Integer.parseInt(aux);
m1 = new Matriz(nF,nC);
m1.leer();
aux1 += m1.toString();
jTextField7.setText("Multiplicacion de Matrices: \n"+aux1+(m.Multiplicacion(m1)).toString());

}

private void jTextField4ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String aux = jTextField1.getText();
String aux1="";
int nF = Integer.parseInt(aux);
aux = jTextField2.getText();
int nC = Integer.parseInt(aux);
m = new Matriz(nF,nC);
m.leer();
aux1 += m1.toString();
aux = jTextField3.getText();
nF = Integer.parseInt(aux);
aux = jTextField4.getText();
nC = Integer.parseInt(aux);
m1 = new Matriz(nF,nC);
m1.leer();
aux1 += m1.toString();
jTextField7.setText("Suma de Matrices: \n"+aux1+(m.suma(m1)).toString());


}

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String aux = jTextField1.getText();
String aux1="";
int nF = Integer.parseInt(aux);
aux = jTextField2.getText();
int nC = Integer.parseInt(aux);
m = new Matriz(nF,nC);
m.leer();
aux1 += m.toString();
aux = jTextField3.getText();
nF = Integer.parseInt(aux);
aux = jTextField4.getText();
nC = Integer.parseInt(aux);
m1 = new Matriz(nF,nC);
m1.leer();
aux1 += m1.toString();
jTextField7.setText("Resta de Matrices: \n"+aux1+(m.resta(m1)).toString());

}

private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String aux = jTextField5.getText();
int nF = Integer.parseInt(aux);
aux = jTextField6.getText();
int nC = Integer.parseInt(aux);
m= new Matriz(nF,nC);
m.leer();
jTextField7.setText("\nMATRIZ: \n"+(m.toString())+"INVERSA DE MATRICES: \n"+(m.Inversa().toString()));
jTextField7.setText("\nMATRIZ: \n"+(m1.toString())+"INVERSA DE MATRICES: \n"+(m1.Inversa().toString()));

}

private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String aux = jTextField5.getText();
String aux1="";
int nF = Integer.parseInt(aux);
aux = jTextField6.getText();
int nC = Integer.parseInt(aux);
m = new Matriz(nF,nC);
m.leer();
aux1+= m.toString();

jTextField7.setText("Transpuesta de Matrices: \n"+aux1+(m.Transpuesta()).toString());

}
public Matriz m;
public Matriz m1;

// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton3;
private javax.swing.JButton jButton4;
private javax.swing.JButton jButton5;
private javax.swing.JButton jButton6;
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.JLabel jLabel8;
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;
// End of variables declaration

}

1 comentario:

  1. Todo el codigo que tilizas esta bien pero sin una clase matriz con la cual puedas llamar a todas las operaciones que utilizas no esta bien pueda que te sirva la clase matriz que yo hice:

    mport javax.swing.JOptionPane;
    import java.text.DecimalFormat;

    public class Matriz {
    public double[][] value=null;
    protected String name=null;

    public int numeroFilas;
    public int numeroColumnas;
    public double [][]matriz;

    public Matriz(){
    }

    public Matriz(int nF, int nC){

    numeroFilas=nF;
    numeroColumnas=nC;
    matriz=new double[numeroFilas][numeroColumnas];//construyo un sitio para almacenar ceros
    for(int i=0;i < numeroFilas;i++)
    for(int j=0; j < numeroColumnas; j++)
    matriz [i][j]=0;
    }

    public Matriz suma(Matriz b){
    Matriz resultado;
    if((this.numeroFilas == b.numeroFilas)&& (this.numeroColumnas == b.numeroColumnas)){
    resultado = new Matriz(this.numeroFilas, this.numeroColumnas);
    for(int i=0; i < this.numeroFilas; i++)
    for(int j=0; j < this.numeroColumnas; j++)
    resultado.matriz[i][j] = this.matriz[i][j]+ b.matriz[i][j];
    return resultado;
    }
    else
    System.out.println("ERROR EN DIMENSIONES DE LAS MATRICES");
    resultado=null;
    return resultado;
    }

    /**
    * Metodo de resta de matrices
    * @return matriz resultado de resta
    */
    public Matriz resta(Matriz b){
    Matriz resultado;
    if ((this.numeroFilas == b.numeroFilas)&(this.numeroFilas == b.numeroColumnas)){
    resultado = new Matriz (this.numeroFilas,this.numeroColumnas);//construyo la caja donde almaceno el resultado
    for(int i = 0;i < this.numeroFilas;i++)
    for(int j=0;j < this.numeroColumnas;j++)
    resultado.matriz[i][j] = this.matriz[i][j]-b.matriz[i][j];
    return resultado;
    }

    else{
    System.out.println("ERROR EN DIMENSIONES DE LAS MATRICES");
    resultado=null;
    return resultado;
    }
    }


    /**
    * Metodo para transpuesta de una matriz
    * @return
    */
    //el numero de filas se cambia al numero de columnas

    public Matriz Transpuesta(){
    Matriz resultado;
    resultado=new Matriz(this.numeroColumnas,this.numeroFilas);
    for(int i=0; i < this.numeroFilas; i++)
    for(int j=0; j < this.numeroColumnas; j++)
    resultado.matriz[j][i]=this.matriz[i][j];
    return resultado;
    }

    /**
    * Metodo para multiplicaci�n entre matrices
    * @return
    */
    public Matriz Multiplicacion(Matriz b){
    Matriz resultado;
    if(this.numeroColumnas==b.numeroFilas){
    resultado=new Matriz(this.numeroFilas, b.numeroColumnas);
    for(int i=0; i < this.numeroFilas; i++){
    for(int j=0; j < b.numeroColumnas; j++){
    for(int k=0; k < this.numeroColumnas; k++)
    resultado.matriz[i][j]+=this.matriz[i][k]*b.matriz[k][j];
    }
    }
    return resultado;
    }
    else
    System.out.println("ERROR EN DIMENSIONES DE LAS MATRICES");
    resultado=null;
    return resultado;
    }

    public void leer(){
    String aux;
    for(int i=0; i < this.numeroFilas; i++){
    for(int j=0; j < this.numeroColumnas; j++){
    aux = JOptionPane.showInputDialog(null,"INGRESO DE VALORES","INGRESE EL VALOR: "+(i+1)+","+(j+1),JOptionPane.DEFAULT_OPTION);
    this.matriz[i][j]=Double.parseDouble(aux);
    }
    }
    }
    public double deteminantes(){
    double suma=0;
    for(int i=0; i for(int j=0; j suma = this.matriz[i][j+1]-this.matriz[i+1][j]));
    return suma;
    }

    public String toString(){

    String aux="\n";
    DecimalFormat df = new DecimalFormat("0.0000");
    for(int i=0; i < numeroFilas; i++){
    for(int j=0; j < numeroColumnas; j++){
    aux+=df.format(matriz[i][j])+" ";
    }
    aux+="\n";
    }
    aux+=" ";
    return aux;
    }
    }

    ResponderEliminar