Академический Документы
Профессиональный Документы
Культура Документы
Unidad No.3
C++
#include <stdio.h>
#include <math.h>
#include <conio.h>
2
}
int Gauss_Jordan(float M[100][100], int N, float *x)
{ int fila,k,r;
float tmp;
for(fila=0;fila<N;fila++)
3
{ for(k=0;k<N;k++)
{ if(k!=fila)
{ tmp = M[k][fila];
for(r=0; r<=N; r++)
{ M[k][r]= M[k][r]-(tmp/M[fila][fila])*M[fila][r];
}
}
}
}
for(fila=0; fila<N; fila++)
x[fila]=M[fila][N]/M[fila][fila];
return 0;
}
int main(int argc, char *argv[])
{
float M[100][100], x[100];
int i, N;
printf("\n\nGUASS JORDAN\n");
printf("Tamao del sistema: ");
scanf("%d", &N);
printf("Escribe los valores de la matriz aumentada, ingresa %d tanto
valores para cada fila presione <enter>\n",N+1);
Lee_Matriz(M, N, N+1);
Imprime_Matriz(M, N, N+1);
Gauss_Jordan(M, N, x);
Imprime_Matriz(M, N, N+1);
printf("SOLUCION AL SISTEMA\n");
for(i=0; i<N; i++)
4
{ printf("%8.3f\n", x[i]);
}
getch();
return 0;
}
Matlab
function y=Gaussjordan(M,b)
[n n]=size(M);
M=[M' ;b']';
x=zeros(n,1);
for p=1:n
for k=[1:p-1,p+1:n];
m=-M(k,p)/M(p,p);
M(k, :)=M(k, :)+m*M(p, :)
end
end
x=M(:,n+1)./diag(M)
c.