Вы находитесь на странице: 1из 10

SISTEMA ESPECIALES DE

ECUACIONES
SOLUCIONES NUMERICAS
MINISTERIO DE EDUCACIÓN

UNIVERSIDAD TECNOLÓGICA

DE PANAMÁ

FACULTAD DE INGENIERRIA CIVIL

SOLUCIONES NÚMERICAS

PROYECTO #3

SISTEMA ESPECIALES DE ECUCACIONES

SHANTALL PINO

8-906-1627

1IC12

LEONCIO AMBULO

2017

1
INDICE

Introducción …………………………………………………………………………………. 3

Código del nuevo subproceso ……………………………………………………………… 4

Nuevo vector ……………………………………………………………………….. 4

Ordenar………………………………………………………………………………. 4

Encontrar los X ……………………………………………………………………. 5

Encontrar los B .……………………………………..…………………………….. 6

Ajustes para los mensajes en caso de ………………………………………….. 6

Conclusión …………………………………………………………………………………… 8

Bibliografía ………………………………………………………………………………….. 9

2
INTRODUCCIÓN

Denominamos “sistema de ecuaciones simultaneas” a un sistema que contempla dos o


más ecuaciones lineales. Se empieza a considerar una ecuación miembro de un S.E.L
cuando esta posee más de una variable, ya que en caso contrario no tendría sentido
formar un S.E.L de ecuaciones de una variable si tienen solución independiente cada
una fácilmente. Puesto que el objetivo de un S.E.L es encontrar la solución común de un
conjunto de ecuaciones.

En el siguiente trabajo encontraremos un programa que resuelva ecuaciones donde haya


dos incógnitas, Valor X y Valor B, los cuales se encontraran por subprocesos que realicen
las operaciones necesarias para encontrar los valores y presentándolo en listobox.

3
Código del Subproceso

 Nuevo vector

En esta parte del subproceso encontraremos como dimensionar matriz de coeficientes

Sub RESOLVER(ByVal K As Integer, ByRef COEF(,) As Double, ByRef X1() As Object, ByRef
B1() As Object, ByRef S1() As Object, ByRef RESULTADOS As Object, ByRef MENSAJE As
String)

FILAS = K
COLUMNAS = K
ReDim M(FILAS, COLUMNAS), X(FILAS), B(FILAS), S(FILAS), RESULTADOS(K, 2)
CONTADOR1 = 1
CONTADOR2 = 0

 Ordenar

En este segmento ordenaremos la siguiente matriz

For I = 1 To FILAS
If IsNumeric(X1(I)) = False Then
X(CONTADOR1) = (X1(I))
For J = 1 To FILAS
M(J, CONTADOR1) = COEF(J, I)
Next
CONTADOR1 = CONTADOR1 + 1
ElseIf IsNumeric(X1(I)) = True Then
X(FILAS - CONTADOR2) = (X1(I))
For J = 1 To FILAS
M(J, FILAS - CONTADOR2) = COEF(J, I)
Next
CONTADOR2 = CONTADOR2 + 1
End If
Next

CONTADOR1 = 0
CONTADOR2 = 1
For I = 1 To FILAS
If IsNumeric(B1(I)) = False Then
B(FILAS - CONTADOR1) = B1(I)
S(FILAS - CONTADOR1) = S1(I)
For J = 1 To COLUMNAS
COEF(FILAS - CONTADOR1, J) = M(I, J)
Next
CONTADOR1 = CONTADOR1 + 1
ElseIf IsNumeric(B1(I)) = True Then
B(CONTADOR2) = B1(I)
S(CONTADOR2) = S1(I)
For J = 1 To COLUMNAS
COEF(CONTADOR2, J) = M(I, J)
Next
CONTADOR2 = CONTADOR2 + 1
End If

4
Next
For I = 1 To FILAS
X1(I) = X(I)
B1(I) = B(I)
S1(I) = S(I)
For J = 1 To FILAS
M(I, J) = COEF(I, J)
Next
Next
CONTADOR1 = 0
CONTADOR2 = 0
For I = 1 To FILAS
If IsNumeric(X(I)) = False Then
CONTADOR1 = CONTADOR1 + 1
End If
If IsNumeric(B(I)) = False Then
CONTADOR2 = CONTADOR2 + 1
End If
Next

 Encontrar los X

Para el subsistema de A del vector X y vector B

ReDim M(CONTADOR1, CONTADOR1 + 1)


ReDim X(CONTADOR1)
ReDim B(CONTADOR1)

Para encontrar el vector X utilizamos el siguiente código para ordenar la matriz,

For I = 1 To CONTADOR1
For J = 1 To CONTADOR1
M(I, J) = COEF(I, J)
Next
Next
For I = 1 To CONTADOR1
X(I) = X1(I)
B(I) = 0
Next

