martes, 4 de junio de 2024

Sistema de Ecuaciones Lineales nxn con Java Netbeans + Codigo Fuente

Se soluciona un Sistema de Ecuaciones lineales por determinantes utilizando el lenguaje de programacion Java, Metodos Numericos, Analisis Numerico.

import javax.swing.table.DefaultTableModel;

public class frmEcua extends javax.swing.JFrame {

DefaultTableModel modelA = new DefaultTableModel();

DefaultTableModel modelB = new DefaultTableModel();

DefaultTableModel modelX = new DefaultTableModel();

Deter D = new Deter();

    public frmEcua() {

        initComponents();

        tblA.setModel(modelA);

        tblB.setModel(modelB);

        tblX.setModel(modelX);

        cargaIni();

    }

    private void cargaIni() {

        modelA.setColumnCount(3);

        modelB.setColumnCount(1);

        modelX.setColumnCount(1);

        String titu[] = {"X"};

        modelX.setColumnIdentifiers(titu);

        String dat[] = new String[3];

        String B[] = new String[1];

        dat[0] = "1"; dat[1]="2"; dat[2]="3";

        modelA.addRow(dat);

        dat[0] = "1"; dat[1]="4"; dat[2]="9";

        modelA.addRow(dat);

        dat[0] = "1"; dat[1]="8"; dat[2]="27";

        modelA.addRow(dat);

        B[0] = "7"; modelB.addRow(B);

        B[0] = "15"; modelB.addRow(B);

        B[0] = "37"; modelB.addRow(B);

    }

    private void cargarM2() {

        modelA.setRowCount(0);

        modelB.setRowCount(0);

        String titu[] = {"A","B"};

        String dato1[] = {"0.55","1.55"};

        String dato2[] = {"-0.55","3.55"};

        String B[] = {"0.3545"};

        modelB.addRow(B);

        B[0] = "0.3595";

        modelB.addRow(B);

        modelA.setColumnIdentifiers(titu);

        modelA.addRow(dato1);

        modelA.addRow(dato2);

    }

    private void cargarM3() {

        modelA.setRowCount(0);

        modelB.setRowCount(0);

        String titu[] = {"A","B","C"};

        String dato1[] = {"0.55","1.55","2.55"};

        String dato2[] = {"-3.55","4.55","-5.55"};

        String dato3[] = {"5.55","-6.55","7.55"};

        String B[] = {"1.1"};

        modelB.addRow(B);

        B[0] = "11.1";

        modelB.addRow(B);

        B[0] = "-15.1";

        modelB.addRow(B);

        modelA.setColumnIdentifiers(titu);

        modelA.addRow(dato1);

        modelA.addRow(dato2);

        modelA.addRow(dato3);

    }

    private void cargarM4() {

        modelA.setRowCount(0);

        modelB.setRowCount(0);

        String titu[] = {"A","B","C","D"};

        String dato1[] = {"0.55","1.55","2.55","6.55"};

        String dato2[] = {"-3.55","4.55","-5.55","7.55"};

        String dato3[] = {"5.55","-6.55","7.55","8.55"};

        String dato4[] = {"5","-6","7","2"};

        modelA.setColumnIdentifiers(titu);

        modelA.addRow(dato1);

        modelA.addRow(dato2);

        modelA.addRow(dato3);

        modelA.addRow(dato4);

        String B[] = {"3.5"}; 

        modelB.addRow(B);

        B[0] = "2.55"; modelB.addRow(B);

        B[0] = "4"; modelB.addRow(B);

        B[0] = "-2"; modelB.addRow(B);

    }

    private void cargarM5() {

        modelA.setRowCount(0);

        String titu[] = {"A","B","C","D","E"};

        String dato1[] = {"0.55","1.55","2.55","6.55","2.55"};

        String dato2[] = {"-3.55","4.55","-5.55","7.55","-5.55"};

        String dato3[] = {"5.55","-6.55","7.55","8.55","1.55"};

        String dato4[] = {"6.55","-6.55","7.55","8.55","10.55"};

        String dato5[] = {"-8.55","-6.55","1.55","8.55","1.55"};

        modelA.setColumnIdentifiers(titu);

        modelA.addRow(dato1);

        modelA.addRow(dato2);

        modelA.addRow(dato3);

        modelA.addRow(dato4);

        modelA.addRow(dato5);

        modelB.setRowCount(0);

        String B[] = {"11.55"}; modelB.addRow(B);

        B[0] = "12.55"; modelB.addRow(B);

        B[0] = "4.55"; modelB.addRow(B);

        B[0] = "-2.55"; modelB.addRow(B);

        B[0] = "-5.55"; modelB.addRow(B);

    }

private void btnCalActionPerformed(java.awt.event.ActionEvent evt) {      int i,j;

    int N = modelA.getRowCount();

    double detA;

    double detAx[] = new double[N];

    String R[]= new String[1];

    double B[] = new double[N];

    double A[][] = new double[N][N];

    double T[][] = new double[N][N];

    modelX.setRowCount(0);

    for(i=0;i<N;i++) {

        for(j=0;j<N;j++) {

            A[i][j] = Double.parseDouble(modelA.getValueAt(i, j).toString());

            T[i][j] = A[i][j];

        }

        B[i] = Double.parseDouble(modelB.getValueAt(i, 0).toString());

    }

    detA = Math.round(D.deterM(A, N)*1000.0)/1000.0;

    for(j=0;j<N;j++) {

        for(i=0;i<N;i++) {

            T[i][j] = B[i];

        }

        detAx[j] = Math.round(D.deterM(T, N)*1000.0)/1000.0;

        copy(A,T,N);

    }

    for(i=0;i<N;i++) {

        R[0]=detAx[i]/detA+"";

        modelX.addRow(R);

   }

}                                      

private void cmbMActionPerformed(java.awt.event.ActionEvent evt) {             int op = cmbM.getSelectedIndex();

         switch (op){

             case 0: cargarM2(); break;

             case 1: cargarM3(); break;

             case 2: cargarM4(); break;

             case 3: cargarM5(); break;

         }

}                                    

private void copy(double A[][],double T[][],int N) {

        int i,j;

        for(i=0;i<N;i++) {

            for(j=0;j<N;j++) {

                T[i][j] = A[i][j];

            }

        }

 }

Download Source Code

minuvasoft10@gmail.com - Miguel Nunez, se desarrolla proyectos software

No hay comentarios:

Publicar un comentario

Conectar a MySql con Java Netbeans mediante un Formulario

 Tener agregado en libraries el conector mysql. clase coneBD.java package pktForm12; import java.sql.*; import javax.swing.JOptionPane; publ...