Advertisement
Guest User

Untitled

a guest
Oct 14th, 2019
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.25 KB | None | 0 0
  1. clear;
  2. ///////////////////////////////////////////////////////
  3. // Montante.sce
  4. //
  5. // Este programa calcula el resultado de
  6. // un sistema de ecuaciones con el método
  7. // de Montante
  8. //
  9. // Ernesto Garcia -- A00820783
  10. // Santiago Díaz -- A01252554
  11. //////////////////////////////////////////////////////
  12.  
  13. //////////////////////////////////////////////////////
  14. // getMatrix
  15. //
  16. // Función que carga los valores de una matriz
  17. // con un número dado de columnas y renglones
  18. //
  19. // Parametros:
  20. // iRows cantidad de renglones
  21. // iCols cantidad de columnas
  22. // Regresa:
  23. // dMatrix matriz resultado con los valores ingresados
  24. /////////////////////////////////////////////////////
  25. function dMatrix = getMatrix(iRows, iCols)
  26. for i = 1 : iRows
  27. for j = 1 : iCols
  28. dMatrix(i,j) = input("Ingresa el valor en (" + string(i) + "," + string(j) + "): ");
  29. end
  30. end
  31. endfunction
  32.  
  33. //////////////////////////////////////////////////////
  34. // montante
  35. //
  36. // Función que ejecuta el método de Montante
  37. //
  38. // Parametros:
  39. // dMatrix matriz que se busca solucionar
  40. // iRows cantidad de renglones de la matriz
  41. // iCols cantidad de columnas de la matrix
  42. /////////////////////////////////////////////////////
  43. function montante(dMatrix, iRows, iCols)
  44. iPivoteAnterior = 1;
  45. for i = 1 : iRows
  46. // Pivoteo i
  47. for k = 1 : iRows
  48. if k <> i then
  49. for j = i + 1 : iCols
  50. dMatrix(k, j) = (dMatrix(i, i) * dMatrix(k, j) - dMatrix(k, i) * dMatrix(i, j)) / iPivoteAnterior;
  51. end
  52. dMatrix(k, i) = 0;
  53. end
  54. end
  55. iPivoteAnterior = dMatrix(i, i);
  56. disp(dMatrix);
  57. end
  58. for i = 1 : iRows - 1
  59. dMatrix(i, i) = iPivoteAnterior;
  60. end
  61. disp(dMatrix);
  62. for i = 1 : iRows
  63. dX(i) = dMatrix(i, iCols) / iPivoteAnterior;
  64. end
  65. disp(dX);
  66. endfunction
  67.  
  68. /////// Programa Principal
  69. // pido las dimensiones de la matriz
  70. iRows = input("Cantidad de ecuaciones: ");
  71. iCols = input("Cantidad de variables: ") + 1;
  72.  
  73. // solicita los valores de la matriz
  74. dMatrix = getMatrix(iRows, iCols);
  75.  
  76. // resolvemos el sistema de ecuaciones con Montante y mostramos los resultados
  77. montante(dMatrix, iRows, iCols);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement