Documentos de Académico
Documentos de Profesional
Documentos de Cultura
package gauss;
import javax.swing.JOptionPane;
int i,j,s,k,h,n;
double d;
for(i=0;i<=n-1;i++){
k=i+1;
x[i]=0;
for(j=0;j<=n-1;j++){
h=j+1;
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]);
for(i=n-1;i>=0;i--){
double y=r[i];
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;
}
MÉTODO DE GAUSS-JORDAN
package gaussjordan;
import javax.swing.JOptionPane;
int i,j,s,k,h,n,x,y;
double d,c;
for(i=0;i<=n-1;i++){
k=i+1;
for(j=0;j<=n-1;j++){
h=j+1;
for(i=0;i<=n-1;i++){
d=m[i][i];
for(s=0;s<=n-1;s++){
m[i][s]=((m[i][s])/d);
r[i]=((r[i])/d);
for(x=0;x<=n-1;x++){
if(i!=x){
c=m[x][i];
for(y=0;y<=n-1;y++){
m[x][y]=m[x][y]-c*m[i][y];
r[x]=r[x]-c*r[i];
for(i=0;i<=n-1;i++){
k=i+1;
}
FACTORIZACIÓN LU
package factorizacionlu;
import javax.swing.JOptionPane;
int i,j,h,k,n,s;
double c,suma;
double m[][]; double l[][]; double r[]; double z[]; double x[];
for(i=0;i<=n-1;i++){
k=i+1;
for(j=0;j<=n-1;j++){
h=j+1;
m[i][j]=Double.parseDouble(JOptionPane.showInputDialog("ingrese el elemento"+k+h+"
de la matriz de coeficientes "));
if(i==j){
l[i][j]=1;
else{
l[i][j]=0;
for(i=0;i<n-1;i++){
for(j=i+1;j<n;j++){
c=(m[j][i])/m[i][i];
for(s=0;s<n;s++){
m[j][s]=m[j][s]-c*m[i][s];
l[j][i]=c;
for(i=0;i<n;i++){
suma=r[i];
for(j=i;j>=0;j--){
if(i==j){
suma=suma/l[i][j];
else{
suma=suma-((z[j]*l[i][j])/l[i][i]);
z[i]=suma;
for(i=n-1;i>=0;i--){
suma=z[i];
for(j=i;j<n;j++){
if(i==j){
suma=suma/m[i][j];
else{
suma=suma-((x[j]*m[i][j])/m[i][i]);
}
x[i]=suma;
for(i=0;i<n;i++){
k=i+1;
}
MÉTODO DE THOMAS
package thomas;
import javax.swing.JOptionPane;
int i,j,k,h,n;
double band,suma;
for(i=0;i<=n-1;i++){
k=i+1;
for(j=0;j<=n-1;j++){
h=j+1;
u[i][j]=0;
m[i][j]=Double.parseDouble(JOptionPane.showInputDialog("ingrese el elemento"+k+h+"
de la matriz de coeficientes "));
if(i==j){
l[i][j]=1;
else{
l[i][j]=0;
}
for(i=0;i<n;i++){
if(i==0){
b[i]=m[i][i];
a[i]=0;
u[i][i]=b[i];
else{
c[i-1]=m[i-1][i];
a[i]=(m[i][i-1])/(b[i-1]);
b[i]=m[i][i]-((a[i])*(c[i-1]));
l[i][i-1]=a[i];
u[i][i]=b[i];
u[i-1][i]=c[i-1];
for(i=0;i<n;i++){
k=i+1;
for(j=0;j<n;j++){
h=j+1;
for(i=0;i<n;i++){
suma=r[i];
for(j=i;j>=0;j--){
if(i==j){
suma=suma/l[i][j];
else{
suma=suma-((z[j]*l[i][j])/l[i][i]);
z[i]=suma;
for(i=n-1;i>=0;i--){
suma=z[i];
for(j=i;j<n;j++){
if(i==j){
suma=suma/u[i][j];
else{
suma=suma-((x[j]*u[i][j])/u[i][i]);
x[i]=suma;
for(i=0;i<n;i++){
k=i+1;
}
FACTORIZACIÓN DE CHOLESKY
package cholesky;
import javax.swing.JOptionPane;
int i,j,s,k,h,n;
double band,suma;
for(i=0;i<=n-1;i++){
k=i+1;
for(j=0;j<=n-1;j++){
h=j+1;
m[i][j]=Double.parseDouble(JOptionPane.showInputDialog("ingrese el elemento"+k+h+"
de la matriz de coeficientes "));
if(i==j){
l[i][j]=1;
else{
l[i][j]=0;
}
}
k=0;
for(i=0;i<n;i++){
for(j=0;j<n;j++){
if(m[i][j]!=m[j][i]){
k=1;
h=0;
for(i=0;i<n;i++){
for(j=0;j<n;j++){
if(m[i][j]<0){
h=1;
l[0][0]=Math.sqrt(m[0][0]);
for(i=0;i<n;i++){
for(j=0;j<=i;j++){
if(i==j){
suma=0;
for(s=0;s<=i-1;s++){
suma=suma+Math.pow(l[i][s],2);
l[i][i]=Math.sqrt(m[i][i]-suma);
}
else{
suma=0;
for(s=0;s<=j-1;s++){
suma=suma+(l[j][s])*(l[i][s]);
l[i][j]=(m[i][j]-suma)/l[j][j];
for(i=0;i<n;i++){
k=i+1;
for(j=0;j<n;j++){
h=j+1;
for(i=0;i<n;i++){
for(j=0;j<n;j++){
a[j]=l[i][j];
for(j=0;j<n;j++){
lt[j][i]=a[j];
for(i=0;i<n;i++){
k=i+1;
for(j=0;j<n;j++){
h=j+1;
for(i=0;i<n;i++){
suma=r[i];
for(j=i;j>=0;j--){
if(i==j){
suma=suma/l[i][j];
else{
suma=suma-((z[j]*l[i][j])/l[i][i]);
z[i]=suma;
for(i=n-1;i>=0;i--){
suma=z[i];
for(j=i;j<n;j++){
if(i==j){
suma=suma/lt[i][j];
else{
suma=suma-((x[j]*lt[i][j])/lt[i][i]);
x[i]=suma;
}
for(i=0;i<n;i++){
k=i+1;
else{
else{
if(k==1){
else{
}
MÉTODO DE JACOBI
package jacobi;
import javax.swing.JOptionPane;
int n,k,i,j,h,band,siga,miter;
double m[][]; double r[]; double x[]; double s[]; double cont[]; double error[];
double suma,l,tol;
m= new double [n][n]; r= new double [n]; x= new double [n]; s= new double [n];
for(i=0;i<=n-1;i++){
k=i+1;
s[i]=0;
for(j=0;j<=n-1;j++){
h=j+1;
m[i][j]=Double.parseDouble(JOptionPane.showInputDialog("ingrese el elemento"+k+h+"
de la matriz de coeficientes"));
band=0;
for(i=0;i<n;i++){
suma=0;
for(j=0;j<n;j++){
if(i!=j){
suma=suma+m[i][j];
cont[i]=suma;
if(Math.abs(m[i][i])>cont[i]){
band=band+1;
if(band==n){
siga=n-1;
int iter=0;
iter=iter+1;
for(i=0;i<n;i++){
l=0;
for(j=0;j<n;j++){
if(i==j){
l=l+r[i]/m[i][j];
else{
l=l-((m[i][j]*x[j])/m[i][i]);
}
s[i]=l;
for(i=0;i<n;i++){
error[i]=Math.abs((s[i]-x[i])/s[i])*100;
for(i=0;i<n;i++){
x[i]=s[i];
siga=0;
for(i=0;i<n;i++){
if(error[i]<tol){
siga=siga+1;
h=0;
for(i=0;i<n;i++){
h=h+1;
else {
}
MÉTODO DE GAUSS-SEIDEL
package gaussseidel2;
import javax.swing.JOptionPane;
int n,k,i,j,h,band,siga,miter;
double m[][]; double r[]; double x[]; double y[]; double error[]; double cont[];
double suma,l,tol;
m= new double [n][n]; r= new double [n]; x= new double [n]; y= new double [n];
for(i=0;i<=n-1;i++){
k=i+1;
y[i]=0;
for(j=0;j<=n-1;j++){
h=j+1;
m[i][j]=Double.parseDouble(JOptionPane.showInputDialog("ingrese el elemento"+k+h+"
de la matriz de coeficientes"));
}
band=0;
for(i=0;i<n;i++){
suma=0;
for(j=0;j<n;j++){
if(i!=j){
suma=suma+m[i][j];
cont[i]=suma;
if(Math.abs(m[i][i])>cont[i]){
band=band+1;
if(band==n){
siga=n-1;
int iter=0;
iter=iter+1;
for(i=0;i<n;i++){
l=0;
for(j=0;j<n;j++){
if(i==j){
l=l+r[i]/m[i][j];
else{
l=l-((m[i][j]*x[j])/m[i][i]);
}
x[i]=l;
for(i=0;i<n;i++){
error[i]=Math.abs((x[i]-y[i])/x[i])*100;
y[i]=x[i];
siga=0;
for(i=0;i<n;i++){
if(error[i]<tol){
siga=siga+1;
h=0;
for(i=0;i<n;i++){
h=h+1;
else {