Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DE MORELOS.
CENTRO DE INVESTIGACIÓN EN INGENIERÍA Y CIENCIAS APLICADAS.
MAESTRÍA EN SUSTENTABILIDAD ENERGÉTICA.
void Jacobi(int l, float x[], float A[][10], float b[] ); //Vector: v[], Matríz[Filas][Columnas],
no se requiere que la función regrese info.
int imax,iter;
int main (){
cout<<("\nSolucion de sistemas lineales");
cout<<("\nMETODO DE JACOBI forma Ax=b\n");
cout<<("Autor: Angel Sanchez Cruz\n");
time_t tiempo = time(0);
char output[128];
struct tm *tlocal = localtime(&tiempo);
strftime(output,128,"Fecha: %d/%m/%y %H:%M:%S\n\n",tlocal);
cout<<("%s\n",output);
}
}
cout<<"Introduce el vector de los resultados b[i]: "<<endl; //Resultado de cada sistema
de ecuaciones, de arriba a abajo.
Ing. Ángel Sánchez Cruz Dr. Antonio Rodríguez Martínez Métodos numéricos, C++
for (i=0;i<l;i++){
cout<<"b["<<i<<",0]= "; //Solicita valores del vecrtor b
cin>>b[i];
}
printf("Introduce el numero de iteraciones maximas\n");
scanf("%d",&imax);
Ing. Ángel Sánchez Cruz Dr. Antonio Rodríguez Martínez Métodos numéricos, C++
c[i]=b[i]; //El vector c, toma los valores del vector b
que contiene los resultados de la ecuación.
for (j=0;j<l;j++){
if(i!=j){ //Si i es diferente a j (los valores que no
estan en la diagonal)
c[i]=c[i]-a[i][j]*x[j]; //Calcular los valores de b-
matriz A*vector x
}
}
}
for(i=0;i<n;i++){
x[i]=c[i]/a[i][i]; //Despeja en función de los valores de la fila
}
}
cout<<"La solucion es: "<<endl;
for (i=0;i<l;i++){
cout<<"x("<<i<<") = "<<x[i]<<endl;
}
} while(iter<imax);
Ing. Ángel Sánchez Cruz Dr. Antonio Rodríguez Martínez Métodos numéricos, C++
Ing. Ángel Sánchez Cruz Dr. Antonio Rodríguez Martínez Métodos numéricos, C++