“Año De La Recuperación Y Consolidación De La Economía Peruana”
“UNIVERSIDAD NACIONAL INTERCULTURAL DE LA SELVA CENTRAL
JUAN SANTOS ATAHUALPA”
ESCUELA PROFESIONAL DE INGENIERÍA CIVIL
TITULO DEL TRABAJO
MANEJO DE ARREGLO UNIDIMENSIONAL (VECTORES) Y BIDIMENSIONALES
(MATRICES). APLICACIÓN EN LA SOLUCIÓN DE SISTEMAS DE ECUACIONES
LINEALES
ASIGNATURA:
PROGRAMACIÓN A LA INGENIERIA
DOCENTE:
Mg. ALMONACID HINOSTROZA, Rocio
ESTUDIANTES:
CANDIA GABRIEL, Joel
CHOCCE GARCIA, Bryhan
LOPEZ LEONARDO, Hernan
POMA CACERES, Clisman
LA MERCED, 06 DE MAYO DEL 2026
0
INDICE
I. INTRODUCCION ......................................................................................................... 2
II. OBJETIVO..................................................................................................................... 3
2.1. Objetivo General ................................................................................................................ 3
2.2. Objetivo Especifico ........................................................................................................... 3
III. MARCO TEORICO................................................................................................ 4
3.1. Arreglos (arrays) ............................................................................................................. 4
3.1.1. Características ..................................................................................................... 5
3.1.2. Clasificación ............................................................................................................. 5
3.1.3. Diferencias .......................................................................................................... 8
3.2. Sistemas de Ecuaciones Lineales .................................................................................. 10
3.3. Aplicación de arreglos en sistemas de ecuaciones lineales .......................................... 14
3.3.1. Ejemplos prácticos resueltos ................................................................................. 15
3.4. Aplicación en la ingeniería ........................................................................................... 17
3.5. Ventajas del uso de arreglos y matrices ........................................................................ 29
IV. CONCLUSIONES ....................................................................................................... 30
1
I. INTRODUCCION
El manejo de estructuras de datos constituye uno de los pilares fundamentales en la
programación. Entre ellas, los arreglos unidimensionales (vectores) y los arreglos
bidimensionales (matrices) son herramientas esenciales que permiten organizar y manipular
información de manera eficiente. Su dominio no solo facilita la resolución de problemas básicos
de almacenamiento y procesamiento, sino que también abre la puerta a aplicaciones más
avanzadas en el ámbito científico y tecnológico.
Un arreglo es una secuencia de datos del mismo tipo que ocupan un lugar continuo en
memoria. Las posiciones que ocupan se denominan elementos del arreglo y se enumeran
sucesivamente desde 0, 1, 2, 3, etc. En tales situaciones es conveniente colocar los datos en un
arreglo, el cual se caracteriza porque todos sus elementos comparten un mismo nombre. Los datos
individuales pueden ser caracteres, números enteros, números de coma flotante de simple o de
doble precisión.
En el siguiente informe abordaremos el uso de vectores y matrices como instrumentos en
programas de alto nivel o avanzado como el Python, para representar y resolver sistemas de
ecuaciones lineales dentro, un tema central en matemáticas aplicadas en ingeniería. A través de
ejemplos prácticos, aprenderemos cómo implementar algoritmos que aprovechen estas
estructuras para encontrar soluciones de manera sistemática y precisa y aplicarlos a la Ing. Civil.
2
II. OBJETIVO
2.1. Objetivo General
Implementar algoritmos computacionales mediante el uso de arreglos (vectores y
matrices) para la resolución automatizada de sistemas de ecuaciones lineales.
2.2. Objetivo Especifico
• Desarrollar funciones que permitan el almacenamiento y la manipulación de
vectores y matrices.
• Aplicar métodos numéricos clásicos (como Eliminación de Gauss, Gauss-Jordan o
la Regla de Cramer)
• Verificar la eficiencia del programa mediante la comparación de resultados
obtenidos computacionalmente frente a soluciones teóricas
3
III. MARCO TEORICO
3.1. Arreglos (arrays)
Un arreglo (vector, array, matriz) es un conjunto de datos o una estructura de datos
homogéneos que se encuentran ubicados en forma consecutiva en la memoria RAM (sirve
para almacenar datos en forma temporal). Un arreglo es una lista (conjunto) de datos con un
número fijo de componentes, todos del mismo tipo, que están referenciados bajo un mismo
nombre. Cada componente del arreglo se puede acceder mediante índices (0, 1, 2, 3, …)
encerradas entre corchetes [ ].
Ejemplo. [ N ] Se declara un arreglo de nombre con N elementos de tipo , (N es una
constante) en lenguaje de programación se vería de la siguiente manera: int a[10];
Algunos otros ejemplos:
4
3.1.1. Características
Los arreglos se caracterizan por: Almacenan los elementos en posiciones contiguas de
memoria Tienen un mismo nombre de variable que representa a todos los elementos. Para
hacer referencia a esos elementos es necesario utilizar un índice que especifica el lugar que
ocupa cada elemento dentro del archivo
3.1.2. Clasificación
[Link]. Unidimensionales (Vectores)
Es un arreglo de “N” elementos organizados en una dimensión donde “N” recibe el
nombre de longitud o tamaño del vector. Para hacer referencia a un elemento del vector se usa
el nombre del mismo, seguido del índice (entre corchetes), el cual indica una posición en
particular del vector.
Por ejemplo: V[x]
Donde:
V Nombre del arreglo
x Número de datos que constituyen el arreglo(tamaño)
5
[Link].1. Características
• Homogéneos: Significa que todos los elementos son del mismo tipo
• Ordenados: Significa que hay un primer elemento, un segundo elemento y asi
sucesivamente.
• Finita: Significa que hay un último elemento.
• Tamaño fijo: El tamaño del array debe ser conocido en tiempo de compilación,
pero que todos los elementos del array tengan significado.
[Link].2. Representación Gráfica
Nota sobre los arreglos: El valor del índice debe de estar entre 0 y un LIMITE entero
[Link]. Bidimensionales (Matrices)
Es un arreglo de M*N elementos organizados en dos dimensiones donde M es el
numero de filas o reglones y N el número de columnas.
6
Para representar una matriz se necesita un nombre de matriz se necesita un nombre de
matriz acompañado de dos índices. Mat [R, C] Donde R indica el renglón y C indica la
columna, donde se encuentra almacenado el dato.
[Link].1. Características
• Todos los elementos son del mismo tipo.
• La matriz tiene un único nombre.
• Los datos están ordenados según el orden de los subíndices.
• Todos los valores de un arreglo inicializan en 0 para datos numéricos y cadenas
vacías para datos tipo cadena.
[Link].2. Representación gráfica
7
3.1.3. Diferencias
Base Matriz unidimensional Matriz bidimensional
Almacena una única lista de
Almacena una 'lista de listas' del
Definición elementos de un tipo de datos
elemento de un tipo de datos similar.
similar.
Representar varios elementos de datos
Representació Representar varios elementos
como una tabla compuesta por filas y
n de datos como una lista.
columnas.
La declaración varía según el La declaración varía según el lenguaje
lenguaje de programación: de programación:
1. Para C++, 1. Para C++,
tipo de dato tipo de dato
variable_name[fil variable_name[fila][column
Declaración
a] a]
2. Para Java, 2. Para Java,
datatype [] datatype [][]
variable_name= variable_name= new
new datatype[row] datatype[row][column]
Dimensión Uno Dos
8
tamaño de (tipo de dato de la tamaño de (tipo de dato de la variable
Tamaño
variable del array) * tamaño de la matriz) * número de filas *
(bytes)
del array número de columnas.
La dirección de a[i][j] se puede calcular
de dos maneras: por filas y por
columnas.
1. Columna
principal: Dirección base +
Tamaño de cada elemento
La dirección de a[índice] es
(número de filas (j-límite
Cálculo de igual a (dirección base +
inferior de la columna) + (i-
direcciones. tamaño de cada elemento de
límite inferior de las filas))
la matriz * índice).
2. Orden por filas: Dirección
base + Tamaño de cada
elemento (número de
columnas (i - límite inferior
de la fila) + (j - límite
inferior de la columna))
int arr[5]; //Se creará un array int arr[2][5]; //Se creará un array con
con una fila y cinco dos filas y cinco columnas.
Ejemplo columnas. abcde
{a, b, c, d, e} fghij
9
3.2. Sistemas de Ecuaciones Lineales
En la práctica de la matemática, a veces se requiere trabajar de manera simultánea con
más de una ecuación en la cual aparecen variables diversas, es decir, con sistemas de
ecuaciones lineales.
La solución y análisis de sistemas de ecuaciones lineales encuentra una amplia
aplicación en la ciencia y en la tecnología, ya que a partir de la aplicación de estas podemos
resolver una muy variada cantidad de problemas como, por ejemplo, el análisis de circuitos
eléctricos, las estructuras de redes y sus posibles flujos en el área de transporte, los estudios
de mercadeo y comportamiento de productos en economía, las cargas que pueden soportar
distintas estructuras en ingeniería civil, el balanceo de reacciones químicas, los problemas
de móviles simultáneos, etc. En particular, se puede afirmar que en cualquier rama de la
ingeniería existe al menos una aplicación que requiera del planteamiento y solución de esos
sistemas.
Una ecuación de la forma
𝑎𝑥 + 𝑏𝑦 + 𝑐 = 0
𝑎𝑥 + 𝑏𝑦 + 𝑐 = 0
o bien, su equivalente
𝑎𝑥 + 𝑏𝑦 = 𝑐
𝑎𝑥 + 𝑏𝑦 = 𝑐
10
con a y b diferentes de cero, se considera una ecuación lineal con dos variables x y y
(lineal porque el exponente de sus variables es uno).
De igual manera, la ecuación
𝑎𝑥 + 𝑏𝑦 + 𝑐𝑧 + 𝑑 = 0
𝑎𝑥 + 𝑏𝑦 + 𝑐𝑧 + 𝑑 = 0
𝑎𝑥 + 𝑏𝑦 + 𝑐𝑧 + 𝑑 = 0
es una ecuación lineal con tres variables x, y y z. Y así podríamos seguir describiendo
ecuaciones con cuatro, cinco o más variables.
a) Clasificación de los sistemas de ecuaciones
Sistemas de ecuaciones compatibles. Un sistema compatible es aquel que tiene
solución. Si tiene solución, estas soluciones pueden ser infinitas o una única solución.
• Sistemas de ecuaciones compatibles determinados. Un sistema compatible
determinado es aquel que tiene una única solución para cada incógnita. Un
ejemplo de sistema compatible determinado sería
11
• Sistemas de ecuaciones compatibles indeterminados. Un sistema
compatible indeterminado es aquel que tiene infinitas soluciones, es decir, que
sus soluciones es una combinación lineal de números indeterminados. La
solución de un sistema de este tipo es:
Sistemas de ecuaciones incompatibles. Un sistema incompatible es aquel que no
tiene solución. Estos sistemas no se resuelven. Un ejemplo de este tipo de sistemas sería:
Este sistema es incompatible por una razón obvia, si la suma de x e y es cero, como va
a ser también dos. Esto es imposible, por lo que, como no hay dos números que cumplan las
dos ecuaciones a la vez, el sistema no tiene solución y por lo tanto es un sistema incompatible.
b) Importancia
Las ecuaciones lineales son de gran importancia ya que con ella podremos representar
numerosos problemas en diferentes áreas de la ingeniería y en otras ciencias mediante una de
ellas, de forma que podamos calculas un valor relevante del problema que no conocemos a
través de datos que si sabemos.
12
c) Métodos de resolución
En álgebra básica nos enseñan varios métodos aritméticos y uno gráfico que son
prácticos para resolver estos sistemas de ecuaciones, realizaremos un breve repaso de algunos
de estos.
• Método de igualación: este consiste en despejar la misma variable en cada una
de las ecuaciones del sistema y luego igualar los despejes para así obtener una
ecuación de primer grado con una variable que es muy sencilla de resolver y
finalmente reemplazar el valor hallado en uno de los despejes iniciales.
• Método de sustitución: este consiste en despejar una variable en una de las
ecuaciones y reemplazar este despeje en la otra ecuación para obtener
nuevamente una ecuación de primer grado con una variable.
• Método de eliminación o reducción: este consiste en eliminar una de las
variables para reducir de esta manera el sistema a una sola y poderlo desarrollar
fácilmente, para eso procedemos a multiplicar, dividir, sumar o restar las
ecuaciones entre sí valiéndonos de sus propiedades.
• Método gráfico: para este método se grafican las dos ecuaciones en el mismo
plano cartesiano por medio de tabulaciones y las coordenadas del punto de corte
de las dos rectas nos dan la solución del sistema.
13
3.3. Aplicación de arreglos en sistemas de ecuaciones lineales
En ingeniería no solemos resolver las ecuaciones una por una, sino que las agrupamos
en matrices para procesarlas por computadora, es muy común hoy en día, especialmente para
aplicaciones web de ingeniería que necesitan cálculos rápidos en el navegador. Si tienes un
sistema como este para calcular las fuerzas en una estructura:
3x + 2y = 18
-x + 4y = 10
el software JavaScript lo representaría así
14
3.3.1. Ejemplos prácticos resueltos
a) Solución con Python (NumPy)
La solución de sistemas de ecuaciones lineales mediante códigos (programación) se
basa principalmente en métodos numéricos como la eliminación de Gauss-Jordan,
descomposición LU, o métodos iterativos (Jacobi, Gauss-Seidel)
Python es una herramienta muy potente para álgebra lineal utilizando la biblioteca
NumPy. [1, 2]
import numpy as np
# Sistema de ecuaciones:
# 2x + 3y + z = 1
# 3x - 2y - 4z = -3
# 5x - y - z = 4
# Matriz de coeficientes (A)
A = [Link]([[2, 3, 1],
[3, -2, -4],
[5, -1, -1]])
# Vector de términos independientes (b)
b = [Link]([1, -3, 4])
# Solución del sistema (x = A⁻¹ * b)
solucion = [Link](A, b)
15
print("Solución (x, y, z):", solucion)
b) Solución con MATLAB / Octave
MATLAB utiliza el operador barra invertida (\) como el método estándar y directo
para resolver sistemas Ax = b
% Matriz de coeficientes
A = [2, 3, 1; 3, -2, -4; 5, -1, -1];
% Vector de términos independientes
b = [1; -3; 4];
% Solución
x = A\b
16
3.4. Aplicación en la ingeniería
En ingeniería no solemos resolver las ecuaciones una por una, sino que las agrupamos en matrices
para procesarlas por computadora, es muy común hoy en día, especialmente para aplicaciones
web de ingeniería que necesitan cálculos rápidos en el navegador. Si tienes un sistema como este
para calcular las fuerzas en una estructura:
3x + 2y = 18
-x + 4y = 10
El software JavaScript lo representaría
JavaScript
const math = require ( ´mathjs´ ) ;
// 1. Definir la matriz de coeficientes (A)
Const A = [
[3,2],
[ -1 , 4]
] ;
// 2. Definir el vector de resultados (b)
Const b = [ 18 , 10 ] ;
// [Link] el sistema Ax = b
Const x = math . lusolve (A, b);
17
a) Sistema de 1x1 (Ecuación Simple)
Cálculo de un esfuerzo axial básico en una columna.
F = k ∆𝑥
Determinar cuánto se acorta una barra bajo una carga puntual.
Estado inicial Estado deformado
(sin carga) (con carga F)
b) Sistema de 2x2
Equilibrio de fuerzas en un nodo bidimensional simple (como una polea o un apoyo).
Calcular las reacciones (Rx, Ry) en un apoyo fijo de una viga.
18
1. Partimos de las ecuaciones de equilibrio
Del problema tiene:
∑ 𝑓𝑥 = 0 => Rx = 0
∑ 𝑓𝑦 = 0 => Ry – P = 0
[Link] estándar del sistema
Ordenamos en forma de ecuaciones lineales
1Rx +0Ry = 0
0Rx + Ry = P
[Link] sí → Forma matricial
1 0 𝑅𝑥 0
Esto se escribe como [ ][ ] = [ ]
0 1 𝑅𝑦 𝑃
19
c) Sistema de 3x3
Estática en el espacio (3D) o una viga con carga, momento y cortante. Equilibrio de
un cuerpo rígido en el espacio donde tienes sumatoria de fuerzas en X, Y, Z. Aquí ya empiezas
a usar [Link] () para verificar que el sistema tenga solución.
d) Sistema de 4x4
20
Análisis de una viga continua con dos tramos. Determinación de los momentos en los
apoyos usando el Teorema de los Tres Momentos.
• TEOREMA DE LOS TRES MOMENTOS (CLAPEYRON)
Para tres apoyos consecutivos A, B y C de una viga continua con dos tramos AB y BC , el
teorema establece:
𝐴1𝑋1 𝐴2𝑋2
MAL1 + 2MB(L1+L2)+ MCL2 = -6( + )
𝐿1 𝐿2
Donde:
MA, MB, MC: Momentos en los apoyos A, B y C (convención: flector
Negativo = hogging).
A1. A2: áreas de los diagramas de momentos flectores de cada tramo, considerando la viga
simplemente apoyo izquierdo de cada tramo hasta el centroide del diagrama de momentos
correspondientes
21
e) Sistema 5x5
Es un sistema de 5 ecuaciones con 5 incógnitas, que representa estructuras con varios
apoyos o elementos donde se deben encontrar fuerzas o desplazamientos.
Están presente en vigas continuas con 5 incógnitas (reacciones y momentos)
Ejemplo:
[K][d](5x5) = [F]
f) Sistema de 6x6
Un sistema 6x6 consiste en seis ecuaciones lineales con seis incógnitas, asociadas
generalmente a estructuras con varios nodos y grados de libertad. Cada ecuación representa
el equilibrio en una dirección o punto específico de la estructura. En ingeniería civil, se
22
utiliza en armaduras y pórticos simples. Las incógnitas suelen representar desplazamientos
o fuerzas internas. Su solución se obtiene mediante métodos matriciales debido a su tamaño
g) El sistema de 7x7
El sistema 7x7 está compuesto por siete ecuaciones con siete incógnitas, y aparece
en estructuras que presentan redundancias o condiciones hiperestáticas. Esto significa que
no basta con aplicar solo ecuaciones de equilibrio, sino también condiciones de
compatibilidad de deformaciones. En ingeniería civil, se usa en vigas continuas o
estructuras más complejas. Permite analizar cómo se distribuyen las fuerzas en sistemas no
isostáticos. Su resolución requiere métodos avanzados como el método de rigidez.
23
h) Sistema de 8x8
Un sistema 8x8 contiene ocho ecuaciones lineales con ocho incógnitas,
representando estructuras con múltiples nodos y grados de libertad. En ingeniería civil, es
común en el análisis de pórticos planos donde cada nodo tiene movimientos en dos
direcciones. Estas ecuaciones se derivan del equilibrio y la relación esfuerzo-deformación.
Permite calcular desplazamientos y fuerzas internas con mayor precisión. Es ampliamente
utilizado en análisis estructural computacional.
24
i) El sistema de 9x9
El sistema 9x9 está formado por nueve ecuaciones y nueve incógnitas, utilizado en
estructuras más complejas o en análisis tridimensionales básicos. En ingeniería civil,
representa modelos donde se consideran tanto traslaciones como rotaciones. Cada ecuación
describe una condición de equilibrio o compatibilidad. Este tipo de sistema permite estudiar
el comportamiento global de estructuras espaciales. Su resolución se realiza mediante
métodos matriciales computacionales.
j) Sistema de 10x10
Un sistema 10x10 consta de diez ecuaciones lineales con diez incógnitas,
representando estructuras reales de mayor complejidad. En ingeniería civil, se utiliza en el
análisis de edificios pequeños o pórticos de varios niveles. Cada incógnita suele estar
relacionada con desplazamientos o fuerzas en nodos estructurales. Debido a su tamaño, no
es práctico resolverlo manualmente. Se emplean programas de cálculo estructural basados
en matrices.
25
El Método de la Rigidez (Análisis Estructural)
Es el pilar de la ingeniería estructural moderna. Para saber cuánto se deforma un puente bajo el
peso de los camiones, se plantea un sistema de ecuaciones donde:
26
Redes de Distribución de Agua (Hidráulica)
Para diseñar las tuberías de una ciudad, se usan sistemas de ecuaciones para calcular el
caudal y la presión en cada conexión
27
Topografía y Geodesia (Ajuste de Poligonales)
Cuando haces un levantamiento topográfico, los errores de medición son inevitables.
28
3.5. Ventajas del uso de arreglos y matrices
• Facilidad para trabajar con grandes estructuras En estructuras grandes (puentes,
edificios), hay muchas incógnitas. Las matrices permiten modelar sistemas completos en
una sola estructura matemática, facilitando el análisis global.
• Permiten modelar fenómenos físicos Las matrices ayudan a representar:
Distribución de cargas
Flujo de esfuerzos
Deformaciones en materiales Son una forma matemática de representar la realidad
física.
29
IV. CONCLUSIONES
El uso de arreglos unidimensionales (vectores) y bidimensionales (matrices) permitió
representar y organizar de manera eficiente la información numérica necesaria para la
resolución de sistemas de ecuaciones lineales, facilitando el procesamiento computacional de
datos en aplicaciones de ingeniería civil.
Se comprobó que los métodos numéricos aplicados mediante programación, como la
Eliminación de Gauss, Gauss-Jordan y la utilización de librerías matemáticas en Python y
MATLAB, ofrecen soluciones rápidas, precisas y confiables para sistemas de ecuaciones de
diferentes dimensiones.
La implementación de matrices en lenguajes de programación permitió automatizar
cálculos complejos que manualmente demandarían mayor tiempo y presentarían mayores
probabilidades de error, mejorando así la eficiencia en el análisis matemático y estructural.
A través del desarrollo del informe se evidenció que los sistemas de ecuaciones lineales
tienen una amplia aplicación en la ingeniería civil, especialmente en el análisis estructural,
hidráulico, topográfico y en la resolución de problemas relacionados con fuerzas,
deformaciones y equilibrio de estructuras.
El empleo de herramientas computacionales como Python, MATLAB y JavaScript
demostró la importancia de la programación en la ingeniería moderna, ya que permite resolver
problemas reales mediante algoritmos capaces de manejar grandes cantidades de datos de
forma ordenada y eficiente.
30
Finalmente, se concluye que el dominio de vectores, matrices y métodos matriciales
constituye una base fundamental para la formación del ingeniero civil, debido a que estas
herramientas son indispensables en el desarrollo de software, simulaciones y análisis técnicos
utilizados en proyectos de ingeniería.
31