Luego realizamos las operaciones necesarias para encontrar los valores de X

ReDim B(CONTADOR1)
For I = 1 To CONTADOR1
For J = CONTADOR1 + 1 To COLUMNAS
B(I) = B(I) + (Val(COEF(I, J)) * Val(X1(J)))
Next
Next

Para luego ir almacenando la información y resultados en la memoria y en el


modulo1 ( Eliminacion de Gauss) para ir almacenando los valores en el vector R( )

For I = 1 To CONTADOR1
B1(I) = Val(B1(I)) - Val(B(I)) + Val(S(I)
M(I, CONTADOR1 + 1) = B1(I)

5
Next
ReDim R(K)
ELMINACION(CONTADOR1, M, R, MENSAJE)

 Encontrar los B

Para el subsitema B, del vector X y vector B

ReDim M((FILAS - CONTADOR1), (COLUMNAS))


ReDim X(FILAS)
ReDim B(FILAS)

Ordenamos la matriz para el vector B

For I = CONTADOR1 + 1 To FILAS


For J = 1 To COLUMNAS
M((I - CONTADOR1), J) = COEF(I, J)
Next
B(I - CONTADOR1) = B1(I)
Next

Ordenamos la matriz para el vector X2 para ir almacenando los valores de la matriz


original

For I = 1 To FILAS
X(I) = X1(I)
If I <= CONTADOR1 Then
X(I) = R(I)
RESULTADOS(I, 2) = R(I)
RESULTADOS(I, 1) = X1(I)
ElseIf I > CONTADOR1 Then
RESULTADOS(I, 1) = B1(I)
End If
Next

Realizamos las operaciones necesarias para encontrar los valores del vector B

For I = 1 To FILAS - CONTADOR1


For J = 1 To COLUMNAS
RESULTADOS(I + CONTADOR1, 2) = RESULTADOS(I + CONTADOR1, 2) + (Val(M(I, J)) *
Val(X(J)))
Next
RESULTADOS(I + CONTADOR1, 2) = RESULTADOS(I + CONTADOR1, 2) - S(I +
CONTADOR1)

Next

MENSAJE = "EL SISEMA CON " & K & " CANTIDAD DE ECUACIONES HA SIDO RESUELTO"

 Ajustes para los mensajes en caso de…

a) Que el contador sea:


ElseIf CONTADOR2 = 0 And CONTADOR1 > 0 Then
ReDim M(K, K + 1), X(K), B(K), R1(K)

6
For I = 1 To FILAS
For J = 1 To FILAS
M(I, J) = COEF(I, J)
Next
X(I) = X1(I)
M(I, K + 1) = Val(B1(I)) + Val(S(I))
Next
ELMINACION(K, M, R1, MENSAJE)
For I = 1 To FILAS
RESULTADOS(I, 2) = R1(I)
RESULTADOS(I, 1) = X1(I)
Next

MENSAJE = "EL SISTEMA DE " & 3 & " ECUACIONES SE RESOLVIO POR ELMINACIONS
SOLAMENTE AL SUBSISTEMA A"

b) Que el contador sea:


ElseIf CONTADOR1 = 0 And CONTADOR2 > 0 Then
For I = 1 To FILAS
For J = 1 To COLUMNAS
RESULTADOS(I, 2) = RESULTADOS(I, 2) + (Val(COEF(I, J)) * Val(X1(J)))
Next
RESULTADOS(I, 1) = B1(I)
RESULTADOS(I, 2) = RESULTADOS(I, 2) - S(I)
Next

MENSAJE = "SE RESOLVIO EL SISTEMA MULTIPLICANDO LA MATRIZ POR EL VECTOR E


IGUALANDO"

End If

c) Que el contador sea:


ElseIf CONTADOR1 + CONTADOR2 > K Then

MENSAJE = "NO PODRA SER RESUELTO EL SISTEMA, HAY MAS VARIABLES QUE ECUACIONES"
End If

7
CONCLUSIÓN

Con este trabajo entendimos muchas cosas sobre la programación del mismo, los cuales
podemos realizar ecuaciones especiales en donde habían dos incógnitas más un vector
de valores.

Este programa también nos ayudó a comprender mejor el manejo de los códigos en
Visual Basic. Net para la programación de matrices en el sistema.

Observando lo complicado que es manejar un sistema de ecuaciones de varias incógnitas


en nuestra vida diaria, este programa nos ayudó más de lo espera, ya sea para el
presente como para el futuro.

8
BIBLIOGRAFIA

“Estructura fundamentales de programación para ingeniería” / Leoncio Ambulo /


capitulo 15

http://prepafacil.com/cobach/Main/SistemasDeEcuacionesSimultaneas

http://matematicasmodernas.com/ecuaciones-simultaneas-de-primer-grado/

Вам также может понравиться