Advertisement
Guest User

Untitled

a guest
May 5th, 2015
234
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.41 KB | None | 0 0
  1. //MÉTODO DA FATORAÇÃO LU EM C++
  2.  
  3. //ELIEZER BATISTA DA COSTA NETO - 359606 - ENGENHARIA MECÂNICA
  4.  
  5. #include<stdio.h>
  6. #include<stdlib.h>
  7. #include<math.h>
  8.  
  9. int main(){
  10.  
  11. // DECLARAÇÃO DE VARIÁVEIS
  12.  
  13. int i,k,w,j;
  14. double X[6], Y[6], R[6], soma;
  15. double A[6][6], L[6][6], U[6][6], V[6][6];
  16.  
  17. R[1]=120; R[2]=0; R[3]=350; R[4]=0; R[5]=0;
  18.  
  19. A[1][1]=9; A[1][2]=0; A[1][3]=-3; A[1][4]=0; A[1][5]=0;
  20. A[2][1]=1; A[2][2]=-1; A[2][3]=0; A[2][4]=0; A[2][5]=0;
  21. A[3][1]=0; A[3][2]=-2; A[3][3]=9; A[3][4]=0; A[3][5]=0;
  22. A[4][1]=0; A[4][2]=1; A[4][3]=6; A[4][4]=-9; A[4][5]=2;
  23. A[5][1]=5; A[5][2]=1; A[5][3]=0; A[5][4]=0; A[5][5]=-6;
  24.  
  25. // CÁLCULO DA MATRIZ L e U
  26.  
  27. for(i=1;i<=5;i++){
  28. for(j=1;j<=5;j++){
  29. if(i!=j){
  30. L[i][j] = 0;
  31. }
  32. if(i==j){
  33. L[i][j] = 1;
  34. }
  35. }
  36. }
  37.  
  38. k=1;
  39. w=1;
  40.  
  41. while(k<=4){
  42. for(i=1; i<=4; i++){
  43. V[k+i][k] =(A[k+i][w]/A[k][w]);
  44.  
  45. L[k+i][k] = -(V[k+i][k]);
  46.  
  47. if(fabs(L[k+i][k])<0.001){
  48. L[k+i][k] = 0;
  49. }
  50.  
  51. for(j=1; j<=5; j++){
  52. A[k+i][j]= A[k+i][j] - (V[k+i][k])*(A[k][j]);
  53.  
  54. if(fabs(A[k+i][j])<0.001){
  55. A[k+i][j] = 0;
  56. }
  57. }
  58. }
  59. k = k + 1;
  60. w = w + 1;
  61. }
  62.  
  63. for(i=1;i<=5;i++){
  64. for(j=1;j<=5;j++){
  65. U[i][j] = A[i][j];
  66. }
  67. }
  68.  
  69. for(i=1;i<=5;i++){
  70. for(j=1;j<=5;j++){
  71. printf("%f ", U[i][j]);
  72. }
  73. printf("\n\n");
  74. }
  75.  
  76. printf("\n\n\n\n");
  77.  
  78. for(i=1;i<=5;i++){
  79. for(j=1;j<=5;j++){
  80. printf("%f ", L[i][j]);
  81. }
  82. printf("\n\n");
  83. }
  84.  
  85. printf("\n\n\n\n");
  86.  
  87.  
  88. //CÁLCULO DAS INCÓGNITAS: SABE-SE QUE LUX = R E QUE UX = Y, ASSIM LY=R
  89.  
  90. for(i=1;i<=5;i++){
  91. soma = 0;
  92. for(j=1; j<=(i-1); j++){
  93. soma = soma + L[i][j]*Y[j];
  94. }
  95. Y[i] = R[i] - soma;
  96. }
  97.  
  98. printf("%f %f %f %f %f \n\n", Y[1],Y[2],Y[3],Y[4],Y[5]);
  99.  
  100. for (i=5; i>=1; i--){
  101. soma = 0;
  102. for(j=(i+1); j<=5; j++){
  103. soma = soma + U[i][j]*X[j];
  104. }
  105.  
  106. X[i] = (Y[i] - soma)/U[i][i];
  107. }
  108.  
  109. printf("%f %f %f %f %f \n\n", X[1],X[2],X[3],X[4],X[5]);
  110.  
  111. return(0);
  112. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement