Download - Codigo en Java

Transcript
Page 1: Codigo en Java

UNIVERSIDAD INDUSTRIAL DE SANTANDER

FACULTAD DE INGENIERÍAS FÍSICO-QUÍMICAS

ESCUELA DE INGENIERÍA DE PETRÓLEOS

Métodos Numéricos

ANEXOS 1

CODIGO DEL METODO EN JAVA

package gauss;

import javax.swing.JOptionPane;

public class gauss {

public static void main(String[] args) {

JOptionPane.showMessageDialog(null,"SOLUCION DE ECUACIONES LINEALES POR EL METODO DE GAUSS");

int i,j,s,k,h,n;

double d;

double m[][];

double r[];

double x[];

//Recuerde que el numero de incognitas y de ecuaciones deben ser iguales

n=Integer.parseInt(JOptionPane.showInputDialog("ingrese el numero de incognitas"));

m= new double [n][n];

r= new double [n];

x= new double [n];

//RECUERDE QUE LA DIAGONAL PRINCIPAL DE LA MATRIZ DE COEFICIENTES NO PUEDE TENER CEROS

for(i=0;i<=n-1;i++){

k=i+1;

r[i]=Double.parseDouble(JOptionPane.showInputDialog("ingrese el elemento "+k+" del vector de soluciones"));

x[i]=0;

for(j=0;j<=n-1;j++){

h=j+1;

Page 2: Codigo en Java

UNIVERSIDAD INDUSTRIAL DE SANTANDER

FACULTAD DE INGENIERÍAS FÍSICO-QUÍMICAS

ESCUELA DE INGENIERÍA DE PETRÓLEOS

Métodos Numéricos

m[i][j]=Double.parseDouble(JOptionPane.showInputDialog("ingrese el elemento "+k+h+" de la matriz de coeficientes"));

}

}

//Este ciclo convierte la triangular inferior en ceros

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

for(j=i;j<n;j++){

if(i==j){

d=m[i][j];

for(s=0;s<n;s++){

m[i][s]=((m[i][s])/d);

}

r[i]=((r[i])/d);

}

else{

d=m[j][i];

for(s=0;s<n;s++){

m[j][s]=m[j][s]-(d*m[i][s]);

}

r[j]=r[j]-(d*r[i]);

}

}

}

//A continuacion se calcula el valor de las ingognitas

for(i=n-1;i>=0;i--){

double y=r[i];

Page 3: Codigo en Java

UNIVERSIDAD INDUSTRIAL DE SANTANDER

FACULTAD DE INGENIERÍAS FÍSICO-QUÍMICAS

ESCUELA DE INGENIERÍA DE PETRÓLEOS

Métodos Numéricos

for(j=n-1;j>=i;j--){

y=y-x[j]*m[i][j];

}

x[i]=y;

}

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

k=i+1;

JOptionPane.showMessageDialog(null,"el valor de la incognita x"+k+" es "+x[i]);

}

}

}