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

1

UNIVERSIDAD NACIONAL
DE SAN
CRISTOBAL DE HUAMANGA
FACULTAD DE INGENIERÍA DE MINAS,
GEOLOGÍA Y CIVIL

ESCUELA PROFESIONAL DE INGENIERÍA CIVIL


ESCUELA PROFESIONAL DE INGENIERÍA CIVIL
ESCUELA PROFESIONAL DE INGENIERÍA CIVIL

MÉTODOS NUMÉRICOS
(IC-343)

TEMA:
TRABAJO SEMESTRAL - IMPLEMENTACIÓN DE PROGRA-
MAS CON INTERFAZ EN HP PRIME

DOCENTE:
Ing. CASTRO PEREZ, Cristian

Alumnos:

Apellidos y Nombres: Código


1.- DEL CASTILLO PEREZ, Raul 16120546
2.- CORAS ESCALANTE, Hilmer 16125737
3.- URQUIZO RIVERA, Friztchman 16125828
4.- CERDA GOMEZ, Alcides Emerson 16125731
5.- GUTIÉRREZ ALLPACCA, Zoser 16145699

AYACUCHO 2016 PERÚ


Índice general

CAPÍTULO 1 Ecuaciones No Lineales Página 1


1.1 Método de Bisección . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Método de la Regla Falsa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3 Método de la Secante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4 Método del Punto Fijo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.5 Método de Newton-Raphson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.6 Método de Newton-Raphson para sistemas de ecuaciones . . . . . . 24
1.7 Método de Punto Fijo Multivariable . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.8 Método de Broyden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

CAPÍTULO 2 Ecuaciones Polinomiales Página 33


2.1 Método de Bairstow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.2 Método de Laguerre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.3 Método de Muller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

CAPÍTULO 3 Ecuaciones Lineales Página 52


3.1 Eliminacion Gaussiana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.2 Gauss Jordan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.3 Factorización Doolittle-Crout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.4 Método de Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.5 Método de Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.6 Sobrerelajación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.7 Gradiente Conjugado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

CAPÍTULO 4 Interpolación y ajuste de curvas Página 70


4.1 Método de diferencias divididas de Newton . . . . . . . . . . . . . . . . . . . . 70
4.2 Interpolación de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

CAPÍTULO 5 Integración Página 74


5.1 Cuadratura de Gauss-Legendre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.2 Integración de Romberg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

CAPÍTULO 6 Ecuaciones Diferenciales Ordinarias Página 80


6.1 Método de Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.2 Método de Runge-Kutta de segundo orden . . . . . . . . . . . . . . . . . . . . 83
6.3 Método de Runge-Kutta de tercer orden . . . . . . . . . . . . . . . . . . . . . . 86
6.4 Método de Runge-Kutta de cuarto orden . . . . . . . . . . . . . . . . . . . . . . 90

CAPÍTULO 7 Valores y Vectores Propios Página 95


7.1 Forma simple de Jacoby . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

CAPÍTULO 8 Programas Página 101


8.1 ECUACIOLES NO LINEALES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
8.2 SISTEMAS DE ECUACIOLES NO LINEALES . . . . . . . . . . . . . . 119
8.3 ECUACIOLES LINEALES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
8.4 VECTORES VALORES PROPIOS . . . . . . . . . . . . . . . . . . . . . . . . . . 162
8.5 INTERPOLACION FUNCIONAL . . . . . . . . . . . . . . . . . . . . . . . . . . 181
8.6 INTEGRACIÓN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
8.7 EDO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
8.8 PROGRAMACIÓN LINEAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
8.9 PROGRAMAS UTILITARIOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Método de Bisección
Método de la Regla Falsa
Método de la Secante
Método del Punto Fijo
Método de Newton-Raphson
Método de Newton-Raphson para siste-
mas de ecuaciones
Método de Punto Fijo Multivariable
Método de Broyden

1 – Ecuaciones No Lineales

1.1 Método de Bisección

Ejemplo 1.1
Determinar una raiz del polinomio

p(x) = 2x3 − 3x − 1

Solución: Ingresando datos en la HP PRIME:

Figura 1.1: Gráfica de la ecuación

a
a
a
a
a

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 1


Universidad Nacional de San Cristobal de Huamanga

Figura 1.2: Ingreso de datos

Figura 1.3: Iteraciones copiadas del HP PRIME

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 2


Universidad Nacional de San Cristobal de Huamanga

Figura 1.4: Solución obtenida con la HP PRIME

Resultado:

x = 1,366026

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 3


Universidad Nacional de San Cristobal de Huamanga

Ejemplo 1.2
Encontrar la raiz de:

f (x) = e−x − ln(x)

Solución:

Figura 1.5: Gráfica de la ecuación

Figura 1.6: Ingreso de datos

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 4


Universidad Nacional de San Cristobal de Huamanga

Figura 1.7: Iteraciones copiadas del HP PRIME

Figura 1.8: Solución obtenida con la HP PRIME

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 5


Universidad Nacional de San Cristobal de Huamanga

Finalmente obtenemos:

x = 1,3098

1.2 Método de la Regla Falsa

Ejemplo 1.3
2
Hallar la menor raiz positiva de la ecuación e−x − cos (x) = 0 con una tolerancia de 10−5

Solución:
Ingresando datos en la HP PRIME:

Figura 1.9: Gráfica de la ecuación

a
a
a
a
a
a
a
a
a
a

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 6


Universidad Nacional de San Cristobal de Huamanga

Figura 1.10: Ingreso de datos

Figura 1.11: Iteraciones copiadas del HP PRIME

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 7


Universidad Nacional de San Cristobal de Huamanga

Figura 1.12: Solución obtenida con la HP PRIME

Finalmente obtenemos:

x = 1,447414

Ejemplo 1.4
Determine el coeficiente de arrastre c necesario para que un paracaidista de masa m =
68,1kg tenga una velocidad de 40m/s despues de una caída libre de t = 10s Nota: La
aceleración de la gravedad es 9,8m/s2 .

Solución: Del problema tenemos:


667,38
f (c) = (1 − e−0,146843c ) − 40
c
Solución: Ingresando datos en la HP PRIME:

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 8


Universidad Nacional de San Cristobal de Huamanga

Figura 1.13: Gráfica de la ecuación

Figura 1.14: Ingreso de datos

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 9


Universidad Nacional de San Cristobal de Huamanga

Figura 1.15: Iteraciones copiadas del HP PRIME

Figura 1.16: Solución obtenida con la HP PRIME

Respuesta:

c = 14,780209

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 10


Universidad Nacional de San Cristobal de Huamanga

1.3 Método de la Secante

Ejemplo 1.5
Halla las raices de la ecuación 0 = 2cos(x) − x

Solución: Ingresando datos en la HP PRIME:

Figura 1.17: Gráfica de la ecuación

Figura 1.18: Ingreso de datos

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 11


Universidad Nacional de San Cristobal de Huamanga

Figura 1.19: Iteraciones copiadas del HP PRIME

Figura 1.20: Solución obtenida con la HP PRIME

Finalmente obtenemos:

x = 1,029867

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 12


Universidad Nacional de San Cristobal de Huamanga

Ejemplo 1.6
Con el método de la secante calcule la raíz de:

f (x) = e−x − x

Solución: Ingresando datos en la HP PRIME:

Figura 1.21: Gráfica de la ecuación

Figura 1.22: Ingreso de datos

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 13


Universidad Nacional de San Cristobal de Huamanga

Figura 1.23: Iteraciones copiadas del HP PRIME

Figura 1.24: Solución obtenida con la HP PRIME

Finalmente obtenemos:

x = 0,567144

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 14


Universidad Nacional de San Cristobal de Huamanga

1.4 Método del Punto Fijo

Ejemplo 1.7
Determinar una raiz del polinomio

p(x) = 2x3 − 3x − 1

Solución: Para resolver por el método de Punto Fijo Multivariable tenemos que despejar de la
siguiente manera:

2x3 − 1

x=
3
Solución: Ingresando datos en la HP PRIME:

Figura 1.25: Gráfica de la ecuación

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 15


Universidad Nacional de San Cristobal de Huamanga

Figura 1.26: Ingreso de datos

Figura 1.27: Iteraciones copiadas del HP PRIME

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 16


Universidad Nacional de San Cristobal de Huamanga

Figura 1.28: Solución obtenida con la HP PRIME

Finalmente obtenemos:

x = −0,366025

Ejemplo 1.8
Hallar:
2x + cos(x)
x=
3

Solución: Como ya tenemos el problema despejado en la variable procedemos a resolver con el


método: Ingresando datos en la HP PRIME:

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 17


Universidad Nacional de San Cristobal de Huamanga

Figura 1.29: Gráfica de la ecuación

Figura 1.30: Ingreso de datos

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 18


Universidad Nacional de San Cristobal de Huamanga

Figura 1.31: Iteraciones copiadas del HP PRIME

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 19


Universidad Nacional de San Cristobal de Huamanga

Figura 1.32: Solución obtenida con la HP PRIME

Finalmente obtenemos:

x = 0,739086

1.5 Método de Newton-Raphson

Ejemplo 1.9
Aproximar la raiz quinta de 2 con tres cifras decimales exactas, ilustrando el método paso
a paso.

Del problema tenemos:


√5
x= 2

Despejando tenemos:
√5
2−x=0

Solución:
Ingresando datos en la HP PRIME:

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 20


Universidad Nacional de San Cristobal de Huamanga

Figura 1.33: Gráfica de la ecuación

Figura 1.34: Ingreso de datos

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 21


Universidad Nacional de San Cristobal de Huamanga

Figura 1.35: Iteraciones copiadas del HP PRIME

Figura 1.36: Solución obtenida con la HP PRIME

Finalmente obtenemos:

x = 1,148698

Ejemplo 1.10
Nos ofrecen un crédito de 6000 euros a devolver en 50 mensualidades de 150 euros. Llamando
C al importe del préstamo, n al número de pagos, a al importe del plazo e i al tipo de interés
por período, se cumple la ecuación siguiente:
rn − 1
Crn = a donde : r = 1 + i
r−1

Solución: Para aplicar el método de Newton se sugiere escribir la ecuación de la forma:

f (r) = Crn (r − 1) − a(rn − 1) = 0

Reemplazando datos:

f (r) = 6000r50 (r − 1) − 50(r50 − 1) = 0

Ahora si podemos resolver por el método de Newton. Ingresando datos en la HP PRIME:


Solución:

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 22


Universidad Nacional de San Cristobal de Huamanga

Figura 1.37: Gráfica de la ecuación

Figura 1.38: Ingreso de datos

Figura 1.39: Iteraciones copiadas del HP PRIME

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 23


Universidad Nacional de San Cristobal de Huamanga

Figura 1.40: Solución obtenida con la HP PRIME

Finalmente obtenemos:

r=1

1.6 Método de Newton-Raphson para sistemas de ecuaciones

Ejemplo 1.11
Resolver:
1
3x1 − cos(x2 x3 ) − =0
2
2 2
x1 − 81(x2 + 0,1) + sen(x3 ) + 1,06 = 0
10π
e−x1 x2 + 20x3 + −1=0
3

Solución:

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 24


Universidad Nacional de San Cristobal de Huamanga

Figura 1.41: Ingreso de datos

Figura 1.42: Ingreso de valores iniciales

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 25


Universidad Nacional de San Cristobal de Huamanga

Figura 1.43: Iteraciones copiadas del HP PRIME

Figura 1.44: Iteraciones copiadas del HP PRIME

Figura 1.45: Solución en la HP PRIME

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 26


Universidad Nacional de San Cristobal de Huamanga

Finalmente obtenemos:

x1 = 0,5
x2 = 0
x3 = −0,523599

Ejemplo 1.12
Resolver:

x2 + y 2 − 1 = 0


x2 − y 2 + 12 = 0

Solución:

Figura 1.46: Ingreso de datos

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 27


Universidad Nacional de San Cristobal de Huamanga

Figura 1.47: Ingreso de valores iniciales

Figura 1.48: Iteraciones copiadas del HP PRIME

Figura 1.49: Solución obtenida con la HP PRIME

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 28


Universidad Nacional de San Cristobal de Huamanga

Así obtenemos la solución:

x = 0,8666025
y = 0,5

1.7 Método de Punto Fijo Multivariable

Ejemplo 1.13
Resolver:
1
3x1 − cos(x2 x3 ) − =0
2
2 2
x1 − 81(x2 + 0,1) + sen(x3 ) + 1,06 = 0
10π
e−x1 x2 + 20x3 + −1=0
3

Solución: Para resolver por el método de Punto Fijo Multivariable tenemos que despejar de la
siguiente manera:

cos(x2 x3 ) 1
x1 = +
q3 6
1
x2 = x21 + sen(x3 ) + 1,06 − 0,1
9
1 π
x3 = (1 − e−x1 x2 ) −
20 6
Ahora procedemos a iterar.

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 29


Universidad Nacional de San Cristobal de Huamanga

Figura 1.50: Ingreso de datos

Figura 1.51: Ingreso de valores iniciales

Figura 1.52: Iteraciones copiadas del HP PRIME

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 30


Universidad Nacional de San Cristobal de Huamanga

Figura 1.53: Solución obtenida con la HP PRIME

1.8 Método de Broyden

Ejemplo 1.14
Hallar el siguiente sistema no lineal:

x2 + x − y 2 − 1 = 0


y − sen(x2 ) = 0

Solución:

Figura 1.54: Ingreso de valores iniciales

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 31


Universidad Nacional de San Cristobal de Huamanga

Figura 1.55: Iteraciones copiadas del HP PRIME

Figura 1.56: Iteraciones copiadas del HP PRIME

Figura 1.57: Solución obtenida con la HP PRIME

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 32


Método de Bairstow
Método de Laguerre
Método de Muller

2 – Ecuaciones Polinomiales

2.1 Método de Bairstow

Ejemplo 2.1
Determine las raices del polinomio

f (x) = x5 − 3,5x4 + 2,75x3 + 2,125x2 − 3,875x + 1,25

con un error de 1 %

Solución:

Figura 2.1: Incluyendo valores iniciales

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 33


Universidad Nacional de San Cristobal de Huamanga

Figura 2.2: polinomios factorizados

Figura 2.3: El polinomio cuadrático ya tiene solución por formula

Figura 2.4: El polinomio cuadrático ya tiene solución por fórmula

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 34


Universidad Nacional de San Cristobal de Huamanga

Figura 2.5: Calculando nuevamente para el polinomio cúbico

Figura 2.6: El monomio y el polinomio cuadrático ya tiene solución por fórmula

Figura 2.7: Por tanto las 5 raíces del polinomio son

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 35


Universidad Nacional de San Cristobal de Huamanga

Ejemplo 2.2
Emplee el método de Bairstow para determinar las raices del polinomio siguiente:

f (x) = 3x6 + 5x5 + 8x4 − 2x3 − 4x2 + x + 1

Utilice como valores iniciales p=1, q=0.3.

Solución:

Figura 2.8: Incluyendo valores iniciales

Figura 2.9: polinomios factorizados

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 36


Universidad Nacional de San Cristobal de Huamanga

Figura 2.10: El polinomio cuadrático ya tiene solución por fórmula

Figura 2.11: Nuevamente poniendo valores iniciales para resolver el polinomio de cuarto grado

Figura 2.12: Aplicando nuevamente bairstow para el polinomio de orden 4

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 37


Universidad Nacional de San Cristobal de Huamanga

Figura 2.13: El polinomio cuadrático ya tiene solución por fórmula

Figura 2.14: El polinomio cuadrático ya tiene solución por fórmula

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 38


Universidad Nacional de San Cristobal de Huamanga

Figura 2.15: Todas las raíces del polinomio

2.2 Método de Laguerre

Ejemplo 2.3
Determine las raices del polinomio:

P (x) = x5 − 3,5x4 + 2,75x3 + 2,125x2 − 3,875x + 1,25

Solución:

Figura 2.16: Incluyendo de valores iniciales

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 39


Universidad Nacional de San Cristobal de Huamanga

Figura 2.17: Cálculo de la primera raíz

Figura 2.18: Incluyendo de valores iniciales

Figura 2.19: Cálculo de la segunda raíz

Figura 2.20: Incluyendo valor inicial

Figura 2.21: Cálculo de la tercera raíz

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 40


Universidad Nacional de San Cristobal de Huamanga

Figura 2.22: Incluyendo valor inicial

Figura 2.23: Cálculo de la cuarta raíz

Figura 2.24: Incluyendo valor inicial

Figura 2.25: Cálculo de la quinta raíz

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 41


Universidad Nacional de San Cristobal de Huamanga

Ejemplo 2.4
Determine las raíces del polinomio:

P (x) = 2x3 + 3x2 + 4x + 5

Solución:

Figura 2.26: Incluyendo valor inicial

Figura 2.27: Cálculo de la primera raíz

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 42


Universidad Nacional de San Cristobal de Huamanga

Figura 2.28: Incluyendo valor inicial

Figura 2.29: Cálculo de la segunda raíz

Figura 2.30: Incluyendo valor inicial

Figura 2.31: Cálculo de la tercera raíz

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 43


Universidad Nacional de San Cristobal de Huamanga

2.3 Método de Muller

Ejemplo 2.5
Hallar las raices de la ecuación:

P (x) = 2x3 + 3x2 + 4x + 5

Solución:

Figura 2.32: Incluyendo valor inicial

Figura 2.33: Cálculo de la primera raíz

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 44


Universidad Nacional de San Cristobal de Huamanga

Figura 2.34: Incluyendo valores iniciales

Figura 2.35: Cálculo de la segunda raíz

Figura 2.36: Incluyendo valores iniciales

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 45


Universidad Nacional de San Cristobal de Huamanga

Figura 2.37: Cálculo de la tercera raíz

Ejemplo 2.6
Determine las raices del polinomio

f (x) = x5 − 3,5x4 + 2,75x3 + 2,125x2 − 3,875x + 1,25

Solución:

Figura 2.38: Incluyendo valores iniciales

a
a
a
a
a
a

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 46


Universidad Nacional de San Cristobal de Huamanga

Figura 2.39: Cálculo de la primera raíz

Figura 2.40: Incluyendo valores iniciales

Figura 2.41: Cálculo de la segunda raíz

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 47


Universidad Nacional de San Cristobal de Huamanga

Figura 2.42: Incluyendo valores iniciales

Figura 2.43: Cálculo de la tercera raíz

Figura 2.44: Incluyendo valores iniciales

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 48


Universidad Nacional de San Cristobal de Huamanga

Figura 2.45: Cálculo de la primera raíz

Figura 2.46: Incluyendo valores iniciales

Figura 2.47: Cálculo de la segunda raíz

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 49


Universidad Nacional de San Cristobal de Huamanga

Figura 2.48: Incluyendo valores iniciales

Figura 2.49: Cálculo de la tercera raíz

Figura 2.50: Incluyendo valores iniciales

Figura 2.51: Cálculo de la cuarta raíz

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 50


Universidad Nacional de San Cristobal de Huamanga

a
a
a

Figura 2.52: Incluyendo valores iniciales

a
a
a
a
a Figura 2.53: Cálculo de la quinta raíz
a
a
a
a

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 51


Eliminacion Gaussiana
Gauss Jordan
Factorización Doolittle-Crout
Método de Jacobi
Método de Gauss-Seidel
Sobrerelajación
Gradiente Conjugado

3 – Ecuaciones Lineales

MÉTODOS DIRECTOS

3.1 Eliminacion Gaussiana

Ejemplo 3.1
Emplee la eliminación de Gauss para resolver:

3x1 − 0,1x2 − 0,2x3 = 7,85


0,1x1 + 7x2 − 0,3x3 = −19,3
0,3x1 − 0,2x2 + 10x3 = 71,4

Solución:

Figura 3.1: obteniendo la matriz aumentada

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 52


Universidad Nacional de San Cristobal de Huamanga

Figura 3.2: cuadro excel de eliminación

Figura 3.3: resultado de la eliminación de Gauss

Ejemplo 3.2
Emplee la eliminación de Gauss para resolver:

2x2 + 5x3 = 9
2x1 + x2 + x3 = 9
3x1 + x2 = 10

Solución:

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 53


Universidad Nacional de San Cristobal de Huamanga

Figura 3.4: obteniendo la matriz aumentada

Figura 3.5: cuadro excel de eliminación

Figura 3.6: resultado de la eliminación de Gauss

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 54


Universidad Nacional de San Cristobal de Huamanga

3.2 Gauss Jordan

Ejemplo 3.3
Emplee la eliminación de Gauss Jordan para resolver:

17x1 − 2x2 − 3x3 = 500


−5x1 + 21x2 − 3x3 = 200
−5x1 − 5x2 + 22x3 = 30

Solución:

Figura 3.7: matriz aumentada

Figura 3.8: pivote por Gauss Jordan

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 55


Universidad Nacional de San Cristobal de Huamanga

Figura 3.9: resultado de la eliminación de Gauss Jordan

3.3 Factorización Doolittle-Crout

Ejemplo 3.4
Resolver por de Doolittle:

Solución:

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 56


Universidad Nacional de San Cristobal de Huamanga

Figura 3.10: factorizacion por Doolittle

3.4 Método de Jacobi

Ejemplo 3.5
Resolver por de método iterativo de jacoby:

Solución:

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 57


Universidad Nacional de San Cristobal de Huamanga

Figura 3.11: resultado de la Factorizacion

Figura 3.12: resultado de la Factorizacion

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 58


Universidad Nacional de San Cristobal de Huamanga

Figura 3.13: resultado de la Factorizacion

Figura 3.14: resultado de la Factorizacion

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 59


Universidad Nacional de San Cristobal de Huamanga

Figura 3.15: resultado de la Factorizacion

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 60


Universidad Nacional de San Cristobal de Huamanga

Figura 3.16: resultado de la Factorizacion

3.5 Método de Gauss-Seidel

Ejemplo 3.6
Emplee el método de Gauss-Seidel para resolver el sistema siguiente hasta que el error
relativo porcentual este por debajo de εs = 5 %

Solución:

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 61


Universidad Nacional de San Cristobal de Huamanga

Figura 3.17: Introducción de la matriz

Figura 3.18: Redondeo-error-número maximo de iteraciones

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 62


Universidad Nacional de San Cristobal de Huamanga

Figura 3.19: Ingreso de valores iniciales

Figura 3.20: Iteraciones

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 63


Universidad Nacional de San Cristobal de Huamanga

Figura 3.21: resultados

3.6 Sobrerelajación

Ejemplo 3.7
Emplee el método de SOR para resolver el sistema siguiente hasta que el error relativo
porcentual este por debajo de εs = 5 %

Solución:

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 64


Universidad Nacional de San Cristobal de Huamanga

Figura 3.22: Introducción de la matriz

Figura 3.23: Valores iniciales

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 65


Universidad Nacional de San Cristobal de Huamanga

Figura 3.24: Iteraciones

Figura 3.25: Resultado

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 66


Universidad Nacional de San Cristobal de Huamanga

3.7 Gradiente Conjugado

Ejemplo 3.8
Emplee el método de Gradiente Conjugado para resolver el sistema simétrico

Solución:

Figura 3.26: Ingreso de la matriz

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 67


Universidad Nacional de San Cristobal de Huamanga

Figura 3.27: Valores iniciales

Figura 3.28: Iteraciones

Figura 3.29: Iteraciones

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 68


Universidad Nacional de San Cristobal de Huamanga

Figura 3.30: Resultado

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 69


Método de diferencias divididas de
Newton
Interpolación de Lagrange

4 – Interpolación y ajuste de curvas

4.1 Método de diferencias divididas de Newton

Ejemplo 4.1
Determine el polinomio de interpolaci´on de Lagrange para
1
f (x) = en los puntos x0 = 2, x1 = 2,5, x2 = 4
x
y utilícelo para aproximar f(3)

Solución:

Ejemplo 4.2
Hallar el polinomio que pase por todo los puntos dados, por el método de diferencias
divididas de newton.

Solución:

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 70


Universidad Nacional de San Cristobal de Huamanga

Figura 4.1: Cuadro de diferencias divididas

Figura 4.2: Ingres de datos a la HP PRIME

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 71


Universidad Nacional de San Cristobal de Huamanga

4.2 Interpolación de Lagrange

Ejemplo 4.3
Hallar la ecuación que pasa por los siguientes puntos:

Solución:

Figura 4.3: Ingreso de datos

Figura 4.4: Polinomio generado por el programa en HP PRIME

Generamo el siguiente polinomio:

f (x) = 0,00833x4 − 0,133x3 + 0,59167x2 − 0,767x + 0,6

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 72


Universidad Nacional de San Cristobal de Huamanga

Ejemplo 4.4
Evaluando las abscisas en la función obtenemos la siguiente tabla:

x y
2 0.5
2.5 0.4
4 0.25

Solución: Hallando el polinomio que pasa por todo los puntos en la tabla:

Figura 4.5: Ingreso de datos

Figura 4.6: Polinomio generado por el programa en HP PRIME

Por lo tanto la ecuación hallada por el método de lagrange es:

f (x) = 0,05x2 − 0,425x − 1,15

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 73


Cuadratura de Gauss-Legendre
Integración de Romberg

5 – Integración

5.1 Cuadratura de Gauss-Legendre

Ejemplo 5.1
Calcular la siguiente integral:
Z 4
(2x + 1)dx
1

Solución:

Figura 5.1: Ingreso de datos

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 74


Universidad Nacional de San Cristobal de Huamanga

Figura 5.2: Ingreso de datos

Figura 5.3: Tabla de operaciones y resultado

Ejemplo 5.2
Calcular la siguiente integral:
Z 4 x
e
dx
2 x

Solución:

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 75


Universidad Nacional de San Cristobal de Huamanga

Figura 5.4: Ingreso de datos

Figura 5.5: Tabla de operaciones y resultado

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 76


Universidad Nacional de San Cristobal de Huamanga

5.2 Integración de Romberg

Ejemplo 5.3
Resolver la siguiente integral por el método de romberg para 5 nodos.

Z4
x3 dx
2

Solución:

Figura 5.6: Ingreso de datos

Figura 5.7: Ingreso de datos

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 77


Universidad Nacional de San Cristobal de Huamanga

Figura 5.8: Tabla de operaciones y resultado

Ejemplo 5.4
Resolver la siguiente integral por Romberg.
Z 4
(2x + 1)dx
1

Solución:

Figura 5.9: Ingreso de datos

a
a
a
a
a
a
a
a

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 78


Universidad Nacional de San Cristobal de Huamanga

a
a

Figura 5.10: Ingreso de datos

a
a
a
a
a
a
a
a

Figura 5.11: Tabla de operaciones y resultado

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 79


Método de Euler
Método de Runge-Kutta de segundo orden
Método de Runge-Kutta de tercer orden
Método de Runge-Kutta de cuarto orden

6 – Ecuaciones Diferenciales Ordinarias

6.1 Método de Euler

Ejemplo 6.1
Integre numéricamente la ecuación:
dy
= −2x3 + 12x2 + 8,5
dx
desde x=0 hasta x=4 con un tamaño de paso de 0.5. La condición inicial en x=0 es y=1.

Solución:

Figura 6.1: Ingreso de datos con el método de euler

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 80


Universidad Nacional de San Cristobal de Huamanga

Figura 6.2: Iteracines copiadas al excel de la HP PRIME

Figura 6.3: Iteracines copiadas al excel de la HP PRIME

Figura 6.4: Iteracines copiadas al excel de la HP PRIME

Figura 6.5: Solución obtenida con la HP PRIME

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 81


Universidad Nacional de San Cristobal de Huamanga

Ejemplo 6.2
Integre numéricamente la ecuación:
dy
= 4e0,8x − 0,5yx
dx
con un tamaño de paso de h=0.5 . Teniendo y(0) = 2.

Solución:

Figura 6.6: Ingreso de datos con el método de euler

Figura 6.7: Iteracines copiadas al excel de la HP PRIME

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 82


Universidad Nacional de San Cristobal de Huamanga

Figura 6.8: Solución obtenida con la HP PRIME

6.2 Método de Runge-Kutta de segundo orden

Ejemplo 6.3
Integre numéricamente la ecuación:

f (x, y) = −2x3 + 12x2 + 8,5

con un tamaño de paso de 0.5. La condición inicial en x=0 es y=1.

Solución:

Figura 6.9: Ingreso de datos con el método de euler

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 83


Universidad Nacional de San Cristobal de Huamanga

Figura 6.10: Iteracines copiadas al excel de la HP PRIME

Figura 6.11: Solución obtenida con la HP PRIME

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 84


Universidad Nacional de San Cristobal de Huamanga

Ejemplo 6.4
Integre numéricamente la ecuación:
dy
= 4e0,8x − 0,5yx
dx
con un tamaño de paso de h=0.5 . Teniendo y(0) = 2.

Solución:

Figura 6.12: Ingreso de datos con el método de euler

Figura 6.13: Iteracines copiadas al excel de la HP PRIME

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 85


Universidad Nacional de San Cristobal de Huamanga

Figura 6.14: Solución obtenida con la HP PRIME

6.3 Método de Runge-Kutta de tercer orden

Ejemplo 6.5
Integre numéricamente la ecuación:

f (x, y) = −2x3 + 12x2 + 8,5

desde x=0 hasta x=4 con un tamaño de paso de 0.5. La condición inicial en x=0 es y=1.

Solución:

Figura 6.15: ingresamos la función y ejecutamos el programa en la HP-PRIME

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 86


Universidad Nacional de San Cristobal de Huamanga

Figura 6.16: ingresamos los valores iniciales,la cantidad de pasos y el orden

Figura 6.17: cuadro de iteraciones para rungge-kutta tercer orden

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 87


Universidad Nacional de San Cristobal de Huamanga

Figura 6.18: el valor que nos muestra en el CAS de la HP-PRIME

Ejemplo 6.6
Integre numéricamente la ecuación:
dy
= 4e0,8x − 0,5yx
dx
de x=0 a x=4 con un tamaño de paso de h=0.5 . Teniendo y(0) = 2.

Solución:

Figura 6.19: ingresamos la función y ejecutamos el programa en la HP-PRIME

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 88


Universidad Nacional de San Cristobal de Huamanga

Figura 6.20: ingresamos los valores iniciales,la cantidad de pasos y el orden

Figura 6.21: cuadro de iteraciones para rungge-kutta tercer orden

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 89


Universidad Nacional de San Cristobal de Huamanga

Figura 6.22: el valor que nos muestra en el CAS de la HP-PRIME

6.4 Método de Runge-Kutta de cuarto orden

Ejemplo 6.7
Integre numéricamente la ecuación:

f (x, y) = −2x3 + 12x2 + 8,5

desde x=0 hasta x=4 con un tamaño de paso de 0.5. La condición inicial en x=0 es y=1.

Solución:

Figura 6.23: ingresamos la función y ejecutamos el programa en la HP-PRIME

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 90


Universidad Nacional de San Cristobal de Huamanga

Figura 6.24: ingresamos los valores iniciales,la cantidad de pasos y el orden

Figura 6.25: cuadro de iteraciones para rungge-kutta de cuarto orden

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 91


Universidad Nacional de San Cristobal de Huamanga

Figura 6.26: el valor que nos muestra en el CAS de la HP-PRIME

Ejemplo 6.8
Integre numéricamente la ecuación:
dy
= 4e0,8x − 0,5yx
dx
de x=0 a x=4 con un tamaño de paso de h=0.5 . Teniendo y(0) = 2.

Solución:

Figura 6.27: ingresamos la función y ejecutamos el programa en la HP-PRIME

a
a
a

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 92


Universidad Nacional de San Cristobal de Huamanga

Figura 6.28: ingresamos los valores iniciales,la cantidad de pasos y el orden

a
a
a
a
a

a
a
a
a
a
a Figura 6.29: cuadro de iteraciones para rungge-kutta de cuarto orden
a
a
a
a
a
a
a
a
a
a

a
a
a
a

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 93


Universidad Nacional de San Cristobal de Huamanga

Figura 6.30: el valor que nos muestra en el CAS de la HP-PRIME

a
a
a
a
a
a

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 94


Forma simple de Jacoby

7 – Valores y Vectores Propios

7.1 Forma simple de Jacoby

Ejemplo 7.1
Emplee el método de Jacoby para hallar los valores propios y vectores propios

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 95


Universidad Nacional de San Cristobal de Huamanga

Figura 7.1: ejecutando el programa

Figura 7.2: redondeo u numero máximo de ieraciones

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 96


Universidad Nacional de San Cristobal de Huamanga

Figura 7.3: iteracion de la matriz de valores propios

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 97


Universidad Nacional de San Cristobal de Huamanga

Figura 7.4: iteracion de la matiz diagonizadora

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 98


Universidad Nacional de San Cristobal de Huamanga

Figura 7.5:
Escuela Profecional de Ingeniería iteracion de los vectoresMétodos
Civil propios Numéricos (IC-343) 99
Universidad Nacional de San Cristobal de Huamanga

Figura 7.6: resultado final

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 100


ECUACIOLES NO LINEALES
SISTEMAS DE ECUACIOLES NO LI-
NEALES
ECUACIOLES LINEALES
VECTORES VALORES PROPIOS
INTERPOLACION FUNCIONAL
INTEGRACIÓN
EDO
PROGRAMACIÓN LINEAL
PROGRAMAS UTILITARIOS

8 – Programas

8.1 ECUACIOLES NO LINEALES


Programa 8.1 busqueda

1 EXPORT Busqueda ( f )
2 BEGIN
3 LOCAL x ,h ,n , xo ; x := CAS . x ;
4 LOCAL ii , fi , xi , fofi ; LOCAL fo , res , fa ;
5 LOCAL red ;
6 LOCAL ee ; ee := CAS . ee ; ee :=2.718281828459046;
7 INPUT ({ xo ,h , red } ,{" Valor_inicial " ," incremento "}) ;
8 ii :=0; xi := xo ; x := xi ; fo := EVAL ( f ) ;
9 ii := ii +1; xi := xo + ii * h ; x := xi ; fi := EVAL ( f ) ;
10 fofi := fo * fi ;
11

12

13

14 Spreadsheet . Cell (1 ,1) :=" i ";


15 Spreadsheet . Cell (1 ,2) :=" xi ";
16 Spreadsheet . Cell (1 ,3) :=" fi ";
17 Spreadsheet . Cell (1 ,4) :=" fofi ";
18

19 xi := ROUND ( xi , red ) ;
20 fi := ROUND ( fi , red ) ;
21 fofi := ROUND ( fofi , red ) ;
22

23

24 Spreadsheet . Cell (2 ,1) := ii ;


25 Spreadsheet . Cell (2 ,2) := xi ;
26 Spreadsheet . Cell (2 ,3) := fi ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 101


Universidad Nacional de San Cristobal de Huamanga

27 Spreadsheet . Cell (2 ,4) := fofi ;


28

29

30 WHILE fofi >0 DO


31 fa := fi ;
32 ii := ii +1; xi := xo + ii * h ; x := xi ; fi := EVAL ( f ) ;
33 fofi := fo * fi ;
34

35 xi := ROUND ( xi , red ) ;
36 fi := ROUND ( fi , red ) ;
37 fofi := ROUND ( fofi , red ) ;
38

39 Spreadsheet . Cell ( ii +1 ,1) := ii ;


40 Spreadsheet . Cell ( ii +1 ,2) := xi ;
41 Spreadsheet . Cell ( ii +1 ,3) := fi ;
42 Spreadsheet . Cell ( ii +1 ,4) := fofi ;
43 END ;
44 res := xi - h *(( fi ) /( fi - fa ) ) ;
45 RETURN res ;
46

47 END ;

Programa 8.2 Biseccions

1 EXPORT Biseccion ( f )
2 BEGIN
3 LOCAL red ;
4 LOCAL x , xa , xb , xm , xn , fa , fb , fm ; x := CAS . x ;
5 LOCAL res , er , error , fafm , fbfm , ii ;
6 LOCAL err ;
7 LOCAL ee ; ee := CAS . ee ; ee :=2.718281828459046;
8

9 INPUT ({ xa , xb , error , red }) ;


10 x := xa ; fa := EVAL ( f ) ;
11 x := xb ; fb := EVAL ( f ) ;
12 xm :=( xa + xb ) /2; x := xm ; fm := EVAL ( f ) ;
13 fafm := fa * fm ; fbfm := fb * fm ;
14 er :=100;
15 Spreadsheet . Cell (1 ,1) :=" i ";
16 Spreadsheet . Cell (1 ,2) :=" xa ";
17 Spreadsheet . Cell (1 ,3) :=" xb ";
18 Spreadsheet . Cell (1 ,4) :=" fxa ";
19 Spreadsheet . Cell (1 ,5) :=" fxb ";

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 102


Universidad Nacional de San Cristobal de Huamanga

20 Spreadsheet . Cell (1 ,6) :=" xm ";


21 Spreadsheet . Cell (1 ,7) :=" fxm ";
22 Spreadsheet . Cell (1 ,8) :=" Er %";
23 Spreadsheet . Cell (1 ,9) :=" E ’ r %";
24

25 xa := ROUND ( xa , red ) ;
26 xb := ROUND ( xb , red ) ;
27 fa := ROUND ( fa , red ) ;
28 fb := ROUND ( fb , red ) ;
29 xm := ROUND ( xm , red ) ;
30 fm := ROUND ( fm , red ) ;
31 er := ROUND ( er , red ) ;
32

33

34

35 Spreadsheet . Cell (2 ,1) :=1;


36 Spreadsheet . Cell (2 ,2) := xa ;
37 Spreadsheet . Cell (2 ,3) := xb ;
38 Spreadsheet . Cell (2 ,4) := fa ;
39 Spreadsheet . Cell (2 ,5) := fb ;
40 Spreadsheet . Cell (2 ,6) := xm ;
41 Spreadsheet . Cell (2 ,7) := fm ;
42 Spreadsheet . Cell (2 ,8) := er ;
43

44

45

46 IF fafm >0 THEN


47 xa := xm ;
48 ELSE
49 xb := xm ;
50 END ;
51 IF fbfm >0 THEN
52 xb := xm ;
53 ELSE
54 xa := xm ;
55 END ;
56

57

58

59 ii :=3;
60

61

62 WHILE er > error DO


63 xn := xm ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 103


Universidad Nacional de San Cristobal de Huamanga

64 x := xa ; fa := EVAL ( f ) ;
65 x := xb ; fb := EVAL ( f ) ;
66 xm :=( xa + xb ) /2; x := xm ; fm := EVAL ( f ) ;
67 fafm := fa * fm ; fbfm := fb * fm ;
68 er := ABS (( xm - xn ) / xm ) *100;
69

70 xa := ROUND ( xa , red ) ;
71 xb := ROUND ( xb , red ) ;
72 fa := ROUND ( fa , red ) ;
73 fb := ROUND ( fb , red ) ;
74 xm := ROUND ( xm , red ) ;
75 fm := ROUND ( fm , red ) ;
76 er := ROUND ( er , red ) ;
77

78

79 Spreadsheet . Cell ( ii ,1) := ii -1;


80 Spreadsheet . Cell ( ii ,2) := xa ;
81 Spreadsheet . Cell ( ii ,3) := xb ;
82 Spreadsheet . Cell ( ii ,4) := fa ;
83 Spreadsheet . Cell ( ii ,5) := fb ;
84 Spreadsheet . Cell ( ii ,6) := xm ;
85 Spreadsheet . Cell ( ii ,7) := fm ;
86 Spreadsheet . Cell ( ii ,8) := er ;
87

88 IF fafm >0 THEN


89 xa := xm ;
90 ELSE
91 xb := xm ;
92 END ;
93 IF fbfm >0 THEN
94 xb := xm ;
95 ELSE
96 xa := xm ;
97 END ;
98

99

100 ii := ii +1;
101 END ;
102

103

104

105 res := xb -( xb - xa ) *( fb /( fb - fa ) ) ;
106 res := ROUND ( res , red ) ;
107 Spreadsheet . Cell ( ii +1 ,2) :=" Resultado ";

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 104


Universidad Nacional de San Cristobal de Huamanga

108 Spreadsheet . Cell ( ii +1 ,3) := res ;


109

110 END ;

Programa 8.3 Punto Fijo

1 EXPORT PuntoFijo ( f )
2 BEGIN
3 LOCAL xo ,x , er , xi ,? , res , xa ; x := CAS . x ;
4 LOCAL ii ;
5 LOCAL red ;
6 LOCAL ee ; ee := CAS . ee ; ee :=2.718281828459046;
7 INPUT ({ xo , er , red } ,{" Valor Inicial " ," Parametro De Convergencia
"}) ;
8 x := xo ; xi := EVAL ( f ) ;
9 ?:= ABS (( xi - xo ) / xi ) *100;
10 Spreadsheet . Cell (1 ,1) :=" i ";
11 Spreadsheet . Cell (1 ,2) :=" xa ";
12 Spreadsheet . Cell (1 ,3) :=" xm ";
13 Spreadsheet . Cell (1 ,4) :=" Er ";
14

15 xo := ROUND ( xo , red ) ;
16 xi := ROUND ( xi , red ) ;
17 ?:= ROUND (? , red ) ;
18

19 Spreadsheet . Cell (2 ,1) :=1;


20 Spreadsheet . Cell (2 ,2) := xo ;
21 Spreadsheet . Cell (2 ,3) := xi ;
22 Spreadsheet . Cell (2 ,4) :=?;
23 ii :=2;
24

25 WHILE ? > er DO
26 xa := xi ; x := xi ; xi := EVAL ( f ) ;
27 ?:= ABS (( xi - xa ) / xi ) *100;
28 ii := ii +1;
29

30 xa := ROUND ( xa , red ) ;
31 xi := ROUND ( xi , red ) ;
32 ?:= ROUND (? , red ) ;
33

34 Spreadsheet . Cell ( ii ,1) := ii -1;


35 Spreadsheet . Cell ( ii ,2) := xa ;
36 Spreadsheet . Cell ( ii ,3) := xi ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 105


Universidad Nacional de San Cristobal de Huamanga

37 Spreadsheet . Cell ( ii ,4) :=?;


38 END ;
39 res := xi ;
40 Spreadsheet . Cell ( ii +1 ,2) :=" Resultado ";
41 Spreadsheet . Cell ( ii +1 ,3) := res ;
42

43 END ;

Programa 8.4 Regla Falsas

1 EXPORT ReglaFalsa ( f )
2 BEGIN
3 LOCAL red ;
4 LOCAL x , xa , xb , xm , xn , fa , fb , fm ; x := CAS . x ;
5 LOCAL res , er , error , fafm , fbfm , ii ;
6 LOCAL a , b ;
7 LOCAL ee ; ee := CAS . ee ; ee :=2.718281828459046;
8

9 INPUT ({ xa , xb , error , red }) ;


10 x := xa ; fa := EVAL ( f ) ; x := xb ; fb := EVAL ( f ) ;
11 xm := xa -( xb - xa ) *(( fa ) /( fb - fa ) ) ; x := xm ; fm := EVAL ( f ) ;
12 fafm := fa * fm ; fbfm := fb * fm ;
13 er :=100;
14 Spreadsheet . Cell (1 ,1) :=" i ";
15 Spreadsheet . Cell (1 ,2) :=" xa ";
16 Spreadsheet . Cell (1 ,3) :=" xb ";
17 Spreadsheet . Cell (1 ,4) :=" fxa ";
18 Spreadsheet . Cell (1 ,5) :=" fxb ";
19 Spreadsheet . Cell (1 ,6) :=" xin ";
20 Spreadsheet . Cell (1 ,7) :=" fxin ";
21 Spreadsheet . Cell (1 ,8) :=" Er ";
22 xa := ROUND ( xa , red ) ;
23 xb := ROUND ( xb , red ) ;
24 fa := ROUND ( fa , red ) ;
25 fb := ROUND ( fb , red ) ;
26 xm := ROUND ( xm , red ) ;
27 fm := ROUND ( fm , red ) ;
28 er := ROUND ( er , red ) ;
29

30

31 Spreadsheet . Cell (2 ,1) :=1;


32 Spreadsheet . Cell (2 ,2) := xa ;
33 Spreadsheet . Cell (2 ,3) := xb ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 106


Universidad Nacional de San Cristobal de Huamanga

34 Spreadsheet . Cell (2 ,4) := fa ;


35 Spreadsheet . Cell (2 ,5) := fb ;
36 Spreadsheet . Cell (2 ,6) := xm ;
37 Spreadsheet . Cell (2 ,7) := fm ;
38 Spreadsheet . Cell (2 ,8) := er ;
39

40

41 IF fa * fm >0 THEN
42 xa := xm ;
43 ELSE
44 xb := xm ;
45 END ;
46

47 IF fb * fm >0 THEN
48 xb := xm ;
49 ELSE
50 xa := xm ;
51 END ;
52

53

54

55 ii :=3;
56

57

58 WHILE er > error DO


59 xn := xm ;
60 x := xa ; fa := EVAL ( f ) ;
61 x := xb ; fb := EVAL ( f ) ;
62 IF ABS ( fa ) > ABS ( fb ) THEN
63 a := xa ; b := xb ;
64 xa := b ; xb := a ;
65 END ;
66 xm := xa -( xb - xa ) *(( fa ) /( fb - fa ) ) ; x := xm ; fm := EVAL ( f ) ;
67 fafm := fa * fm ; fbfm := fb * fm ;
68 er := ABS (( xm - xn ) / xm ) *100;
69

70

71

72 xa := ROUND ( xa , red ) ;
73 xb := ROUND ( xb , red ) ;
74 fa := ROUND ( fa , red ) ;
75 fb := ROUND ( fb , red ) ;
76 xm := ROUND ( xm , red ) ;
77 fm := ROUND ( fm , red ) ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 107


Universidad Nacional de San Cristobal de Huamanga

78 er := ROUND ( er , red ) ;
79

80 Spreadsheet . Cell ( ii ,1) := ii -1;


81 Spreadsheet . Cell ( ii ,2) := xa ;
82 Spreadsheet . Cell ( ii ,3) := xb ;
83 Spreadsheet . Cell ( ii ,4) := fa ;
84 Spreadsheet . Cell ( ii ,5) := fb ;
85 Spreadsheet . Cell ( ii ,6) := xm ;
86 Spreadsheet . Cell ( ii ,7) := fm ;
87 Spreadsheet . Cell ( ii ,8) := er ;
88 IF fa * fm >0 THEN
89 xa := xm ;
90 ELSE
91 xb := xm ;
92 END ;
93 IF fb * fm >0 THEN
94 xb := xm ;
95 ELSE
96 xa := xm ;
97 END ;
98

99 ii := ii +1;
100 END ;
101

102 res := xm ;
103 res := ROUND ( res , red ) ;
104 Spreadsheet . Cell ( ii +1 ,2) :=" Resultado ";
105 Spreadsheet . Cell ( ii +1 ,3) := res ;
106

107 END ;

Programa 8.5 Secante

1 EXPORT Secante ( f )
2 BEGIN
3 LOCAL red ;
4 LOCAL x , xo , x1 , x2 , x3 ; x := CAS . x ;
5 LOCAL fxo , fx1 , fx2 ,a ,b , er , Er , ii ;
6 LOCAL ee ; ee := CAS . ee ; ee :=2.718281828459046;
7 LOCAL res ;
8 INPUT ({ xo , x1 , Er , red }) ;
9 x := xo ; fxo := EVAL ( f ) ;
10 x := x1 ; fx1 := EVAL ( f ) ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 108


Universidad Nacional de San Cristobal de Huamanga

11

12

13

14 xo := ROUND ( xo , red ) ;
15 x1 := ROUND ( x1 , red ) ;
16 fxo := ROUND ( fxo , red ) ;
17 fx1 := ROUND ( fx1 , red ) ;
18

19

20 Spreadsheet . Cell (2 ,1) :=1;


21 Spreadsheet . Cell (2 ,2) := xo ;
22 Spreadsheet . Cell (2 ,3) := x1 ;
23 Spreadsheet . Cell (2 ,4) := fxo ;
24 Spreadsheet . Cell (2 ,5) := fx1 ;
25

26

27

28 IF ABS ( fxo ) < ABS ( fx1 ) THEN


29 a := xo ; b := x1 ;
30 xo := b ; x1 := a ;
31 END ;
32 x2 := x1 - fx1 *(( xo - x1 ) /( fxo - fx1 ) ) ;
33 x := x2 ; fx2 := EVAL ( f ) ;
34 xo := x1 ; x1 := x2 ;
35 Spreadsheet . Cell (1 ,1) :=" i ";
36 Spreadsheet . Cell (1 ,2) :=" x0 ";
37 Spreadsheet . Cell (1 ,3) :=" x1 ";
38 Spreadsheet . Cell (1 ,4) :=" fxo ";
39 Spreadsheet . Cell (1 ,5) :=" fx1 ";
40 Spreadsheet . Cell (1 ,6) :=" x2 ";
41 Spreadsheet . Cell (1 ,7) :=" fx2 ";
42 Spreadsheet . Cell (1 ,8) :=" Er ";
43

44 x2 := ROUND ( x2 , red ) ;
45 fx2 := ROUND ( fx2 , red ) ;
46 er :=100;
47 er := ROUND ( er , red ) ;
48

49

50 Spreadsheet . Cell (2 ,6) := x2 ;


51 Spreadsheet . Cell (2 ,7) := fx2 ;
52 Spreadsheet . Cell (2 ,8) := er ;
53 ii :=3;
54

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 109


Universidad Nacional de San Cristobal de Huamanga

55 WHILE er > Er DO
56 x := xo ; fxo := EVAL ( f ) ;
57 x := x1 ; fx1 := EVAL ( f ) ;
58

59 xo := ROUND ( xo , red ) ;
60 x1 := ROUND ( x1 , red ) ;
61 fxo := ROUND ( fxo , red ) ;
62 fx1 := ROUND ( fx1 , red ) ;
63

64 Spreadsheet . Cell ( ii ,1) := ii -1;


65 Spreadsheet . Cell ( ii ,2) := xo ;
66 Spreadsheet . Cell ( ii ,3) := x1 ;
67 Spreadsheet . Cell ( ii ,4) := fxo ;
68 Spreadsheet . Cell ( ii ,5) := fx1 ;
69 IF ABS ( fxo ) < ABS ( fx1 ) THEN
70 a := xo ; b := x1 ;
71 xo := b ; x1 := a ;
72 END ;
73 x2 := x1 - fx1 *(( xo - x1 ) /( fxo - fx1 ) ) ;
74 x := x2 ; fx2 := EVAL ( f ) ;
75 xo := x1 ; x1 := x2 ;
76 er := ABS (( x1 - xo ) / x1 ) *100;
77

78 x2 := ROUND ( x2 , red ) ;
79 fx2 := ROUND ( fx2 , red ) ;
80 er := ROUND ( er , red ) ;
81

82 Spreadsheet . Cell ( ii ,6) := x2 ;


83 Spreadsheet . Cell ( ii ,7) := fx2 ;
84 Spreadsheet . Cell ( ii ,8) := er ;
85 ii := ii +1;
86 END ;
87 res := x2 ;
88 Spreadsheet . Cell ( ii ,2) :=" Resultado ";
89 Spreadsheet . Cell ( ii ,3) := res ;
90 END ;
91

92

93 EXPORT Muller ( f )
94 BEGIN
95 LOCAL red ;
96 LOCAL xo , x1 , x2 , x3 , fxo , fx1 , fx2 , fx3 ;
97 LOCAL a ,b ,c ,x , ho , h1 , do , d1 ;
98 LOCAL ?1 ,?2 , er , Er , ii , res ,g , d ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 110


Universidad Nacional de San Cristobal de Huamanga

99 LOCAL ee ; ee := CAS . ee ; ee :=2.718281828459046;


100 x := CAS . x ; d := x ;
101 INPUT ({ xo , x1 , x2 , Er , red }) ;
102 x := xo ; fxo := EVAL ( f ) ;
103 x := x1 ; fx1 := EVAL ( f ) ;
104 x := x2 ; fx2 := EVAL ( f ) ;
105 ho := x1 - xo ; h1 := x2 - x1 ;
106 do :=( fx1 - fxo ) /( ho ) ; d1 :=( fx2 - fx1 ) /( h1 ) ;
107 a :=( d1 - do ) /( h1 + ho ) ; b := a * h1 + d1 ; c := fx2 ;
108 ?1:= ABS ( b +?( b ^2 -4* a * c ) ) ;?2:= ABS (b -?( b ^2 -4* a * c ) ) ;
109 IF ?1 >?2 THEN
110 x3 := x2 -(2* c ) /( b +?( b ^2 -4* a * c ) ) ;
111 ELSE
112 x3 := x2 -(2* c ) /( b -?( b ^2 -4* a * c ) ) ;
113 END ;
114 Spreadsheet . Cell (1 ,1) :=" i ";
115 Spreadsheet . Cell (1 ,2) :=" x0 ";
116 Spreadsheet . Cell (1 ,3) :=" x1 ";
117 Spreadsheet . Cell (1 ,4) :=" x2 ";
118 Spreadsheet . Cell (1 ,5) :=" x3 ";
119 Spreadsheet . Cell (1 ,6) :=" Er ";
120 xo := ROUND ( xo , red ) ;
121 x1 := ROUND ( x1 , red ) ;
122 x2 := ROUND ( x2 , red ) ;
123 x3 := ROUND ( x3 , red ) ;
124

125

126

127 Spreadsheet . Cell (2 ,1) :=1;


128 Spreadsheet . Cell (2 ,2) := xo ;
129 Spreadsheet . Cell (2 ,3) := x1 ;
130 Spreadsheet . Cell (2 ,4) := x2 ;
131 Spreadsheet . Cell (2 ,5) := x3 ;
132 er := ABS (( x3 - x2 ) /( x3 ) ) *100;
133 xo := x1 ; x1 := x2 ; x2 := x3 ;
134 ii :=3; er :=100;
135 er := ROUND ( er , red ) ;
136 Spreadsheet . Cell (2 ,6) := er ;
137

138 WHILE er > Er DO


139 x := xo ; fxo := EVAL ( f ) ;
140 x := x1 ; fx1 := EVAL ( f ) ;
141 x := x2 ; fx2 := EVAL ( f ) ;
142 ho := x1 - xo ; h1 := x2 - x1 ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 111


Universidad Nacional de San Cristobal de Huamanga

143 do :=( fx1 - fxo ) /( ho ) ; d1 :=( fx2 - fx1 ) /( h1 ) ;


144 a :=( d1 - do ) /( h1 + ho ) ; b := a * h1 + do ; c := fx2 ;
145 ?1:= ABS ( b +?( b ^2 -4* a * c ) ) ;?2:= ABS (b -?( b ^2 -4* a * c ) ) ;
146 IF ?1 >?2 THEN
147 x3 := x2 -(2* c ) /( b +?( b ^2 -4* a * c ) ) ;
148 ELSE
149 x3 := x2 -(2* c ) /( b -?( b ^2 -4* a * c ) ) ;
150 END ;
151 xo := ROUND ( xo , red ) ;
152 x1 := ROUND ( x1 , red ) ;
153 x2 := ROUND ( x2 , red ) ;
154 x3 := ROUND ( x3 , red ) ;
155

156 Spreadsheet . Cell ( ii ,1) := ii -1;


157 Spreadsheet . Cell ( ii ,2) := xo ;
158 Spreadsheet . Cell ( ii ,3) := x1 ;
159 Spreadsheet . Cell ( ii ,4) := x2 ;
160 Spreadsheet . Cell ( ii ,5) := x3 ;
161 er := ABS (( x3 - x2 ) /( x3 ) ) *100;
162 er := ROUND ( er , red ) ;
163 Spreadsheet . Cell ( ii ,6) := er ;
164 xo := x1 ; x1 := x2 ; x2 := x3 ;
165 ii := ii +1;
166 END ;
167

168 res := x3 ;
169 d := d - res ;
170 g :={ f , d };
171 g := quo ( g ) + rem ( g ) ;
172 Spreadsheet . Cell ( ii ,2) :=" Resultado ";
173 Spreadsheet . Cell ( ii ,3) := res ;
174 RETURN g ;
175

176 END ;
177

178 EXPORT Baistor ( f )


179 BEGIN
180 LOCAL red ;
181 LOCAL po , qo ,x , p ; x := CAS . x ;
182 LOCAL q1 , r1 , qx1 , r2 , r3 ,? p ,? q , res ;
183 LOCAL a11 , a12 , a21 , a22 , b1 , b2 , ra , rb ;
184 LOCAL ma , Ea , Eb , pa , qa , ii , resul ;
185 LOCAL ee ; ee := CAS . ee ; ee :=2.718281828459046;
186 INPUT ({ po , qo , red }) ; Spreadsheet . Cell (1 ,2) :=1; Spreadsheet . Cell

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 112


Universidad Nacional de San Cristobal de Huamanga

(2 ,2) := po ; Spreadsheet . Cell (3 ,2) := qo ;


187 p := x ^2+ po * x + qo ;
188 q1 := CAS . quo (f ,p , x ) ; r1 := CAS . rem (f ,p , x ) ; qx1 := q1 * x ;
189 r2 := CAS . rem ( qx1 , p ) ; r3 := CAS . rem ( q1 , p ) ;
190

191 r1 := symb2poly ( r1 ) ; r2 := symb2poly ( r2 ) ; r3 := symb2poly ( r3 ) ;


192 a11 :=? r2 (1) ;
193 a12 :=? r3 (1) ;
194 a21 :=? r2 (2) ;
195 a22 :=? r3 (2) ;
196 b1 :=? r1 (1) ;
197 b2 :=? r1 (2) ;
198

199 ma :=[[ a11 , a12 , b1 ] ,[ a21 , a22 , b2 ]];


200 ma := RREF ( ma ) ;
201 ? p := ma (1 ,3) ;
202 ? q := ma (2 ,3) ;
203

204 po := po +? p ; qo := qo +? q ;
205 Ea :=100; Eb :=100; ii :=4;
206

207

208

209 Spreadsheet . Cell (1 ,1) :=" i "; Spreadsheet . Cell (1 ,3) :=2;
210 Spreadsheet . Cell (2 ,1) :=" po "; Spreadsheet . Cell (2 ,3) := po ;
211 Spreadsheet . Cell (3 ,1) :=" qo "; Spreadsheet . Cell (3 ,3) := qo ;
212

213 WHILE Ea >0.000000001 AND Eb >0.00000001 DO


214 pa := po ; qa := qo ;
215 p := x ^2+ po * x + qo ;
216 q1 := CAS . quo (f ,p , x ) ; r1 := CAS . rem (f ,p , x ) ; qx1 := q1 * x ;
217 r2 := CAS . rem ( qx1 , p ) ; r3 := CAS . rem ( q1 , p ) ;
218

219

220 r1 := symb2poly ( r1 ) ; r2 := symb2poly ( r2 ) ; r3 := symb2poly ( r3 ) ;


221 a11 :=? r2 (1) ; a12 :=? r3 (1) ;
222 a21 :=? r2 (2) ; a22 :=? r3 (2) ;
223 b1 :=? r1 (1) ; b2 :=? r1 (2) ;
224 ma :=[[ a11 , a12 , b1 ] ,[ a21 , a22 , b2 ]]; ma := RREF ( ma ) ;
225 ? p := ma (1 ,3) ;? q := ma (2 ,3) ;
226 po := po +? p ; qo := qo +? q ;
227

228 Ea := ABS ( po - pa ) ; Eb := ABS ( qo - qa ) ;


229

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 113


Universidad Nacional de San Cristobal de Huamanga

230

231

232

233 Spreadsheet . Cell (1 , ii ) := ii -1;


234 Spreadsheet . Cell (2 , ii ) := po ;
235 Spreadsheet . Cell (3 , ii ) := qo ;
236 ii := ii +1;
237

238 END ;
239

240 resul := x ^2+ po * x + qo ; res := CAS . quo (f , resul ) ;


241 res :={ resul , res };
242 Spreadsheet . Cell (4 ,1) :=" f "; Spreadsheet . Cell (4 ,2) := res (1) * res (2)
;
243 Spreadsheet . Cell (5 ,1) :=" g "; Spreadsheet . Cell (5 ,2) := resul ;
244 Spreadsheet . Cell (6 ,1) :=" fr "; Spreadsheet . Cell (6 ,2) := res (2) ;
245

246 STARTAPP (" Spreadsheet ") ;


247 RETURN res ;
248

249 END ;

Programa 8.6 Newton Raphson

1 EXPORT NewtonRaphson ( g )
2 BEGIN
3 LOCAL red ;
4 LOCAL x , xo , dgi , gi , xi , xa , dg ;
5 LOCAL er , Er , ii , res ; x := CAS . x ;
6 LOCAL ee ; ee := CAS . ee ;
7 INPUT ({ xo , Er , red }) ;
8 ee :=2.71828182846;
9 dg := diff (g , x ) ;
10 xa := xo ; x := xa ; gi := EVAL ( g ) ; dgi := EVAL ( dg ) ;
11 xi := xa -( gi ) /( dgi ) ;
12 er :=100;
13 ii :=3;
14 Spreadsheet . Cell (1 ,1) :=" i ";
15 Spreadsheet . Cell (1 ,2) :=" xo ";
16 Spreadsheet . Cell (1 ,3) :=" fxo ";
17 Spreadsheet . Cell (1 ,4) :=" f ’ xo ";
18 Spreadsheet . Cell (1 ,5) :=" xi ";
19 Spreadsheet . Cell (1 ,6) :=" Er ";

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 114


Universidad Nacional de San Cristobal de Huamanga

20

21 xa := ROUND ( xa , red ) ;
22 gi := ROUND ( gi , red ) ;
23 dgi := ROUND ( dgi , red ) ;
24 xi := ROUND ( xi , red ) ;
25 er := ROUND ( er , red ) ;
26

27

28 Spreadsheet . Cell (2 ,1) :=1;


29 Spreadsheet . Cell (2 ,2) := xa ;
30 Spreadsheet . Cell (2 ,3) := gi ;
31 Spreadsheet . Cell (2 ,4) := dgi ;
32 Spreadsheet . Cell (2 ,5) := xi ;
33 Spreadsheet . Cell (2 ,6) := er ;
34

35 WHILE er > Er DO
36 xa := xi ; x := xa ; gi := EVAL ( g ) ; dgi := EVAL ( dg ) ;
37 xi := xa - gi /( dgi ) ;
38 er := ABS (( xi - xa ) /( xi ) ) ;
39

40

41 xa := ROUND ( xa , red ) ;
42 gi := ROUND ( gi , red ) ;
43 dgi := ROUND ( dgi , red ) ;
44 xi := ROUND ( xi , red ) ;
45 er := ROUND ( er , red ) ;
46

47 Spreadsheet . Cell ( ii ,1) := ii -1;


48 Spreadsheet . Cell ( ii ,2) := xa ;
49 Spreadsheet . Cell ( ii ,3) := gi ;
50 Spreadsheet . Cell ( ii ,4) := dgi ;
51 Spreadsheet . Cell ( ii ,5) := xi ;
52 Spreadsheet . Cell ( ii ,6) := er ;
53

54 ii := ii +1;
55 END ;
56 res := xi ;
57 res := ROUND ( res , red ) ;
58 Spreadsheet . Cell ( ii +1 ,2) :=" Resultado ";
59 Spreadsheet . Cell ( ii +1 ,3) := res ;
60 END ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 115


Universidad Nacional de San Cristobal de Huamanga

Programa 8.7 Laguerre

1 EXPORT Laguerre ( f )
2 BEGIN
3 LOCAL red ;
4 LOCAL x , xo , df , ddf ; x := CAS . x ;
5 LOCAL fxo , dfxo , ddfxo , Hx , Hxo ,n , as ;
6 LOCAL xi , xa , res , Err , Er , ii ;
7 LOCAL ee ; ee := CAS . ee ; ee :=2.718281828459046;
8 INPUT ({ xo , red }) ;
9 xa := xo ;
10 n := symb2poly ( f ) ; n := CAS . SIZE ( n ) ; n := n -1;
11 df := diff (f ,x ,1) ;
12 ddf := CAS . diff (f ,x ,2) ;
13 Hx :=(( n -1) ^2) *( df ^2) -n *( n -1) * f * ddf ;
14 x := xo ; fxo := EVAL ( f ) ; dfxo := EVAL ( df ) ; ddfxo := EVAL ( ddf ) ; Hxo := EVAL ( Hx
);
15 as := SIGN ( dfxo ) ;
16 xi := xa -( n * fxo ) /( dfxo + as *?( Hxo ) ) ;
17 Err := ABS ( xi - xa ) ;
18 ii :=3;
19

20

21

22 Spreadsheet . Cell (1 ,1) :=" i ";


23 Spreadsheet . Cell (1 ,2) :=1;
24 Spreadsheet . Cell (2 ,1) :=" xi ";
25 Spreadsheet . Cell (2 ,2) := xi ;
26

27 WHILE Err >0.0000001 DO


28 xa := xi ;
29 x := xa ; fxo := EVAL ( f ) ; dfxo := EVAL ( df ) ; ddfxo := EVAL ( ddf ) ; Hxo := EVAL ( Hx
);
30 as := SIGN ( dfxo ) ;
31 xi := xa -( n * fxo ) /( dfxo + as *?( Hxo ) ) ;
32 Err := ABS ( xi - xa ) ;
33

34 Spreadsheet . Cell (1 , ii ) := ii -1;


35 Spreadsheet . Cell (2 , ii ) := xi ;
36 ii := ii +1;
37 END ;
38 RETURN xi ;
39

40 END ;
41

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 116


Universidad Nacional de San Cristobal de Huamanga

42 EXPORT LaguirreMultiple ( f )
43 BEGIN
44 LOCAL xo ,n , ri , nn ,x ,g , de ; x := CAS . x ;
45 nn := symb2poly ( f ) ; n := CAS . SIZE ( nn ) ; n := n -1;
46 xo :=77;
47 ri :={};
48 g := f ;
49 FOR I FROM 1 TO n DO
50

51 ri ( I ) := ROUND ( Laguerre ( g ) ,6) ;


52 de := x - ri ( I ) ;
53 Spreadsheet . Cell (3 , I ) := g ;
54 Spreadsheet . Cell (4 , I ) := ri ( I ) ;
55 g := CAS . quo (g , de ) + CAS . rem (g , de ) ;
56 Spreadsheet . Cell (5 , I ) := g ;
57

58 END ;
59 END ;
60

61 EXPORT BaistorMultiple ( f )
62 BEGIN
63 STARTAPP (" Spreadsheet ") ;
64 LOCAL ri , fi ,n , nn , ai ,g , x ; x := CAS . x ;
65 n := symb2poly ( f ) ; n := CAS . SIZE ( n ) ; n := n -1;
66 nn := n MOD 2;
67 IF nn ==0 THEN
68 n := FLOOR ( n /2) -1;
69 ELSE
70 n := FLOOR ( n /2) ;
71 END ;
72 g := f ;
73 FOR I FROM 1 TO n DO
74 ai := Baistor ( g ) ;
75 ri := ai (1) ;
76 fi := ai (2) ;
77 Spreadsheet . Cell (7 , I ) := ROUND ( POLYROOT ( ri , x ) ,9) ;
78 Spreadsheet . Cell (8 , I ) := ri ;
79 Spreadsheet . Cell (9 , I ) := fi ;
80 g := fi ;
81 END ;
82 END ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 117


Universidad Nacional de San Cristobal de Huamanga

Programa 8.8 Baistor

2 EXPORT Baistor ( f )
3 BEGIN
4 LOCAL red ;
5 LOCAL po , qo ,x , p ; x := CAS . x ;
6 LOCAL q1 , r1 , qx1 , r2 , r3 ,? p ,? q , res ;
7 LOCAL a11 , a12 , a21 , a22 , b1 , b2 , ra , rb ;
8 LOCAL ma , Ea , Eb , pa , qa , ii , resul ;
9 LOCAL ee ; ee := CAS . ee ; ee :=2.718281828459046;
10 INPUT ({ po , qo , red }) ; Spreadsheet . Cell (1 ,2) :=1; Spreadsheet . Cell
(2 ,2) := po ; Spreadsheet . Cell (3 ,2) := qo ;
11 p := x ^2+ po * x + qo ;
12 q1 := CAS . quo (f ,p , x ) ; r1 := CAS . rem (f ,p , x ) ; qx1 := q1 * x ;
13 r2 := CAS . rem ( qx1 , p ) ; r3 := CAS . rem ( q1 , p ) ;
14

15 r1 := symb2poly ( r1 ) ; r2 := symb2poly ( r2 ) ; r3 := symb2poly ( r3 ) ;


16 a11 :=? r2 (1) ;
17 a12 :=? r3 (1) ;
18 a21 :=? r2 (2) ;
19 a22 :=? r3 (2) ;
20 b1 :=? r1 (1) ;
21 b2 :=? r1 (2) ;
22

23 ma :=[[ a11 , a12 , b1 ] ,[ a21 , a22 , b2 ]];


24 ma := RREF ( ma ) ;
25 ? p := ma (1 ,3) ;
26 ? q := ma (2 ,3) ;
27

28 po := po +? p ; qo := qo +? q ;
29 Ea :=100; Eb :=100; ii :=4;
30

31

32

33 Spreadsheet . Cell (1 ,1) :=" i "; Spreadsheet . Cell (1 ,3) :=2;


34 Spreadsheet . Cell (2 ,1) :=" po "; Spreadsheet . Cell (2 ,3) := po ;
35 Spreadsheet . Cell (3 ,1) :=" qo "; Spreadsheet . Cell (3 ,3) := qo ;
36

37 WHILE Ea >0.000000001 AND Eb >0.00000001 DO


38 pa := po ; qa := qo ;
39 p := x ^2+ po * x + qo ;
40 q1 := CAS . quo (f ,p , x ) ; r1 := CAS . rem (f ,p , x ) ; qx1 := q1 * x ;
41 r2 := CAS . rem ( qx1 , p ) ; r3 := CAS . rem ( q1 , p ) ;
42

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 118


Universidad Nacional de San Cristobal de Huamanga

43

44 r1 := symb2poly ( r1 ) ; r2 := symb2poly ( r2 ) ; r3 := symb2poly ( r3 ) ;


45 a11 :=? r2 (1) ; a12 :=? r3 (1) ;
46 a21 :=? r2 (2) ; a22 :=? r3 (2) ;
47 b1 :=? r1 (1) ; b2 :=? r1 (2) ;
48 ma :=[[ a11 , a12 , b1 ] ,[ a21 , a22 , b2 ]]; ma := RREF ( ma ) ;
49 ? p := ma (1 ,3) ;? q := ma (2 ,3) ;
50 po := po +? p ; qo := qo +? q ;
51

52 Ea := ABS ( po - pa ) ; Eb := ABS ( qo - qa ) ;
53

54

55

56

57 Spreadsheet . Cell (1 , ii ) := ii -1;


58 Spreadsheet . Cell (2 , ii ) := po ;
59 Spreadsheet . Cell (3 , ii ) := qo ;
60 ii := ii +1;
61

62 END ;
63

64 resul := x ^2+ po * x + qo ; res := CAS . quo (f , resul ) ;


65 res :={ resul , res };
66 Spreadsheet . Cell (4 ,1) :=" f "; Spreadsheet . Cell (4 ,2) := res (1) * res (2)
;
67 Spreadsheet . Cell (5 ,1) :=" g "; Spreadsheet . Cell (5 ,2) := resul ;
68 Spreadsheet . Cell (6 ,1) :=" fr "; Spreadsheet . Cell (6 ,2) := res (2) ;
69

70 STARTAPP (" Spreadsheet ") ;


71 RETURN res ;
72

73 END ;

8.2 SISTEMAS DE ECUACIOLES NO LINEALES

Programa 8.9 Jacoby

1 EXPORT Jacoby ( f )
2 BEGIN
3 STARTAPP (" Function ") ;
4 LOCAL ee ; ee := CAS . ee ; ee :=2.718281828459046;
5 LOCAL x1 , x2 , x3 , x4 , x5 , x6 ; x1 := CAS . x1 ; x2 := CAS . x2 ; x3 := CAS . x3 ; x4 :=

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 119


Universidad Nacional de San Cristobal de Huamanga

CAS . x4 ; x5 := CAS . x5 ; x6 := CAS . x6 ;


6 LOCAL f1 , f2 , f3 , f4 , f5 , f6 ;
7 LOCAL xo , xi , xa , Er , Itemax , er , ii ;
8 LOCAL n ;
9 LOCAL red ;
10 n := CAS . SIZE ( f ) ;
11 xo := randMat ( n ) *0;
12 INPUT ({ Er , Itemax , red } ," Error -# maxDeIteracion ") ;
13 EDITMAT ( xo ," xo ") ;
14 xo := MatrizAvector ( xo ) ;
15 CASE
16 IF n ==2 THEN x1 := xo (1) ; x2 := xo (2) END ;
17 IF n ==3 THEN x1 := xo (1) ; x2 := xo (2) ; x3 := xo (3) ; END ;
18 IF n ==4 THEN x1 := xo (1) ; x2 := xo (2) ; x3 := xo (3) ; x4 := xo (4) ; END ;
19 IF n ==5 THEN x1 := xo (1) ; x2 := xo (2) ; x3 := xo (3) ; x4 := xo (4) ; x5 := xo (5)
; END ;
20 IF n ==6 THEN x1 := xo (1) ; x2 := xo (2) ; x3 := xo (3) ; x4 := xo (4) ; x5 := xo (5)
; x6 := xo (6) ; END ;
21 END ;
22 xi := EVAL ( f ) ;
23 er := ABS ( CAS . l2norm ( xi - xo ) ) ;
24

25 xi := ROUND ( xi , red ) ;
26 er := ROUND ( er , red ) ;
27

28 Spreadsheet . Cell (1 ,1) :=" i "; Spreadsheet . Cell (1 ,2) :=" xa ";
Spreadsheet . Cell (1 ,3) :=" xi "; Spreadsheet . Cell (1 ,4) :=" Er ";
29 Spreadsheet . Cell (2 ,1) :=1; Spreadsheet . Cell (2 ,2) := xo ; Spreadsheet .
Cell (2 ,3) := xi ; Spreadsheet . Cell (2 ,4) := er ;
30 ii :=3;
31 WHILE er > Er AND ii < Itemax DO
32 xa := xi ;
33 CASE
34 IF n ==2 THEN x1 := xa (1) ; x2 := xa (2) END ;
35 IF n ==3 THEN x1 := xa (1) ; x2 := xa (2) ; x3 := xa (3) ; END ;
36 IF n ==4 THEN x1 := xa (1) ; x2 := xa (2) ; x3 := xa (3) ; x4 := xa (4) ; END ;
37 IF n ==5 THEN x1 := xa (1) ; x2 := xa (2) ; x3 := xa (3) ; x4 := xa (4) ; x5 := xa (5)
; END ;
38 IF n ==6 THEN x1 := xa (1) ; x2 := xa (2) ; x3 := xa (3) ; x4 := xa (4) ; x5 := xa (5)
; x6 := xa (6) ; END ;
39 END ;
40 xi := EVAL ( f ) ;
41 er := ABS ( CAS . l2norm ( xi - xa ) ) ;
42

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 120


Universidad Nacional de San Cristobal de Huamanga

43 xi := ROUND ( xi , red ) ;
44 er := ROUND ( er , red ) ;
45

46 Spreadsheet . Cell ( ii ,1) := ii -1; Spreadsheet . Cell ( ii ,2) := xa ;


Spreadsheet . Cell ( ii ,3) := xi ; Spreadsheet . Cell ( ii ,4) := er ;
47 ii := ii +1;
48 END ;
49 STARTAPP (" Spreadsheet ") ;
50 RETURN xi ;
51 END ;

Programa 8.10 Gauss-Seindel

1 EXPORT GaussSeindel ( f )
2 BEGIN
3 STARTAPP (" Function ") ;
4 LOCAL ee ; ee := CAS . ee ; ee :=2.718281828459046;
5 LOCAL x1 , x2 , x3 , x4 , x5 , x6 ; x1 := CAS . x1 ; x2 := CAS . x2 ; x3 := CAS . x3 ; x4 :=
CAS . x4 ; x5 := CAS . x5 ; x6 := CAS . x6 ;
6 LOCAL f1 , f2 , f3 , f4 , f5 , f6 ;
7 LOCAL xo , xi , xa , Er , Itemax , er , ii ;
8 LOCAL n ;
9 LOCAL red ;
10 n := CAS . SIZE ( f ) ;
11 xo := randMat ( n ) *0;
12 INPUT ({ Er , Itemax , red } ," Error -# maxDeIteracion ") ;
13 EDITMAT ( xo ," xo ") ;
14 xo := MatrizAvector ( xo ) ;
15 xa := xo ;
16 xi :={};
17 CASE
18 IF n ==2 THEN
19 x1 := xa (1) ; x2 := xa (2) ;
20 xi (1) := EVAL ( f (1) ) ;
21 x1 := xi (1) ; x2 := xa (2) ;
22 xi (2) := EVAL ( f (2) ) ;
23 END ;
24 IF n ==3 THEN
25 x1 := xa (1) ; x2 := xa (2) ; x3 := xa (3) ;
26 xi (1) := EVAL ( f (1) ) ;
27 x1 := xi (1) ; x2 := xa (2) ; x3 := xa (3) ;
28 xi (2) := EVAL ( f (2) ) ;
29 x1 := xi (1) ; x2 := xi (2) ; x3 := xa (3) ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 121


Universidad Nacional de San Cristobal de Huamanga

30 xi (3) := EVAL ( f (3) ) ;


31 END ;
32 IF n ==4 THEN
33 x1 := xa (1) ; x2 := xa (2) ; x3 := xa (3) ; x4 := xa (4) ;
34 xi (1) := EVAL ( f (1) ) ;
35 x1 := xi (1) ; x2 := xa (2) ; x3 := xa (3) ; x4 := xa (4) ;
36 xi (2) := EVAL ( f (2) ) ;
37 x1 := xi (1) ; x2 := xi (2) ; x3 := xa (3) ; x4 := xa (4) ;
38 xi (3) := EVAL ( f (3) ) ;
39 x1 := xi (1) ; x2 := xi (2) ; x3 := xi (3) ; x4 := xa (4) ;
40 xi (4) := EVAL ( f (4) ) ;
41

42 END ;
43 IF n ==5 THEN
44 x1 := xa (1) ; x2 := xa (2) ; x3 := xa (3) ; x4 := xa (4) ; x5 := xa (5) ;
45 xi (1) := EVAL ( f (1) ) ;
46 x1 := xi (1) ; x2 := xa (2) ; x3 := xa (3) ; x4 := xa (4) ; x5 := xa (5) ;
47 xi (2) := EVAL ( f (2) ) ;
48 x1 := xi (1) ; x2 := xi (2) ; x3 := xa (3) ; x4 := xa (4) ; x5 := xa (5) ;
49 xi (3) := EVAL ( f (3) ) ;
50 x1 := xi (1) ; x2 := xi (2) ; x3 := xi (3) ; x4 := xa (4) ; x5 := xa (5) ;
51 xi (4) := EVAL ( f (4) ) ;
52 x1 := xi (1) ; x2 := xi (2) ; x3 := xi (3) ; x4 := xi (4) ; x5 := xa (5) ;
53 xi (5) := EVAL ( f (5) ) ;
54 END ;
55 IF n ==6 THEN
56 x1 := xa (1) ; x2 := xa (2) ; x3 := xa (3) ; x4 := xa (4) ; x5 := xa (5) ; x6 := xa (6) ;
57 xi (1) := EVAL ( f (1) ) ;
58 x1 := xi (1) ; x2 := xa (2) ; x3 := xa (3) ; x4 := xa (4) ; x5 := xa (5) ; x6 := xa (6) ;
59 xi (2) := EVAL ( f (2) ) ;
60 x1 := xi (1) ; x2 := xi (2) ; x3 := xa (3) ; x4 := xa (4) ; x5 := xa (5) ; x6 := xa (6) ;
61 xi (3) := EVAL ( f (3) ) ;
62 x1 := xi (1) ; x2 := xi (2) ; x3 := xi (3) ; x4 := xa (4) ; x5 := xa (5) ; x6 := xa (6) ;
63 xi (4) := EVAL ( f (4) ) ;
64 x1 := xi (1) ; x2 := xi (2) ; x3 := xi (3) ; x4 := xi (4) ; x5 := xa (5) ; x6 := xa (6) ;
65 xi (5) := EVAL ( f (5) ) ;
66 x1 := xi (1) ; x2 := xi (2) ; x3 := xi (3) ; x4 := xi (4) ; x5 := xi (5) ; x6 := xa (6) ;
67 xi (6) := EVAL ( f (6) ) ;
68 END ;
69 END ;
70

71 er := ABS ( CAS . l2norm ( xi - xa ) ) ;


72

73

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 122


Universidad Nacional de San Cristobal de Huamanga

74 xi := ROUND ( xi , red ) ;
75 er := ROUND ( er , red ) ;
76

77 Spreadsheet . Cell (1 ,1) :=" i "; Spreadsheet . Cell (1 ,2) :=" xa ";
Spreadsheet . Cell (1 ,3) :=" xi "; Spreadsheet . Cell (1 ,4) :=" Er ";
78 Spreadsheet . Cell (2 ,1) :=1; Spreadsheet . Cell (2 ,2) := xo ;
Spreadsheet . Cell (2 ,3) := xi ; Spreadsheet . Cell (2 ,4) := er ;
79 ii :=3;
80 WHILE er > Er AND ii < Itemax DO
81 xa := xi ;
82 CASE
83 IF n ==2 THEN
84 x1 := xa (1) ; x2 := xa (2) ;
85 xi (1) := EVAL ( f (1) ) ;
86 x1 := xi (1) ; x2 := xa (2) ;
87 xi (2) := EVAL ( f (2) ) ;
88 END ;
89 IF n ==3 THEN
90 x1 := xa (1) ; x2 := xa (2) ; x3 := xa (3) ;
91 xi (1) := EVAL ( f ) ;
92 x1 := xi (1) ; x2 := xa (2) ; x3 := xa (3) ;
93 xi (2) := EVAL ( f ) ;
94 x1 := xi (1) ; x2 := xi (2) ; x3 := xa (3) ;
95 xi (3) := EVAL ( f ) ;
96 END ;
97 IF n ==4 THEN
98 x1 := xa (1) ; x2 := xa (2) ; x3 := xa (3) ; x4 := xa (4) ;
99 xi (1) := EVAL ( f ) ;
100 x1 := xi (1) ; x2 := xa (2) ; x3 := xa (3) ; x4 := xa (4) ;
101 xi (2) := EVAL ( f ) ;
102 x1 := xi (1) ; x2 := xi (2) ; x3 := xa (3) ; x4 := xa (4) ;
103 xi (3) := EVAL ( f ) ;
104 x1 := xi (1) ; x2 := xi (2) ; x3 := xi (3) ; x4 := xa (4) ;
105 xi (4) := EVAL ( f ) ;
106

107 END ;
108 IF n ==5 THEN
109 x1 := xa (1) ; x2 := xa (2) ; x3 := xa (3) ; x4 := xa (4) ; x5 := xa (5) ;
110 xi (1) := EVAL ( f ) ;
111 x1 := xi (1) ; x2 := xa (2) ; x3 := xa (3) ; x4 := xa (4) ; x5 := xa (5) ;
112 xi (2) := EVAL ( f ) ;
113 x1 := xi (1) ; x2 := xi (2) ; x3 := xa (3) ; x4 := xa (4) ; x5 := xa (5) ;
114 xi (3) := EVAL ( f ) ;
115 x1 := xi (1) ; x2 := xi (2) ; x3 := xi (3) ; x4 := xa (4) ; x5 := xa (5) ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 123


Universidad Nacional de San Cristobal de Huamanga

116 xi (4) := EVAL ( f ) ;


117 x1 := xi (1) ; x2 := xi (2) ; x3 := xi (3) ; x4 := xi (4) ; x5 := xa (5) ;
118 xi (5) := EVAL ( f ) ;
119 END ;
120 IF n ==6 THEN
121 x1 := xa (1) ; x2 := xa (2) ; x3 := xa (3) ; x4 := xa (4) ; x5 := xa (5) ; x6 := xa (6) ;
122 xi (1) := EVAL ( f ) ;
123 x1 := xi (1) ; x2 := xa (2) ; x3 := xa (3) ; x4 := xa (4) ; x5 := xa (5) ; x6 := xa (6) ;
124 xi (2) := EVAL ( f ) ;
125 x1 := xi (1) ; x2 := xi (2) ; x3 := xa (3) ; x4 := xa (4) ; x5 := xa (5) ; x6 := xa (6) ;
126 xi (3) := EVAL ( f ) ;
127 x1 := xi (1) ; x2 := xi (2) ; x3 := xi (3) ; x4 := xa (4) ; x5 := xa (5) ; x6 := xa (6) ;
128 xi (4) := EVAL ( f ) ;
129 x1 := xi (1) ; x2 := xi (2) ; x3 := xi (3) ; x4 := xi (4) ; x5 := xa (5) ; x6 := xa (6) ;
130 xi (5) := EVAL ( f ) ;
131 x1 := xi (1) ; x2 := xi (2) ; x3 := xi (3) ; x4 := xi (4) ; x5 := xi (5) ; x6 := xa (6) ;
132 xi (6) := EVAL ( f ) ;
133 END ;
134 END ;
135 er := ABS ( CAS . l2norm ( xi - xa ) ) ;
136 xi := ROUND ( xi , red ) ;
137 er := ROUND ( er , red ) ;
138 Spreadsheet . Cell ( ii ,1) := ii -1; Spreadsheet . Cell ( ii ,2) := xa ;
Spreadsheet . Cell ( ii ,3) := xi ; Spreadsheet . Cell ( ii ,4) := er ;
139 ii := ii +1;
140 END ;
141 STARTAPP (" Spreadsheet ") ;
142 RETURN xi ;
143 END ;

8.3 ECUACIOLES LINEALES

Programa 8.11 Eliminacion Gaussiana

1 EXPORT EliGausiana ( a )
2 BEGIN
3 LOCAL ee ; ee := CAS . ee ; ee :=2.718281828459046;
4 LOCAL n ,f ,c ,r , ab ,b , res , ra ; LOCAL rab , h ; LOCAL red , cal ;
5 LOCAL k ,p ,q ,m ,x , s ;
6 n := CAS . SIZE ( a ) ; f := n (1) ; c := n (2) ; c := c -1; b := a ; ab := DELCOL (b , c ) ; ra :=
CAS . RANK ( a ) ; rab := RANK ( ab ) ;
7 INPUT ( red ) ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 124


Universidad Nacional de San Cristobal de Huamanga

8 Spreadsheet . Cell (1 ,1) :=" i ";


9 Spreadsheet . Cell (1 ,3) :=" xi ";
10 FOR I FROM 1 TO f -1 DO
11 FOR J FROM I +1 TO f DO
12 p := a (J , I ) ;
13 q := a (I , I ) ;
14 a ( J ) := a ( J ) -( p / q ) * a ( I ) ; cal := a ( J ) ; cal := ROUND ( cal , red ) ; a ( J ) := cal ;
15 Spreadsheet . Cell ( I +1 ,1) := I ;
16 Spreadsheet . Cell ( I +1 ,2) := ROUND (a ,8) ;
17 END ; END ;
18 x :={}; x ( f ) := a (f , c +1) / a (f , c ) ; s :=0;
19

20 FOR I FROM f -1 DOWNTO 1 STEP 1 DO


21 FOR J FROM f DOWNTO I +1 STEP 1 DO
22 s := s + a (I , J ) * x ( J ) ;
23 END ;
24 x ( I ) :=( a (I , c +1) -s ) / a (I , I ) ; s :=0; cal := x ( I ) ; cal := ROUND ( cal , red ) ; x (
I ) := cal ;
25 Spreadsheet . Cell ( I +1 ,3) :=" x "+ I ;
26 Spreadsheet . Cell ( I +1 ,4) := x ( I ) ;
27 END ;
28 res := x ;
29

30 RETURN res ;
31 END ;

Programa 8.12 Gauss Jordan

1 EXPORT GausJordan ( a )
2 BEGIN
3 LOCAL n ,f ,c ,k ,m ,p , q ;
4 LOCAL ee ; ee := CAS . ee ; ee :=2.718281828459046;
5 LOCAL red , cal ;
6 n := CAS . SIZE ( a ) ; f := n (1) ; c := n (2) ;
7 INPUT ( red ) ;
8

9 FOR k FROM 1 TO f DO
10 I := k ;
11 FOR I FROM k TO f DO
12 FOR J FROM I +1 TO f DO
13 p := a (J , I ) ;
14 q := a (I , I ) ;
15 a ( J ) := a ( J ) -( p / q ) * a ( I ) ; cal := a ( J ) ; cal := ROUND ( cal , red ) ; a ( J ) := cal ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 125


Universidad Nacional de San Cristobal de Huamanga

16 END ;
17 IF I ?1 THEN
18 FOR K FROM 1 TO I -1 DO
19 p := a (K , I ) ;
20 q := a (I , I ) ;
21 a ( K ) := a ( K ) -( p / q ) * a ( I ) ; cal := a ( K ) ; cal := ROUND ( cal , red ) ; a ( K ) := cal ;
22 END ;
23 Spreadsheet . Cell ( I +1 ,1) := I ;
24 Spreadsheet . Cell ( I +1 ,2) := ROUND (a ,8) ;
25 END ;
26

27 END ;
28 FOR I FROM 1 TO f DO
29 a ( I ) := a ( I ) / a (I , I ) ; cal := a ( I ) ; cal := ROUND ( cal , red ) ; a ( I ) := cal ;
30 Spreadsheet . Cell ( I +1 ,3) := I ; Spreadsheet . Cell ( I +1 ,4) := ROUND (a ,8) ;
Spreadsheet . Cell ( I +1 ,5) :=" x "+ I ; Spreadsheet . Cell ( I +1 ,6) := a (I ,
f +1) ;
31 END ;
32 RETURN a ;
33 END ;
34

35 END ;

Programa 8.13 LU DolitLe

1 EXPORT LUdolitLe ( a )
2 BEGIN
3 LOCAL red ;
4 LOCAL n ,l ,u ,s , res ,f , c ;
5 n := CAS . SIZE ( a ) ; f := n (1) ; c := n (2) ;
6 l := a *0; u := a *0;
7 FOR J FROM 1 TO c DO
8 FOR I FROM 1 TO f DO
9 IF I ? J THEN
10 u (I , J ) := a (I , J ) ;
11 FOR K FROM 1 TO I -1 DO
12 u (I , J ) := u (I , J ) -l (I , K ) * u (K , J ) ;
13 END ;
14 END ;
15 IF J ? I THEN
16 l (I , J ) := a (I , J ) ;
17 FOR K FROM 1 TO J -1 DO
18 l (I , J ) := l (I , J ) -l (I , K ) * u (K , J ) ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 126


Universidad Nacional de San Cristobal de Huamanga

19 END ;
20 l (I , J ) := l (I , J ) / u (J , J ) ;
21 END ;
22 END ;
23 END ;
24 res :={ l , u };
25 RETURN res ;
26 END ;

Programa 8.14 Jacobi

1 EXPORT Jacobii (a , b )
2 BEGIN
3 STARTAPP (" Function ") ;
4 LOCAL xi1 , xi2 , xi3 , xi4 , xi5 , xi6 , xi7 , xi8 ;
5 LOCAL xa1 , xa2 , xa3 , xa4 , xa5 , xa6 , xa7 , xa8 ;
6 LOCAL g1 , g2 , g3 , g4 , g5 , g6 , g7 , g8 ;
7 LOCAL gi1 , gi2 , gi3 , gi4 , gi5 , gi6 , gi7 , gi8 ;
8 LOCAL xo , xi , xa ,x , ii , res ;
9 LOCAL x1 , x2 , x3 , x4 , x5 , x6 , x7 , x8 ; x1 := CAS . x1 ; x2 := CAS . x2 ; x3 := CAS . x3 ;
x4 := CAS . x4 ; x5 := CAS . x5 ; x6 := CAS . x6 ; x7 := CAS . x7 ; x8 := CAS . x8 ;
10 LOCAL n , Er , maxiter , er , ea ;
11 LOCAL red ;
12

13 n := CAS . SIZE ( a ) ; n := n (1) ;


14

15 CASE
16 IF n ==2 THEN
17 INPUT ({ Er , maxiter , red }) ;
18 xo := randMat (n ,1) *0;
19 EDITMAT ( xo ) ;
20

21 g1 := b (1 ,1) / a (1 ,1) -(1/ a (1 ,1) ) *( a (1 ,2) * x2 ) ;


22 g2 := b (2 ,1) / a (2 ,2) -(1/ a (2 ,2) ) *( a (2 ,1) * x1 ) ;
23 xa1 := xo (1 ,1) ; xa2 := xo (2 ,1) ;
24

25 x1 := xa1 ; x2 := xa2 ;
26 gi1 := EVAL ( g1 ) ; gi2 := EVAL ( g2 ) ;
27 xi :=[[ gi1 ] ,[ gi2 ]];
28 er := ABS ( l2norm ( xi - xa ) ) ;
29 ea := xi - xo ; ea (1 ,1) := ABS ( ea (1 ,1) / xi (1 ,1) ) *100; ea (2 ,1) := ABS ( ea
(2 ,1) / xi (2 ,1) ) *100;
30

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 127


Universidad Nacional de San Cristobal de Huamanga

31 xo := ROUND ( xo , red ) ;
32 xi := ROUND ( xi , red ) ;
33 er := ROUND ( er , red ) ;
34 ea := ROUND ( ea , red ) ;
35

36 Spreadsheet . Cell (1 ,1) :=" i "; Spreadsheet . Cell (1 ,2) :=" xa ";
Spreadsheet . Cell (1 ,3) :=" xi "; Spreadsheet . Cell (1 ,4) :=" Er ";
Spreadsheet . Cell (1 ,5) :=" Ea %";
37 Spreadsheet . Cell (1 ,1) :=1; Spreadsheet . Cell (2 ,2) := xo ; Spreadsheet .
Cell (2 ,3) := xi ; Spreadsheet . Cell (2 ,4) := er ; Spreadsheet . Cell
(2 ,5) := ea ;
38 ii :=3;
39 WHILE er > Er AND ii < maxiter DO
40 x1 := CAS . x1 ; x2 := CAS . x2 ;
41 xa := xi ;
42 xa1 := xa (1 ,1) ; xa2 := xa (2 ,1) ;
43 x1 := xa1 ; x2 := xa2 ;
44 gi1 := EVAL ( g1 ) ; gi2 := EVAL ( g2 ) ;
45 xi :=[[ gi1 ] ,[ gi2 ]];
46 er := ABS ( l2norm ( xi - xa ) ) ;
47 ea := xi - xa ;
48 ea (1 ,1) := ABS ( ea (1 ,1) / xi (1 ,1) ) *100; ea (2 ,1) := ABS ( ea (2 ,1) / xi (2 ,1) )
*100;
49

50 xa := ROUND ( xa , red ) ;
51 xi := ROUND ( xi , red ) ;
52 er := ROUND ( er , red ) ;
53 ea := ROUND ( ea , red ) ;
54

55 Spreadsheet . Cell ( ii ,1) := ii -1; Spreadsheet . Cell ( ii ,2) := xa ;


Spreadsheet . Cell ( ii ,3) := xi ; Spreadsheet . Cell ( ii ,4) := er ;
Spreadsheet . Cell ( ii ,5) := ea ;
56 ii := ii +1;
57 END ;
58 res := xi ;
59 Spreadsheet . Cell ( ii ,1) :=" resultado "; Spreadsheet . Cell ( ii ,2) := res
;
60 STARTAPP (" Spreadsheet ") ;
61 res := xi ;
62 END ;
63

64

65 IF n ==3 THEN
66 INPUT ({ Er , maxiter , red }) ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 128


Universidad Nacional de San Cristobal de Huamanga

67 xo := randMat (n ,1) *0;


68 EDITMAT ( xo ) ;
69 g1 := b (1 ,1) / a (1 ,1) -(1/ a (1 ,1) ) *( a (1 ,2) * x2 + a (1 ,3) * x3 ) ;
70 g2 := b (2 ,1) / a (2 ,2) -(1/ a (2 ,2) ) *( a (2 ,1) * x1 + a (2 ,3) * x3 ) ;
71 g3 := b (3 ,1) / a (3 ,3) -(1/ a (3 ,3) ) *( a (3 ,1) * x1 + a (3 ,2) * x2 ) ;
72 xa1 := xo (1 ,1) ; xa2 := xo (2 ,1) ; xa3 := xo (3 ,1) ;
73 x1 := xa1 ; x2 := xa2 ; x3 := xa3 ;
74 gi1 := EVAL ( g1 ) ; gi2 := EVAL ( g2 ) ; gi3 := EVAL ( g3 ) ;
75 xi :=[[ gi1 ] ,[ gi2 ] ,[ gi3 ]];
76 er := ABS ( l2norm ( xi - xa ) ) ;
77 xo := ROUND ( xo , red ) ;
78 xi := ROUND ( xi , red ) ;
79 er := ROUND ( er , red ) ;
80 ea := ROUND ( ea , red ) ;
81 ea := xi - xo ; ea (1 ,1) := ABS ( ea (1 ,1) / xi (1 ,1) ) *100; ea (2 ,1) := ABS ( ea
(2 ,1) / xi (2 ,1) ) *100; ea (3 ,1) := ABS ( ea (3 ,1) / xi (3 ,1) ) *100;
82 Spreadsheet . Cell (1 ,1) :=" i "; Spreadsheet . Cell (1 ,2) :=" xa ";
Spreadsheet . Cell (1 ,3) :=" xi "; Spreadsheet . Cell (1 ,4) :=" Er ";
Spreadsheet . Cell (1 ,5) :=" Ea %";
83 Spreadsheet . Cell (1 ,1) :=1; Spreadsheet . Cell (2 ,2) := xo ; Spreadsheet .
Cell (2 ,3) := xi ; Spreadsheet . Cell (2 ,4) := er ; Spreadsheet . Cell
(2 ,5) := ea ;
84 ii :=3;
85 ea :=[[100] ,[100] ,[100]];
86 WHILE ( ea (1 ,1) > Er OR ea (2 ,1) > Er OR ea (3 ,1) > Er ) AND ii <
maxiter DO
87 x1 := CAS . x1 ; x2 := CAS . x2 ; x3 := CAS . x3 ;
88 xa := xi ;
89 xa1 := xa (1 ,1) ; xa2 := xa (2 ,1) ; xa3 := xa (3 ,1) ;
90 x1 := xa1 ; x2 := xa2 ; x3 := xa3 ;
91 gi1 := EVAL ( g1 ) ; gi2 := EVAL ( g2 ) ; gi3 := EVAL ( g3 ) ;
92 xi :=[[ gi1 ] ,[ gi2 ] ,[ gi3 ]];
93 er := ABS ( l2norm ( xi - xa ) ) ;
94 ea := xi - xa ;
95 ea (1 ,1) := ABS ( ea (1 ,1) / xi (1 ,1) ) *100; ea (2 ,1) := ABS ( ea (2 ,1) / xi (2 ,1) )
*100; ea (3 ,1) := ABS ( ea (3 ,1) / xi (3 ,1) ) *100;
96 xa := ROUND ( xa , red ) ;
97 xi := ROUND ( xi , red ) ;
98 er := ROUND ( er , red ) ;
99 ea := ROUND ( ea , red ) ;
100

101 Spreadsheet . Cell ( ii ,1) := ii -1; Spreadsheet . Cell ( ii ,2) := xa ;


Spreadsheet . Cell ( ii ,3) := xi ; Spreadsheet . Cell ( ii ,4) := er ;
Spreadsheet . Cell ( ii ,5) := ea ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 129


Universidad Nacional de San Cristobal de Huamanga

102 ii := ii +1;
103 END ;
104 res := xi ;
105 Spreadsheet . Cell ( ii ,1) :=" resultado "; Spreadsheet . Cell ( ii ,2) := res
;
106 STARTAPP (" Spreadsheet ") ;
107 res := xi ;
108 END ;
109

110 IF n ==4 THEN


111 INPUT ({ Er , maxiter , red }) ;
112 xo := randMat (n ,1) *0;
113 EDITMAT ( xo ) ;
114 g1 := b (1 ,1) / a (1 ,1) -(1/ a (1 ,1) ) *( a (1 ,2) * x2 + a (1 ,3) * x3 + a
(1 ,4) * x4 ) ;
115 g2 := b (2 ,1) / a (2 ,2) -(1/ a (2 ,2) ) *( a (2 ,1) * x1 + a (2 ,3) * x3 + a
(2 ,4) * x4 ) ;
116 g3 := b (3 ,1) / a (3 ,3) -(1/ a (3 ,3) ) *( a (3 ,1) * x1 + a (3 ,2) * x2 + a
(3 ,4) * x4 ) ;
117 g4 := b (4 ,1) / a (4 ,4) -(1/ a (4 ,4) ) *( a (4 ,1) * x1 + a (4 ,2) * x2 + a (4 ,3) * x3
);
118 xa1 := xo (1 ,1) ; xa2 := xo (2 ,1) ; xa3 := xo (3 ,1) ; xa4 := xo (4 ,1) ;
119 x1 := xa1 ; x2 := xa2 ; x3 := xa3 ; x4 := xa4 ;
120 gi1 := EVAL ( g1 ) ; gi2 := EVAL ( g2 ) ; gi3 := EVAL ( g3 ) ; gi4 := EVAL ( g4 ) ;
121 xi :=[[ gi1 ] ,[ gi2 ] ,[ gi3 ] ,[ gi4 ]];
122 er := ABS ( l2norm ( xi - xa ) ) ;
123 ea := xi - xo ; ea (1 ,1) := ABS ( ea (1 ,1) / xi (1 ,1) ) *100; ea (2 ,1) := ABS ( ea
(2 ,1) / xi (2 ,1) ) *100; ea (3 ,1) := ABS ( ea (3 ,1) / xi (3 ,1) ) *100; ea (4 ,1)
:= ABS ( ea (4 ,1) / xi (4 ,1) ) *100;
124 xo := ROUND ( xo , red ) ;
125 xi := ROUND ( xi , red ) ;
126 er := ROUND ( er , red ) ;
127 ea := ROUND ( ea , red ) ;
128

129 Spreadsheet . Cell (1 ,1) :=" i "; Spreadsheet . Cell (1 ,2) :=" xa ";
Spreadsheet . Cell (1 ,3) :=" xi "; Spreadsheet . Cell (1 ,4) :=" Er ";
Spreadsheet . Cell (1 ,5) :=" Ea %";
130 Spreadsheet . Cell (1 ,1) :=1; Spreadsheet . Cell (2 ,2) := xo ; Spreadsheet .
Cell (2 ,3) := xi ; Spreadsheet . Cell (2 ,4) := er ; Spreadsheet . Cell
(2 ,5) := ea ;
131 ii :=3;
132 ea :=[[100] ,[100] ,[100] ,[100]];
133 WHILE ( ea (1 ,1) > Er OR ea (2 ,1) > Er OR ea (3 ,1) > Er OR ea (4 ,1) >
Er ) AND ii < maxiter DO

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 130


Universidad Nacional de San Cristobal de Huamanga

134

135 x1 := CAS . x1 ; x2 := CAS . x2 ; x3 := CAS . x3 ; x4 := CAS . x4 ;


136 xa := xi ;
137 xa1 := xa (1 ,1) ; xa2 := xa (2 ,1) ; xa3 := xa (3 ,1) ; xa4 := xa (4 ,1) ;
138 x1 := xa1 ; x2 := xa2 ; x3 := xa3 ; x4 := xa4 ;
139 gi1 := EVAL ( g1 ) ; gi2 := EVAL ( g2 ) ; gi3 := EVAL ( g3 ) ; gi4 := EVAL ( g4 ) ;
140 xi :=[[ gi1 ] ,[ gi2 ] ,[ gi3 ] ,[ gi4 ]];
141 er := ABS ( l2norm ( xi - xa ) ) ;
142 ea := xi - xa ;
143 ea (1 ,1) := ABS ( ea (1 ,1) / xi (1 ,1) ) *100; ea (2 ,1) := ABS ( ea (2 ,1) / xi (2 ,1) )
*100; ea (3 ,1) := ABS ( ea (3 ,1) / xi (3 ,1) ) *100; ea (4 ,1) := ABS ( ea (4 ,1) /
xi (4 ,1) ) *100;
144 xa := ROUND ( xa , red ) ;
145 xi := ROUND ( xi , red ) ;
146 er := ROUND ( er , red ) ;
147 ea := ROUND ( ea , red ) ;
148 Spreadsheet . Cell ( ii ,1) := ii -1; Spreadsheet . Cell ( ii ,2) := xa ;
Spreadsheet . Cell ( ii ,3) := xi ; Spreadsheet . Cell ( ii ,4) := er ;
Spreadsheet . Cell ( ii ,5) := ea ;
149 ii := ii +1;
150 END ;
151 res := xi ;
152 Spreadsheet . Cell ( ii ,1) :=" resultado "; Spreadsheet . Cell ( ii ,2) := res
;
153 STARTAPP (" Spreadsheet ") ;
154 res := xi ;
155 END ;
156

157 IF n ==5 THEN


158 INPUT ({ Er , maxiter , red }) ;
159 xo := randMat (n ,1) *0;
160 EDITMAT ( xo ) ;
161 g1 := b (1 ,1) / a (1 ,1) -(1/ a (1 ,1) ) *( a (1 ,2) * x2 + a (1 ,3) * x3 + a
(1 ,4) * x4 + a (1 ,5) * x5 ) ;
162 g2 := b (2 ,1) / a (2 ,2) -(1/ a (2 ,2) ) *( a (2 ,1) * x1 + a (2 ,3) * x3 + a
(2 ,4) * x4 + a (2 ,5) * x5 ) ;
163 g3 := b (3 ,1) / a (3 ,3) -(1/ a (3 ,3) ) *( a (3 ,1) * x1 + a (3 ,2) * x2 + a
(3 ,4) * x4 + a (3 ,5) * x5 ) ;
164 g4 := b (4 ,1) / a (4 ,4) -(1/ a (4 ,4) ) *( a (4 ,1) * x1 + a (4 ,2) * x2 + a (4 ,3) * x3
+ a (4 ,5) * x5 ) ;
165 g5 := b (5 ,1) / a (5 ,5) -(1/ a (5 ,5) ) *( a (5 ,1) * x1 + a (5 ,2) * x2 + a (5 ,3) * x3 + a
(5 ,4) * x4 );
166 xa1 := xo (1 ,1) ; xa2 := xo (2 ,1) ; xa3 := xo (3 ,1) ; xa4 := xo (4 ,1) ; xa5 := xo
(5 ,1) ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 131


Universidad Nacional de San Cristobal de Huamanga

167 x1 := xa1 ; x2 := xa2 ; x3 := xa3 ; x4 := xa4 ; x5 := xa5 ;


168 gi1 := EVAL ( g1 ) ; gi2 := EVAL ( g2 ) ; gi3 := EVAL ( g3 ) ; gi4 := EVAL ( g4 ) ; gi5 :=
EVAL ( g5 ) ;
169 xi :=[[ gi1 ] ,[ gi2 ] ,[ gi3 ] ,[ gi4 ] ,[ gi5 ]];
170 er := ABS ( l2norm ( xi - xa ) ) ;
171 ea := xi - xo ; ea (1 ,1) := ABS ( ea (1 ,1) / xi (1 ,1) ) *100; ea (2 ,1) := ABS ( ea
(2 ,1) / xi (2 ,1) ) *100; ea (3 ,1) := ABS ( ea (3 ,1) / xi (3 ,1) ) *100; ea (4 ,1)
:= ABS ( ea (4 ,1) / xi (4 ,1) ) *100; ea (5 ,1) := ABS ( ea (5 ,1) / xi (5 ,1) )
*100;
172

173 xo := ROUND ( xo , red ) ;


174 xi := ROUND ( xi , red ) ;
175 er := ROUND ( er , red ) ;
176 ea := ROUND ( ea , red ) ;
177

178 Spreadsheet . Cell (1 ,1) :=" i "; Spreadsheet . Cell (1 ,2) :=" xa ";
Spreadsheet . Cell (1 ,3) :=" xi "; Spreadsheet . Cell (1 ,4) :=" Er ";
Spreadsheet . Cell (1 ,5) :=" Ea %";
179 Spreadsheet . Cell (1 ,1) :=1; Spreadsheet . Cell (2 ,2) := xo ; Spreadsheet .
Cell (2 ,3) := xi ; Spreadsheet . Cell (2 ,4) := er ; Spreadsheet . Cell
(2 ,5) := ea ;
180 ii :=3;
181 ea :=[[100] ,[100] ,[100] ,[100] ,[100]];
182 WHILE ( ea (1 ,1) > Er OR ea (2 ,1) > Er OR ea (3 ,1) > Er OR ea (4 ,1) >
Er OR ea (5 ,1) > Er ) AND ii < maxiter DO
183

184 x1 := CAS . x1 ; x2 := CAS . x2 ; x3 := CAS . x3 ; x4 := CAS . x4 ; x5 := CAS . x5 ;


185 xa := xi ;
186 xa1 := xa (1 ,1) ; xa2 := xa (2 ,1) ; xa3 := xa (3 ,1) ; xa4 := xa (4 ,1) ; xa5 := xa
(5 ,1) ;
187 x1 := xa1 ; x2 := xa2 ; x3 := xa3 ; x4 := xa4 ; x5 := xa5 ;
188 gi1 := EVAL ( g1 ) ; gi2 := EVAL ( g2 ) ; gi3 := EVAL ( g3 ) ; gi4 := EVAL ( g4 ) ; gi5 :=
EVAL ( g5 ) ;
189 xi :=[[ gi1 ] ,[ gi2 ] ,[ gi3 ] ,[ gi4 ] ,[ gi5 ]];
190 er := ABS ( l2norm ( xi - xa ) ) ;
191 ea := xi - xa ;
192

193 ea (1 ,1) := ABS ( ea (1 ,1) / xi (1 ,1) ) *100; ea (2 ,1) := ABS ( ea (2 ,1) / xi (2 ,1) )
*100; ea (3 ,1) := ABS ( ea (3 ,1) / xi (3 ,1) ) *100; ea (4 ,1) := ABS ( ea (4 ,1) /
xi (4 ,1) ) *100; ea (5 ,1) := ABS ( ea (5 ,1) / xi (5 ,1) ) *100;
194 xa := ROUND ( xa , red ) ;
195 xi := ROUND ( xi , red ) ;
196 er := ROUND ( er , red ) ;
197 ea := ROUND ( ea , red ) ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 132


Universidad Nacional de San Cristobal de Huamanga

198

199 Spreadsheet . Cell ( ii ,1) := ii -1; Spreadsheet . Cell ( ii ,2) := xa ;


Spreadsheet . Cell ( ii ,3) := xi ; Spreadsheet . Cell ( ii ,4) := er ;
Spreadsheet . Cell ( ii ,5) := ea ;
200 ii := ii +1;
201 END ;
202 res := xi ;
203 Spreadsheet . Cell ( ii ,1) :=" resultado "; Spreadsheet . Cell ( ii ,2) := res
;
204 STARTAPP (" Spreadsheet ") ;
205 res := xi ;
206 END ;
207

208 IF n ==6 THEN


209 INPUT ({ Er , maxiter , red }) ;
210 xo := randMat (n ,1) *0;
211 EDITMAT ( xo ) ;
212 g1 := b (1 ,1) / a (1 ,1) -(1/ a (1 ,1) ) *( a (1 ,2) * x2 + a (1 ,3) * x3 + a
(1 ,4) * x4 + a (1 ,5) * x5 + a (1 ,6) * x6 ) ;
213 g2 := b (2 ,1) / a (2 ,2) -(1/ a (2 ,2) ) *( a (2 ,1) * x1 + a (2 ,3) * x3 + a
(2 ,4) * x4 + a (2 ,5) * x5 + a (2 ,6) * x6 ) ;
214 g3 := b (3 ,1) / a (3 ,3) -(1/ a (3 ,3) ) *( a (3 ,1) * x1 + a (3 ,2) * x2 + a
(3 ,4) * x4 + a (3 ,5) * x5 + a (3 ,6) * x6 ) ;
215 g4 := b (4 ,1) / a (4 ,4) -(1/ a (4 ,4) ) *( a (4 ,1) * x1 + a (4 ,2) * x2 + a (4 ,3) * x3
+ a (4 ,5) * x5 + a (4 ,6) * x6 ) ;
216 g5 := b (5 ,1) / a (5 ,5) -(1/ a (5 ,5) ) *( a (5 ,1) * x1 + a (5 ,2) * x2 + a (5 ,3) * x3 + a
(5 ,4) * x4 + a (5 ,6) * x6 ) ;
217 g6 := b (6 ,1) / a (6 ,6) -(1/ a (6 ,6) ) *( a (6 ,1) * x1 + a (6 ,2) * x2 + a (6 ,3) * x3 + a
(6 ,4) * x4 + a (6 ,5) * x5 );
218

219 xa1 := xo (1 ,1) ; xa2 := xo (2 ,1) ; xa3 := xo (3 ,1) ; xa4 := xo (4 ,1) ; xa5 := xo
(5 ,1) ; xa6 := xo (6 ,1) ;
220 x1 := xa1 ; x2 := xa2 ; x3 := xa3 ; x4 := xa4 ; x5 := xa5 ; x6 := xa6 ;
221 gi1 := EVAL ( g1 ) ; gi2 := EVAL ( g2 ) ; gi3 := EVAL ( g3 ) ; gi4 := EVAL ( g4 ) ; gi5 :=
EVAL ( g5 ) ; gi6 := EVAL ( g6 ) ;
222 xi :=[[ gi1 ] ,[ gi2 ] ,[ gi3 ] ,[ gi4 ] ,[ gi5 ] ,[ gi6 ]];
223 er := ABS ( l2norm ( xi - xa ) ) ;
224 ea := xi - xo ; ea (1 ,1) := ABS ( ea (1 ,1) / xi (1 ,1) ) *100; ea (2 ,1) := ABS ( ea
(2 ,1) / xi (2 ,1) ) *100; ea (3 ,1) := ABS ( ea (3 ,1) / xi (3 ,1) ) *100; ea (4 ,1)
:= ABS ( ea (4 ,1) / xi (4 ,1) ) *100; ea (5 ,1) := ABS ( ea (5 ,1) / xi (5 ,1) )
*100; ea (6 ,1) := ABS ( ea (6 ,1) / xi (6 ,1) ) *100;
225 xo := ROUND ( xo , red ) ;
226 xi := ROUND ( xi , red ) ;
227 er := ROUND ( er , red ) ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 133


Universidad Nacional de San Cristobal de Huamanga

228 ea := ROUND ( ea , red ) ;


229 Spreadsheet . Cell (1 ,1) :=" i "; Spreadsheet . Cell (1 ,2) :=" xa ";
Spreadsheet . Cell (1 ,3) :=" xi "; Spreadsheet . Cell (1 ,4) :=" Er ";
Spreadsheet . Cell (1 ,5) :=" Ea %";
230 Spreadsheet . Cell (1 ,1) :=1; Spreadsheet . Cell (2 ,2) := xo ; Spreadsheet .
Cell (2 ,3) := xi ; Spreadsheet . Cell (2 ,4) := er ; Spreadsheet . Cell
(2 ,5) := ea ;
231 ii :=3;
232 ea :=[[100] ,[100] ,[100] ,[100] ,[100] ,[100]];
233 WHILE ( ea (1 ,1) > Er OR ea (2 ,1) > Er OR ea (3 ,1) > Er OR ea (4 ,1) >
Er OR ea (5 ,1) > Er OR ea (6 ,1) > Er ) AND ii < maxiter DO
234

235 x1 := CAS . x1 ; x2 := CAS . x2 ; x3 := CAS . x3 ; x4 := CAS . x4 ; x5 := CAS . x5 ; x6 := CAS .


x6 ;
236 xa := xi ;
237 xa1 := xa (1 ,1) ; xa2 := xa (2 ,1) ; xa3 := xa (3 ,1) ; xa4 := xa (4 ,1) ; xa5 := xa
(5 ,1) ; xa6 := xa (6 ,1) ;
238 x1 := xa1 ; x2 := xa2 ; x3 := xa3 ; x4 := xa4 ; x5 := xa5 ; x6 := xa6 ;
239 gi1 := EVAL ( g1 ) ; gi2 := EVAL ( g2 ) ; gi3 := EVAL ( g3 ) ; gi4 := EVAL ( g4 ) ; gi5 :=
EVAL ( g5 ) ; gi6 := EVAL ( g6 ) ;
240 xi :=[[ gi1 ] ,[ gi2 ] ,[ gi3 ] ,[ gi4 ] ,[ gi5 ] ,[ gi6 ]];
241 er := ABS ( l2norm ( xi - xa ) ) ;
242 ea := xi - xa ;
243 ea (1 ,1) := ABS ( ea (1 ,1) / xi (1 ,1) ) *100; ea (2 ,1) := ABS ( ea (2 ,1) / xi (2 ,1) )
*100; ea (3 ,1) := ABS ( ea (3 ,1) / xi (3 ,1) ) *100; ea (4 ,1) := ABS ( ea (4 ,1) /
xi (4 ,1) ) *100; ea (5 ,1) := ABS ( ea (5 ,1) / xi (5 ,1) ) *100; ea (6 ,1) := ABS (
ea (6 ,1) / xi (6 ,1) ) *100;
244 xa := ROUND ( xa , red ) ;
245 xi := ROUND ( xi , red ) ;
246 er := ROUND ( er , red ) ;
247 ea := ROUND ( ea , red ) ;
248 Spreadsheet . Cell ( ii ,1) := ii -1; Spreadsheet . Cell ( ii ,2) := xa ;
Spreadsheet . Cell ( ii ,3) := xi ; Spreadsheet . Cell ( ii ,4) := er ;
Spreadsheet . Cell ( ii ,5) := ea ;
249 ii := ii +1;
250 END ;
251 res := xi ;
252 Spreadsheet . Cell ( ii ,1) :=" resultado "; Spreadsheet . Cell ( ii ,2) := res
;
253 STARTAPP (" Spreadsheet ") ;
254 res := xi ;
255 END ;
256

257 IF n ==7 THEN

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 134


Universidad Nacional de San Cristobal de Huamanga

258 INPUT ({ Er , maxiter , red }) ;


259 xo := randMat (n ,1) *0;
260 EDITMAT ( xo ) ;
261

262 g1 := b (1 ,1) / a (1 ,1) -(1/ a (1 ,1) ) *( a (1 ,2) * x2 + a (1 ,3) * x3 + a


(1 ,4) * x4 + a (1 ,5) * x5 + a (1 ,6) * x6 + a (1 ,7) * x7 ) ;
263 g2 := b (2 ,1) / a (2 ,2) -(1/ a (2 ,2) ) *( a (2 ,1) * x1 + a (2 ,3) * x3 + a
(2 ,4) * x4 + a (2 ,5) * x5 + a (2 ,6) * x6 + a (2 ,7) * x7 ) ;
264 g3 := b (3 ,1) / a (3 ,3) -(1/ a (3 ,3) ) *( a (3 ,1) * x1 + a (3 ,2) * x2 + a
(3 ,4) * x4 + a (3 ,5) * x5 + a (3 ,6) * x6 + a (3 ,7) * x7 ) ;
265 g4 := b (4 ,1) / a (4 ,4) -(1/ a (4 ,4) ) *( a (4 ,1) * x1 + a (4 ,2) * x2 + a (4 ,3) * x3
+ a (4 ,5) * x5 + a (4 ,6) * x6 + a (4 ,7) * x7 ) ;
266 g5 := b (5 ,1) / a (5 ,5) -(1/ a (5 ,5) ) *( a (5 ,1) * x1 + a (5 ,2) * x2 + a (5 ,3) * x3 + a
(5 ,4) * x4 + a (5 ,6) * x6 + a (5 ,7) * x7 ) ;
267 g6 := b (6 ,1) / a (6 ,6) -(1/ a (6 ,6) ) *( a (6 ,1) * x1 + a (6 ,2) * x2 + a (6 ,3) * x3 + a
(6 ,4) * x4 + a (6 ,5) * x5 + a (6 ,7) * x7 ) ;
268 g7 := b (7 ,1) / a (7 ,7) -(1/ a (7 ,7) ) *( a (7 ,1) * x1 + a (7 ,2) * x2 + a (7 ,3) * x3 + a
(7 ,4) * x4 + a (7 ,5) * x5 + a (7 ,6) * x6 );
269

270 xa1 := xo (1 ,1) ; xa2 := xo (2 ,1) ; xa3 := xo (3 ,1) ; xa4 := xo (4 ,1) ; xa5 := xo
(5 ,1) ; xa6 := xo (6 ,1) ; xa7 := xo (7 ,1) ;
271 x1 := xa1 ; x2 := xa2 ; x3 := xa3 ; x4 := xa4 ; x5 := xa5 ; x6 := xa6 ; x7 := xa7 ;
272 gi1 := EVAL ( g1 ) ; gi2 := EVAL ( g2 ) ; gi3 := EVAL ( g3 ) ; gi4 := EVAL ( g4 ) ; gi5 :=
EVAL ( g5 ) ; gi6 := EVAL ( g6 ) ; gi7 := EVAL ( g7 ) ;
273 xi :=[[ gi1 ] ,[ gi2 ] ,[ gi3 ] ,[ gi4 ] ,[ gi5 ] ,[ gi6 ] ,[ gi7 ]];
274 er := ABS ( l2norm ( xi - xa ) ) ;
275 ea := xi - xo ; ea (1 ,1) := ABS ( ea (1 ,1) / xi (1 ,1) ) *100; ea (2 ,1) := ABS ( ea
(2 ,1) / xi (2 ,1) ) *100; ea (3 ,1) := ABS ( ea (3 ,1) / xi (3 ,1) ) *100; ea (4 ,1)
:= ABS ( ea (4 ,1) / xi (4 ,1) ) *100; ea (5 ,1) := ABS ( ea (5 ,1) / xi (5 ,1) )
*100; ea (6 ,1) := ABS ( ea (6 ,1) / xi (6 ,1) ) *100; ea (7 ,1) := ABS ( ea (7 ,1) /
xi (7 ,1) ) *100;
276 xo := ROUND ( xo , red ) ;
277 xi := ROUND ( xi , red ) ;
278 er := ROUND ( er , red ) ;
279 ea := ROUND ( ea , red ) ;
280 Spreadsheet . Cell (1 ,1) :=" i "; Spreadsheet . Cell (1 ,2) :=" xa ";
Spreadsheet . Cell (1 ,3) :=" xi "; Spreadsheet . Cell (1 ,4) :=" Er ";
Spreadsheet . Cell (1 ,5) :=" Ea %";
281 Spreadsheet . Cell (1 ,1) :=1; Spreadsheet . Cell (2 ,2) := xo ; Spreadsheet .
Cell (2 ,3) := xi ; Spreadsheet . Cell (2 ,4) := er ; Spreadsheet . Cell
(2 ,5) := ea ;
282 ii :=3;
283 ea :=[[100] ,[100] ,[100] ,[100] ,[100] ,[100] ,[100]];
284 WHILE ( ea (1 ,1) > Er OR ea (2 ,1) > Er OR ea (3 ,1) > Er OR ea (4 ,1) >

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 135


Universidad Nacional de San Cristobal de Huamanga

Er OR ea (5 ,1) > Er OR ea (6 ,1) > Er OR ea (7 ,1) > Er ) AND ii <


maxiter DO
285

286 x1 := CAS . x1 ; x2 := CAS . x2 ; x3 := CAS . x3 ; x4 := CAS . x4 ; x5 := CAS . x5 ; x6 := CAS .


x6 ; x7 := CAS . x7 ;
287 xa := xi ;
288 xa1 := xa (1 ,1) ; xa2 := xa (2 ,1) ; xa3 := xa (3 ,1) ; xa4 := xa (4 ,1) ; xa5 := xa
(5 ,1) ; xa6 := xa (6 ,1) ; xa7 := xa (7 ,1) ;
289 x1 := xa1 ; x2 := xa2 ; x3 := xa3 ; x4 := xa4 ; x5 := xa5 ; x6 := xa6 ; x7 := xa7 ;
290 gi1 := EVAL ( g1 ) ; gi2 := EVAL ( g2 ) ; gi3 := EVAL ( g3 ) ; gi4 := EVAL ( g4 ) ; gi5 :=
EVAL ( g5 ) ; gi6 := EVAL ( g6 ) ; gi7 := EVAL ( g7 ) ;
291 xi :=[[ gi1 ] ,[ gi2 ] ,[ gi3 ] ,[ gi4 ] ,[ gi5 ] ,[ gi6 ] ,[ gi7 ]];
292 er := ABS ( l2norm ( xi - xa ) ) ;
293 ea := xi - xa ;
294 ea (1 ,1) := ABS ( ea (1 ,1) / xi (1 ,1) ) *100; ea (2 ,1) := ABS ( ea (2 ,1) / xi (2 ,1) )
*100; ea (3 ,1) := ABS ( ea (3 ,1) / xi (3 ,1) ) *100; ea (4 ,1) := ABS ( ea (4 ,1) /
xi (4 ,1) ) *100; ea (5 ,1) := ABS ( ea (5 ,1) / xi (5 ,1) ) *100; ea (6 ,1) := ABS (
ea (6 ,1) / xi (6 ,1) ) *100; ea (7 ,1) := ABS ( ea (7 ,1) / xi (7 ,1) ) *100;
295 xa := ROUND ( xa , red ) ;
296 xi := ROUND ( xi , red ) ;
297 er := ROUND ( er , red ) ;
298 ea := ROUND ( ea , red ) ;
299 Spreadsheet . Cell ( ii ,1) := ii -1; Spreadsheet . Cell ( ii ,2) := xa ;
Spreadsheet . Cell ( ii ,3) := xi ; Spreadsheet . Cell ( ii ,4) := er ;
Spreadsheet . Cell ( ii ,5) := ea ; ea := ROUND ( ea ,1) ;
300 ii := ii +1;
301 END ;
302 res := xi ;
303 Spreadsheet . Cell ( ii ,1) :=" resultado "; Spreadsheet . Cell ( ii ,2) := res
;
304 STARTAPP (" Spreadsheet ") ;
305 res := xi ;
306 END ;
307

308 IF n ==8 THEN


309 INPUT ({ Er , maxiter , red }) ;
310 xo := randMat (n ,1) *0;
311 EDITMAT ( xo ) ;
312 g1 := b (1 ,1) / a (1 ,1) -(1/ a (1 ,1) ) *( a (1 ,2) * x2 + a (1 ,3) * x3 + a
(1 ,4) * x4 + a (1 ,5) * x5 + a (1 ,6) * x6 + a (1 ,7) * x7 + a (1 ,8) * x8 ) ;
313 g2 := b (2 ,1) / a (2 ,2) -(1/ a (2 ,2) ) *( a (2 ,1) * x1 + a (2 ,3) * x3 + a
(2 ,4) * x4 + a (2 ,5) * x5 + a (2 ,6) * x6 + a (2 ,7) * x7 + a (2 ,8) * x8 ) ;
314 g3 := b (3 ,1) / a (3 ,3) -(1/ a (3 ,3) ) *( a (3 ,1) * x1 + a (3 ,2) * x2 + a
(3 ,4) * x4 + a (3 ,5) * x5 + a (3 ,6) * x6 + a (3 ,7) * x7 + a (3 ,8) * x8 ) ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 136


Universidad Nacional de San Cristobal de Huamanga

315 g4 := b (4 ,1) / a (4 ,4) -(1/ a (4 ,4) ) *( a (4 ,1) * x1 + a (4 ,2) * x2 + a (4 ,3) * x3


+ a (4 ,5) * x5 + a (4 ,6) * x6 + a (4 ,7) * x7 + a (4 ,8) * x8 ) ;
316 g5 := b (5 ,1) / a (5 ,5) -(1/ a (5 ,5) ) *( a (5 ,1) * x1 + a (5 ,2) * x2 + a (5 ,3) * x3 + a
(5 ,4) * x4 + a (5 ,6) * x6 + a (5 ,7) * x7 + a (5 ,8) * x8 ) ;
317 g6 := b (6 ,1) / a (6 ,6) -(1/ a (6 ,6) ) *( a (6 ,1) * x1 + a (6 ,2) * x2 + a (6 ,3) * x3 + a
(6 ,4) * x4 + a (6 ,5) * x5 + a (6 ,7) * x7 + a (6 ,8) * x8 ) ;
318 g7 := b (7 ,1) / a (7 ,7) -(1/ a (7 ,7) ) *( a (7 ,1) * x1 + a (7 ,2) * x2 + a (7 ,3) * x3 + a
(7 ,4) * x4 + a (7 ,5) * x5 + a (7 ,6) * x6 + a (7 ,8) * x8 ) ;
319 g8 := b (8 ,1) / a (8 ,7) -(1/ a (8 ,7) ) *( a (8 ,1) * x1 + a (8 ,2) * x2 + a (8 ,3) * x3 + a
(8 ,4) * x4 + a (8 ,5) * x5 + a (8 ,6) * x6 + a (8 ,7) * x7 );
320

321 xa1 := xo (1 ,1) ; xa2 := xo (2 ,1) ; xa3 := xo (3 ,1) ; xa4 := xo (4 ,1) ; xa5 := xo
(5 ,1) ; xa6 := xo (6 ,1) ; xa7 := xo (7 ,1) ; xa8 := xo (8 ,1) ;
322 x1 := xa1 ; x2 := xa2 ; x3 := xa3 ; x4 := xa4 ; x5 := xa5 ; x6 := xa6 ; x7 := xa7 ; x8 := xa8
;
323 gi1 := EVAL ( g1 ) ; gi2 := EVAL ( g2 ) ; gi3 := EVAL ( g3 ) ; gi4 := EVAL ( g4 ) ; gi5 :=
EVAL ( g5 ) ; gi6 := EVAL ( g6 ) ; gi7 := EVAL ( g7 ) ; gi8 := EVAL ( g8 ) ;
324 xi :=[[ gi1 ] ,[ gi2 ] ,[ gi3 ] ,[ gi4 ] ,[ gi5 ] ,[ gi6 ] ,[ gi7 ] ,[ gi8 ]];
325 er := ABS ( l2norm ( xi - xa ) ) ;
326 ea := xi - xo ; ea (1 ,1) := ABS ( ea (1 ,1) / xi (1 ,1) ) *100; ea (2 ,1) := ABS ( ea
(2 ,1) / xi (2 ,1) ) *100; ea (3 ,1) := ABS ( ea (3 ,1) / xi (3 ,1) ) *100; ea (4 ,1)
:= ABS ( ea (4 ,1) / xi (4 ,1) ) *100; ea (5 ,1) := ABS ( ea (5 ,1) / xi (5 ,1) )
*100; ea (6 ,1) := ABS ( ea (6 ,1) / xi (6 ,1) ) *100; ea (7 ,1) := ABS ( ea (7 ,1) /
xi (7 ,1) ) *100; ea (8 ,1) := ABS ( ea (8 ,1) / xi (8 ,1) ) *100;
327 xo := ROUND ( xo , red ) ;
328 xi := ROUND ( xi , red ) ;
329 er := ROUND ( er , red ) ;
330 ea := ROUND ( ea , red ) ;
331 Spreadsheet . Cell (1 ,1) :=" i "; Spreadsheet . Cell (1 ,2) :=" xa ";
Spreadsheet . Cell (1 ,3) :=" xi "; Spreadsheet . Cell (1 ,4) :=" Er ";
Spreadsheet . Cell (1 ,5) :=" Ea %";
332 Spreadsheet . Cell (1 ,1) :=1; Spreadsheet . Cell (2 ,2) := xo ; Spreadsheet .
Cell (2 ,3) := xi ; Spreadsheet . Cell (2 ,4) := er ; Spreadsheet . Cell
(2 ,5) := ea ;
333 ii :=3;
334 ea :=[[100] ,[100] ,[100] ,[100] ,[100] ,[100] ,[100] ,[100]];
335 WHILE ( ea (1 ,1) > Er OR ea (2 ,1) > Er OR ea (3 ,1) > Er OR ea (4 ,1) >
Er OR ea (5 ,1) > Er OR ea (6 ,1) > Er OR ea (7 ,1) > Er OR ea (8 ,1) >
Er ) AND ii < maxiter DO
336

337 x1 := CAS . x1 ; x2 := CAS . x2 ; x3 := CAS . x3 ; x4 := CAS . x4 ; x5 := CAS . x5 ; x6 := CAS .


x6 ; x7 := CAS . x7 ; x8 := CAS . x8 ;
338 xa := xi ;
339 xa1 := xa (1 ,1) ; xa2 := xa (2 ,1) ; xa3 := xa (3 ,1) ; xa4 := xa (4 ,1) ; xa5 := xa

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 137


Universidad Nacional de San Cristobal de Huamanga

(5 ,1) ; xa6 := xa (6 ,1) ; xa7 := xa (7 ,1) ; xa8 := xa (8 ,1) ;


340 x1 := xa1 ; x2 := xa2 ; x3 := xa3 ; x4 := xa4 ; x5 := xa5 ; x6 := xa6 ; x7 := xa7 ; x8 := xa8
;
341 gi1 := EVAL ( g1 ) ; gi2 := EVAL ( g2 ) ; gi3 := EVAL ( g3 ) ; gi4 := EVAL ( g4 ) ; gi5 :=
EVAL ( g5 ) ; gi6 := EVAL ( g6 ) ; gi7 := EVAL ( g7 ) ; gi8 := EVAL ( g8 ) ;
342 xi :=[[ gi1 ] ,[ gi2 ] ,[ gi3 ] ,[ gi4 ] ,[ gi5 ] ,[ gi6 ] ,[ gi7 ] ,[ gi8 ]];
343 er := ABS ( l2norm ( xi - xa ) ) ;
344 ea := xi - xa ;
345 ea (1 ,1) := ABS ( ea (1 ,1) / xi (1 ,1) ) *100; ea (2 ,1) := ABS ( ea (2 ,1) / xi (2 ,1) )
*100; ea (3 ,1) := ABS ( ea (3 ,1) / xi (3 ,1) ) *100; ea (4 ,1) := ABS ( ea (4 ,1) /
xi (4 ,1) ) *100; ea (5 ,1) := ABS ( ea (5 ,1) / xi (5 ,1) ) *100; ea (6 ,1) := ABS (
ea (6 ,1) / xi (6 ,1) ) *100; ea (7 ,1) := ABS ( ea (7 ,1) / xi (7 ,1) ) *100; ea
(8 ,1) := ABS ( ea (8 ,1) / xi (8 ,1) ) *100;
346 xa := ROUND ( xa , red ) ;
347 xi := ROUND ( xi , red ) ;
348 er := ROUND ( er , red ) ;
349 ea := ROUND ( ea , red ) ;
350 Spreadsheet . Cell ( ii ,1) := ii -1; Spreadsheet . Cell ( ii ,2) := xa ;
Spreadsheet . Cell ( ii ,3) := xi ; Spreadsheet . Cell ( ii ,4) := er ;
Spreadsheet . Cell ( ii ,5) := ea ; ea := ROUND ( ea ,1) ;
351 ii := ii +1;
352 END ;
353 res := xi ;
354 Spreadsheet . Cell ( ii ,1) :=" resultado "; Spreadsheet . Cell ( ii ,2) := res
;
355 STARTAPP (" Spreadsheet ") ;
356 res := xi ;
357 END ;
358 END ;
359 Spreadsheet . Cell (1 ,6) :=" ecuaciones "; Spreadsheet . Cell (2 ,6) :={ g1 ,
g2 , g3 , g4 , g5 , g7 , g8 };
360 END ;

Programa 8.15 Gauss Seidel

1 EXPORT GausSeidel (a , b )
2 BEGIN
3 STARTAPP (" Function ") ;
4 LOCAL red ;
5 LOCAL xi1 , xi2 , xi3 , xi4 , xi5 , xi6 , xi7 , xi8 ;
6 LOCAL xa1 , xa2 , xa3 , xa4 , xa5 , xa6 , xa7 , xa8 ;
7 LOCAL g1 , g2 , g3 , g4 , g5 , g6 , g7 , g8 ;
8 LOCAL gi1 , gi2 , gi3 , gi4 , gi5 , gi6 , gi7 , gi8 ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 138


Universidad Nacional de San Cristobal de Huamanga

9 LOCAL xo , xi , xa ,x , ii , res ;
10 LOCAL x1 , x2 , x3 , x4 , x5 , x6 , x7 , x8 ; x1 := CAS . x1 ; x2 := CAS . x2 ; x3 := CAS . x3 ;
x4 := CAS . x4 ; x5 := CAS . x5 ; x6 := CAS . x6 ; x7 := CAS . x7 ; x8 := CAS . x8 ;
11 LOCAL n , Er , maxiter , er , ea ;
12 LOCAL xo1 , xo2 , xo3 ; LOCAL xo4 , xo5 , xo6 , xo7 , xo8 , xo9 , xo10 ;
13 n := CAS . SIZE ( a ) ; n := n (1) ;
14 CASE
15 IF n ==2 THEN
16 INPUT ({ Er , maxiter , red }) ;
17 INPUT ({ xo2 }) ;
18

19 g1 := b (1 ,1) / a (1 ,1) -(1/ a (1 ,1) ) *( a (1 ,2) * x2 ) ;


20 g2 := b (2 ,1) / a (2 ,2) -(1/ a (2 ,2) ) *( a (2 ,1) * x1 ) ;
21 x2 := xo2 ; gi1 := EVAL ( g1 ) ;
22 x1 := gi1 ; gi2 := EVAL ( g2 ) ;
23 xi :=[[ gi1 ] ,[ gi2 ]];
24 er :=100;
25 ea :=[[100] ,[100] ,[100]];
26

27 xo := ROUND ( xo , red ) ;
28 xi := ROUND ( xi , red ) ;
29 er := ROUND ( er , red ) ;
30 ea := ROUND ( ea , red ) ;
31

32 Spreadsheet . Cell (1 ,1) :=" i "; Spreadsheet . Cell (1 ,2) :=" xa ";
Spreadsheet . Cell (1 ,3) :=" xi "; Spreadsheet . Cell (1 ,4) :=" Exi %";
Spreadsheet . Cell (1 ,5) :=" Er ";
33 Spreadsheet . Cell (2 ,1) :=1; Spreadsheet . Cell (2 ,2) := xo ; Spreadsheet .
Cell (2 ,3) := xi ; Spreadsheet . Cell (2 ,4) := ea ; Spreadsheet . Cell
(2 ,5) := er ;
34 ii :=3;
35 WHILE er > Er AND ii ? maxiter DO
36 x1 := CAS . x1 ; x2 := CAS . x2 ;
37 xa := xi ;
38 x2 := xa (2 ,1) ; gi1 := EVAL ( g1 ) ;
39 x1 := gi1 ; gi2 := EVAL ( g2 ) ;
40 xi :=[[ gi1 ] ,[ gi2 ]];
41 er := ABS ( l2norm ( xi - xa ) ) ;
42 ea := xi - xa ;
43 ea (1 ,1) := ABS ( ea (1 ,1) / xi (1 ,1) ) *100; ea (2 ,1) := ABS ( ea (2 ,1) / xi (2 ,1) )
*100;
44 xa := ROUND ( xa , red ) ;
45 xi := ROUND ( xi , red ) ;
46 er := ROUND ( er , red ) ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 139


Universidad Nacional de San Cristobal de Huamanga

47 ea := ROUND ( ea , red ) ;
48 Spreadsheet . Cell ( ii ,1) := ii -1; Spreadsheet . Cell ( ii ,2) := xa ;
Spreadsheet . Cell ( ii ,3) := xi ; Spreadsheet . Cell ( ii ,4) := ea ;
Spreadsheet . Cell ( ii ,5) := er ;
49 ii := ii +1;
50 END ;
51 res := xi ;
52 STARTAPP (" Spreadsheet ") ;
53 res := xi ;
54 END ;
55

56 IF n ==3 THEN
57 INPUT ({ Er , maxiter , red }) ;
58 INPUT ({ xo2 , xo3 }) ;
59 g1 := b (1 ,1) / a (1 ,1) -(1/ a (1 ,1) ) *( a (1 ,2) * x2 + a (1 ,3) * x3 ) ;
60 g2 := b (2 ,1) / a (2 ,2) -(1/ a (2 ,2) ) *( a (2 ,1) * x1 + a (2 ,3) * x3 ) ;
61 g3 := b (3 ,1) / a (3 ,3) -(1/ a (3 ,3) ) *( a (3 ,1) * x1 + a (3 ,2) * x2 ) ;
62 x2 := xo2 ; x3 := xo3 ;
63 gi1 := EVAL ( g1 ) ; x1 := gi1 ;
64 gi2 := EVAL ( g2 ) ; x2 := gi2 ;
65 gi3 := EVAL ( g3 ) ;
66 xi :=[[ gi1 ] ,[ gi2 ] ,[ gi3 ]];
67 er :=100;
68 ea :=[[100] ,[100] ,[100]];
69 xo := ROUND ( xo , red ) ;
70 xi := ROUND ( xi , red ) ;
71 er := ROUND ( er , red ) ;
72 ea := ROUND ( ea , red ) ;
73 Spreadsheet . Cell (1 ,1) :=" i "; Spreadsheet . Cell (1 ,2) :=" xa ";
Spreadsheet . Cell (1 ,3) :=" xi "; Spreadsheet . Cell (1 ,4) :=" Exi %";
Spreadsheet . Cell (1 ,5) :=" Er ";
74 Spreadsheet . Cell (2 ,1) :=1; Spreadsheet . Cell (2 ,2) := xo ; Spreadsheet .
Cell (2 ,3) := xi ; Spreadsheet . Cell (2 ,4) := ea ; Spreadsheet . Cell
(2 ,5) := er ;
75 ii :=3;
76 WHILE ( ea (1 ,1) > Er OR ea (2 ,1) > Er OR ea (3 ,1) > Er ) AND ( ii -1) ?
maxiter DO
77 x1 := CAS . x1 ; x2 := CAS . x2 ; x3 := CAS . x3 ;
78 xa := xi ;
79 x2 := xa (2 ,1) ; x3 := xa (3 ,1) ;
80 gi1 := EVAL ( g1 ) ; x1 := gi1 ;
81 gi2 := EVAL ( g2 ) ; x2 := gi2 ;
82 gi3 := EVAL ( g3 ) ;
83 xi :=[[ gi1 ] ,[ gi2 ] ,[ gi3 ]];

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 140


Universidad Nacional de San Cristobal de Huamanga

84 er := ABS ( l2norm ( xi - xa ) ) ;
85 ea := xi - xa ;
86 ea (1 ,1) := ABS ( ea (1 ,1) / xi (1 ,1) ) *100; ea (2 ,1) := ABS ( ea (2 ,1) / xi (2 ,1) )
*100; ea (3 ,1) := ABS ( ea (3 ,1) / xi (3 ,1) ) *100;
87 xa := ROUND ( xa , red ) ;
88 xi := ROUND ( xi , red ) ;
89 er := ROUND ( er , red ) ;
90 ea := ROUND ( ea , red ) ;
91 Spreadsheet . Cell ( ii ,1) := ii -1; Spreadsheet . Cell ( ii ,2) := xa ;
Spreadsheet . Cell ( ii ,3) := xi ; Spreadsheet . Cell ( ii ,4) := ea ;
Spreadsheet . Cell ( ii ,5) := er ;
92 ii := ii +1;
93 END ;
94 res := xi ;
95 Spreadsheet . Cell ( ii ,1) :=" resultado "; Spreadsheet . Cell ( ii ,2) := res
;
96 STARTAPP (" Spreadsheet ") ;
97 res := xi ;
98 END ;
99

100 IF n ==4 THEN


101 INPUT ({ Er , maxiter , red }) ;
102 INPUT ({ xo2 , xo3 , xo4 }) ;
103 g1 := b (1 ,1) / a (1 ,1) -(1/ a (1 ,1) ) *( a (1 ,2) * x2 + a (1 ,3) * x3 + a
(1 ,4) * x4 ) ;
104 g2 := b (2 ,1) / a (2 ,2) -(1/ a (2 ,2) ) *( a (2 ,1) * x1 + a (2 ,3) * x3 + a
(2 ,4) * x4 ) ;
105 g3 := b (3 ,1) / a (3 ,3) -(1/ a (3 ,3) ) *( a (3 ,1) * x1 + a (3 ,2) * x2 + a
(3 ,4) * x4 ) ;
106 g4 := b (4 ,1) / a (4 ,4) -(1/ a (4 ,4) ) *( a (4 ,1) * x1 + a (4 ,2) * x2 + a (4 ,3) * x3
);
107

108 x2 := xo2 ; x3 := xo3 ; x4 := xo4 ;


109 gi1 := EVAL ( g1 ) ; x1 := gi1 ;
110 gi2 := EVAL ( g2 ) ; x2 := gi2 ;
111 gi3 := EVAL ( g3 ) ; x3 := gi3 ;
112 gi4 := EVAL ( g4 ) ;
113 xi :=[[ gi1 ] ,[ gi2 ] ,[ gi3 ] ,[ gi4 ]];
114 er :=100;
115 ea :=[[100] ,[100] ,[100] ,[100]];
116 xo := ROUND ( xo , red ) ;
117 xi := ROUND ( xi , red ) ;
118 er := ROUND ( er , red ) ;
119 ea := ROUND ( ea , red ) ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 141


Universidad Nacional de San Cristobal de Huamanga

120 Spreadsheet . Cell (1 ,1) :=" i "; Spreadsheet . Cell (1 ,2) :=" xa ";
Spreadsheet . Cell (1 ,3) :=" xi "; Spreadsheet . Cell (1 ,4) :=" Exi %";
Spreadsheet . Cell (1 ,5) :=" Er ";
121 Spreadsheet . Cell (2 ,1) :=1; Spreadsheet . Cell (2 ,2) := xo ; Spreadsheet .
Cell (2 ,3) := xi ; Spreadsheet . Cell (2 ,4) := ea ; Spreadsheet . Cell
(2 ,5) := er ;
122 ii :=3;
123 WHILE ( ea (1 ,1) > Er OR ea (2 ,1) > Er OR ea (3 ,1) > Er OR ea (4 ,1) > Er )
AND ( ii -1) ? maxiter DO
124 x1 := CAS . x1 ; x2 := CAS . x2 ; x3 := CAS . x3 ; x4 := CAS . x4 ;
125 xa := xi ;
126 x2 := xa (2 ,1) ; x3 := xa (3 ,1) ; x4 := xa (4 ,1) ;
127 gi1 := EVAL ( g1 ) ; x1 := gi1 ;
128 gi2 := EVAL ( g2 ) ; x2 := gi2 ;
129 gi3 := EVAL ( g3 ) ; x3 := gi3 ;
130 gi4 := EVAL ( g4 ) ;
131 xi :=[[ gi1 ] ,[ gi2 ] ,[ gi3 ] ,[ gi4 ]];
132 er := ABS ( l2norm ( xi - xa ) ) ;
133 ea := xi - xa ;
134 ea (1 ,1) := ABS ( ea (1 ,1) / xi (1 ,1) ) *100; ea (2 ,1) := ABS ( ea (2 ,1) / xi (2 ,1) )
*100; ea (3 ,1) := ABS ( ea (3 ,1) / xi (3 ,1) ) *100; ea (4 ,1) := ABS ( ea (4 ,1) /
xi (4 ,1) ) *100;
135 xa := ROUND ( xa , red ) ;
136 xi := ROUND ( xi , red ) ;
137 er := ROUND ( er , red ) ;
138 ea := ROUND ( ea , red ) ;
139 Spreadsheet . Cell ( ii ,1) := ii -1; Spreadsheet . Cell ( ii ,2) := xa ;
Spreadsheet . Cell ( ii ,3) := xi ; Spreadsheet . Cell ( ii ,4) := ea ;
Spreadsheet . Cell ( ii ,5) := er ;
140 ii := ii +1;
141 END ;
142 res := xi ;
143 Spreadsheet . Cell ( ii ,1) :=" resultado "; Spreadsheet . Cell ( ii ,2) := res
;
144 STARTAPP (" Spreadsheet ") ;
145 res := xi ;
146 END ;
147

148 IF n ==5 THEN


149 INPUT ({ Er , maxiter , red }) ;
150 INPUT ({ xo2 , xo3 , xo4 , xo5 }) ;
151 g1 := b (1 ,1) / a (1 ,1) -(1/ a (1 ,1) ) *( a (1 ,2) * x2 + a (1 ,3) * x3 + a
(1 ,4) * x4 + a (1 ,5) * x5 ) ;
152 g2 := b (2 ,1) / a (2 ,2) -(1/ a (2 ,2) ) *( a (2 ,1) * x1 + a (2 ,3) * x3 + a

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 142


Universidad Nacional de San Cristobal de Huamanga

(2 ,4) * x4 + a (2 ,5) * x5 ) ;
153 g3 := b (3 ,1) / a (3 ,3) -(1/ a (3 ,3) ) *( a (3 ,1) * x1 + a (3 ,2) * x2 + a
(3 ,4) * x4 + a (3 ,5) * x5 ) ;
154 g4 := b (4 ,1) / a (4 ,4) -(1/ a (4 ,4) ) *( a (4 ,1) * x1 + a (4 ,2) * x2 + a (4 ,3) * x3
+ a (4 ,5) * x5 ) ;
155 g5 := b (5 ,1) / a (5 ,5) -(1/ a (5 ,5) ) *( a (5 ,1) * x1 + a (5 ,2) * x2 + a (5 ,3) * x3 + a
(5 ,4) * x4 );
156 x2 := xo2 ; x3 := xo3 ; x4 := xo4 ; x5 := xo5 ;
157 gi1 := EVAL ( g1 ) ; x1 := gi1 ;
158 gi2 := EVAL ( g2 ) ; x2 := gi2 ;
159 gi3 := EVAL ( g3 ) ; x3 := gi3 ;
160 gi4 := EVAL ( g4 ) ; x4 := gi4 ;
161 gi5 := EVAL ( g5 ) ;
162

163 xi :=[[ gi1 ] ,[ gi2 ] ,[ gi3 ] ,[ gi4 ] ,[ gi5 ]];


164 er :=100;
165 ea :=[[100] ,[100] ,[100] ,[100] ,[100]];
166 xo := ROUND ( xo , red ) ;
167 xi := ROUND ( xi , red ) ;
168 er := ROUND ( er , red ) ;
169 ea := ROUND ( ea , red ) ;
170 Spreadsheet . Cell (1 ,1) :=" i "; Spreadsheet . Cell (1 ,2) :=" xa ";
Spreadsheet . Cell (1 ,3) :=" xi "; Spreadsheet . Cell (1 ,4) :=" Exi %";
Spreadsheet . Cell (1 ,5) :=" Er ";
171 Spreadsheet . Cell (2 ,1) :=1; Spreadsheet . Cell (2 ,2) := xo ; Spreadsheet .
Cell (2 ,3) := xi ; Spreadsheet . Cell (2 ,4) := ea ; Spreadsheet . Cell
(2 ,5) := er ;
172 ii :=3;
173 WHILE ( ea (1 ,1) > Er OR ea (2 ,1) > Er OR ea (3 ,1) > Er OR ea (4 ,1) > Er
AND ea (5 ,1) > Er ) AND ( ii -1) ? maxiter DO
174 x1 := CAS . x1 ; x2 := CAS . x2 ; x3 := CAS . x3 ; x4 := CAS . x4 ; x5 := CAS . x5 ;
175 xa := xi ;
176 x2 := xa (2 ,1) ; x3 := xa (3 ,1) ; x4 := xa (4 ,1) ; x5 := xa (5 ,1) ;
177 gi1 := EVAL ( g1 ) ; x1 := gi1 ;
178 gi2 := EVAL ( g2 ) ; x2 := gi2 ;
179 gi3 := EVAL ( g3 ) ; x3 := gi3 ;
180 gi4 := EVAL ( g4 ) ; x4 := gi4 ;
181 gi5 := EVAL ( g5 ) ;
182 xi :=[[ gi1 ] ,[ gi2 ] ,[ gi3 ] ,[ gi4 ] ,[ gi5 ]];
183 er := ABS ( l2norm ( xi - xa ) ) ;
184 ea := xi - xa ;
185 ea (1 ,1) := ABS ( ea (1 ,1) / xi (1 ,1) ) *100; ea (2 ,1) := ABS ( ea (2 ,1) / xi (2 ,1) )
*100; ea (3 ,1) := ABS ( ea (3 ,1) / xi (3 ,1) ) *100; ea (4 ,1) := ABS ( ea (4 ,1) /
xi (4 ,1) ) *100; ea (5 ,1) := ABS ( ea (5 ,1) / xi (5 ,1) ) *100;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 143


Universidad Nacional de San Cristobal de Huamanga

186 xa := ROUND ( xa , red ) ;


187 xi := ROUND ( xi , red ) ;
188 er := ROUND ( er , red ) ;
189 ea := ROUND ( ea , red ) ;
190 Spreadsheet . Cell ( ii ,1) := ii -1; Spreadsheet . Cell ( ii ,2) := xa ;
Spreadsheet . Cell ( ii ,3) := xi ; Spreadsheet . Cell ( ii ,4) := ea ;
Spreadsheet . Cell ( ii ,5) := er ;
191 ii := ii +1;
192 END ;
193 res := xi ;
194 Spreadsheet . Cell ( ii ,1) :=" resultado "; Spreadsheet . Cell ( ii ,2) := res
;
195 STARTAPP (" Spreadsheet ") ;
196 res := xi ;
197 END ;
198

199

200 IF n ==6 THEN


201 INPUT ({ Er , maxiter , red }) ;
202 INPUT ({ xo2 , xo3 , xo4 , xo5 , xo6 }) ;
203 g1 := b (1 ,1) / a (1 ,1) -(1/ a (1 ,1) ) *( a (1 ,2) * x2 + a (1 ,3) * x3 + a
(1 ,4) * x4 + a (1 ,5) * x5 + a (1 ,6) * x6 ) ;
204 g2 := b (2 ,1) / a (2 ,2) -(1/ a (2 ,2) ) *( a (2 ,1) * x1 + a (2 ,3) * x3 + a
(2 ,4) * x4 + a (2 ,5) * x5 + a (2 ,6) * x6 ) ;
205 g3 := b (3 ,1) / a (3 ,3) -(1/ a (3 ,3) ) *( a (3 ,1) * x1 + a (3 ,2) * x2 + a
(3 ,4) * x4 + a (3 ,5) * x5 + a (3 ,6) * x6 ) ;
206 g4 := b (4 ,1) / a (4 ,4) -(1/ a (4 ,4) ) *( a (4 ,1) * x1 + a (4 ,2) * x2 + a (4 ,3) * x3
+ a (4 ,5) * x5 + a (4 ,6) * x6 ) ;
207 g5 := b (5 ,1) / a (5 ,5) -(1/ a (5 ,5) ) *( a (5 ,1) * x1 + a (5 ,2) * x2 + a (5 ,3) * x3 + a
(5 ,4) * x4 + a (5 ,6) * x6 ) ;
208 g6 := b (6 ,1) / a (6 ,6) -(1/ a (6 ,6) ) *( a (6 ,1) * x1 + a (6 ,2) * x2 + a (6 ,3) * x3 + a
(6 ,4) * x4 + a (6 ,5) * x5 );
209 x2 := xo2 ; x3 := xo3 ; x4 := xo4 ; x5 := xo5 ; x6 := xo6 ;
210 gi1 := EVAL ( g1 ) ; x1 := gi1 ;
211 gi2 := EVAL ( g2 ) ; x2 := gi2 ;
212 gi3 := EVAL ( g3 ) ; x3 := gi3 ;
213 gi4 := EVAL ( g4 ) ; x4 := gi4 ;
214 gi5 := EVAL ( g5 ) ; x5 := gi5 ;
215 gi6 := EVAL ( g6 ) ;
216 xi :=[[ gi1 ] ,[ gi2 ] ,[ gi3 ] ,[ gi4 ] ,[ gi5 ] ,[ gi6 ]];
217 er :=100;
218 ea :=[[100] ,[100] ,[100] ,[100] ,[100] ,[100]];
219 xo := ROUND ( xo , red ) ;
220 xi := ROUND ( xi , red ) ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 144


Universidad Nacional de San Cristobal de Huamanga

221 er := ROUND ( er , red ) ;


222 ea := ROUND ( ea , red ) ;
223 Spreadsheet . Cell (1 ,1) :=" i "; Spreadsheet . Cell (1 ,2) :=" xa ";
Spreadsheet . Cell (1 ,3) :=" xi "; Spreadsheet . Cell (1 ,4) :=" Exi %";
Spreadsheet . Cell (1 ,5) :=" Er ";
224 Spreadsheet . Cell (2 ,1) :=1; Spreadsheet . Cell (2 ,2) := xo ; Spreadsheet .
Cell (2 ,3) := xi ; Spreadsheet . Cell (2 ,4) := ea ; Spreadsheet . Cell
(2 ,5) := er ;
225 ii :=3;
226 WHILE ( ea (1 ,1) > Er OR ea (2 ,1) > Er OR ea (3 ,1) > Er OR ea (4 ,1) > Er OR
ea (5 ,1) > Er OR ea (6 ,1) > Er ) AND ( ii -1) ? maxiter DO
227 x1 := CAS . x1 ; x2 := CAS . x2 ; x3 := CAS . x3 ; x4 := CAS . x4 ; x5 := CAS . x5 ; x6 := CAS .
x6 ;
228 xa := xi ;
229 x2 := xa (2 ,1) ; x3 := xa (3 ,1) ; x4 := xa (4 ,1) ; x5 := xa (5 ,1) ; x6 := xa (6 ,1) ;
230 gi1 := EVAL ( g1 ) ; x1 := gi1 ;
231 gi2 := EVAL ( g2 ) ; x2 := gi2 ;
232 gi3 := EVAL ( g3 ) ; x3 := gi3 ;
233 gi4 := EVAL ( g4 ) ; x4 := gi4 ;
234 gi5 := EVAL ( g5 ) ; x5 := gi5 ;
235 gi6 := EVAL ( g6 ) ;
236 xi :=[[ gi1 ] ,[ gi2 ] ,[ gi3 ] ,[ gi4 ] ,[ gi5 ] ,[ gi6 ]];
237 er := ABS ( l2norm ( xi - xa ) ) ;
238 ea := xi - xa ;
239 ea (1 ,1) := ABS ( ea (1 ,1) / xi (1 ,1) ) *100; ea (2 ,1) := ABS ( ea (2 ,1) / xi (2 ,1) )
*100; ea (3 ,1) := ABS ( ea (3 ,1) / xi (3 ,1) ) *100; ea (4 ,1) := ABS ( ea (4 ,1) /
xi (4 ,1) ) *100; ea (5 ,1) := ABS ( ea (5 ,1) / xi (5 ,1) ) *100; ea (6 ,1) := ABS (
ea (6 ,1) / xi (6 ,1) ) *100;
240 xa := ROUND ( xa , red ) ;
241 xi := ROUND ( xi , red ) ;
242 er := ROUND ( er , red ) ;
243 ea := ROUND ( ea , red ) ;
244 Spreadsheet . Cell ( ii ,1) := ii -1; Spreadsheet . Cell ( ii ,2) := xa ;
Spreadsheet . Cell ( ii ,3) := xi ; Spreadsheet . Cell ( ii ,4) := ea ;
Spreadsheet . Cell ( ii ,5) := er ;
245 ii := ii +1;
246 END ;
247 res := xi ;
248 Spreadsheet . Cell ( ii ,1) :=" resultado "; Spreadsheet . Cell ( ii ,2) := res
;
249 STARTAPP (" Spreadsheet ") ;
250 res := xi ;
251 END ;
252

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 145


Universidad Nacional de San Cristobal de Huamanga

253

254

255 IF n ==7 THEN


256 INPUT ({ Er , maxiter , red }) ;
257 INPUT ({ xo2 , xo3 , xo4 , xo5 , xo6 , xo7 }) ;
258 g1 := b (1 ,1) / a (1 ,1) -(1/ a (1 ,1) ) *( a (1 ,2) * x2 + a (1 ,3) * x3 + a
(1 ,4) * x4 + a (1 ,5) * x5 + a (1 ,6) * x6 + a (1 ,7) * x7 ) ;
259 g2 := b (2 ,1) / a (2 ,2) -(1/ a (2 ,2) ) *( a (2 ,1) * x1 + a (2 ,3) * x3 + a
(2 ,4) * x4 + a (2 ,5) * x5 + a (2 ,6) * x6 + a (2 ,7) * x7 ) ;
260 g3 := b (3 ,1) / a (3 ,3) -(1/ a (3 ,3) ) *( a (3 ,1) * x1 + a (3 ,2) * x2 + a
(3 ,4) * x4 + a (3 ,5) * x5 + a (3 ,6) * x6 + a (3 ,7) * x7 ) ;
261 g4 := b (4 ,1) / a (4 ,4) -(1/ a (4 ,4) ) *( a (4 ,1) * x1 + a (4 ,2) * x2 + a (4 ,3) * x3
+ a (4 ,5) * x5 + a (4 ,6) * x6 + a (4 ,7) * x7 ) ;
262 g5 := b (5 ,1) / a (5 ,5) -(1/ a (5 ,5) ) *( a (5 ,1) * x1 + a (5 ,2) * x2 + a (5 ,3) * x3 + a
(5 ,4) * x4 + a (5 ,6) * x6 + a (5 ,7) * x7 ) ;
263 g6 := b (6 ,1) / a (6 ,6) -(1/ a (6 ,6) ) *( a (6 ,1) * x1 + a (6 ,2) * x2 + a (6 ,3) * x3 + a
(6 ,4) * x4 + a (6 ,5) * x5 + a (6 ,7) * x7 ) ;
264 g7 := b (7 ,1) / a (7 ,7) -(1/ a (7 ,7) ) *( a (7 ,1) * x1 + a (7 ,2) * x2 + a (7 ,3) * x3 + a
(7 ,4) * x4 + a (7 ,5) * x5 + a (7 ,6) * x6 );
265 x2 := xo2 ; x3 := xo3 ; x4 := xo4 ; x5 := xo5 ; x6 := xo6 ; x7 := xo7 ;
266 gi1 := EVAL ( g1 ) ; x1 := gi1 ;
267 gi2 := EVAL ( g2 ) ; x2 := gi2 ;
268 gi3 := EVAL ( g3 ) ; x3 := gi3 ;
269 gi4 := EVAL ( g4 ) ; x4 := gi4 ;
270 gi5 := EVAL ( g5 ) ; x5 := gi5 ;
271 gi6 := EVAL ( g6 ) ; x6 := gi6 ;
272 gi7 := EVAL ( g7 ) ;
273 xi :=[[ gi1 ] ,[ gi2 ] ,[ gi3 ] ,[ gi4 ] ,[ gi5 ] ,[ gi6 ] ,[ gi7 ]];
274 er :=100;
275 ea :=[[100] ,[100] ,[100] ,[100] ,[100] ,[100] ,[100]];
276 xo := ROUND ( xo , red ) ;
277 xi := ROUND ( xi , red ) ;
278 er := ROUND ( er , red ) ;
279 ea := ROUND ( ea , red ) ;
280 Spreadsheet . Cell (1 ,1) :=" i "; Spreadsheet . Cell (1 ,2) :=" xa ";
Spreadsheet . Cell (1 ,3) :=" xi "; Spreadsheet . Cell (1 ,4) :=" Exi %";
Spreadsheet . Cell (1 ,5) :=" Er ";
281 Spreadsheet . Cell (2 ,1) :=1; Spreadsheet . Cell (2 ,2) := xo ; Spreadsheet .
Cell (2 ,3) := xi ; Spreadsheet . Cell (2 ,4) := ea ; Spreadsheet . Cell
(2 ,5) := er ;
282 ii :=3;
283 WHILE ( ea (1 ,1) > Er OR ea (2 ,1) > Er OR ea (3 ,1) > Er OR ea (4 ,1) > Er OR
ea (5 ,1) > Er OR ea (6 ,1) > Er OR ea (7 ,1) > Er ) AND ( ii -1) ?
maxiter DO

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 146


Universidad Nacional de San Cristobal de Huamanga

284 x1 := CAS . x1 ; x2 := CAS . x2 ; x3 := CAS . x3 ; x4 := CAS . x4 ; x5 := CAS . x5 ; x6 := CAS .


x6 ; x7 := CAS . x7 ;
285 xa := xi ;
286 x2 := xa (2 ,1) ; x3 := xa (3 ,1) ; x4 := xa (4 ,1) ; x5 := xa (5 ,1) ; x6 := xa (6 ,1) ; x7
:= xa (7 ,1) ;
287 gi1 := EVAL ( g1 ) ; x1 := gi1 ;
288 gi2 := EVAL ( g2 ) ; x2 := gi2 ;
289 gi3 := EVAL ( g3 ) ; x3 := gi3 ;
290 gi4 := EVAL ( g4 ) ; x4 := gi4 ;
291 gi5 := EVAL ( g5 ) ; x5 := gi5 ;
292 gi6 := EVAL ( g6 ) ; x6 := gi6 ;
293 gi7 := EVAL ( g7 ) ;
294

295 xi :=[[ gi1 ] ,[ gi2 ] ,[ gi3 ] ,[ gi4 ] ,[ gi5 ] ,[ gi6 ] ,[ gi7 ]];
296 er := ABS ( l2norm ( xi - xa ) ) ;
297 ea := xi - xa ;
298 ea (1 ,1) := ABS ( ea (1 ,1) / xi (1 ,1) ) *100; ea (2 ,1) := ABS ( ea (2 ,1) / xi (2 ,1) )
*100; ea (3 ,1) := ABS ( ea (3 ,1) / xi (3 ,1) ) *100; ea (4 ,1) := ABS ( ea (4 ,1) /
xi (4 ,1) ) *100; ea (5 ,1) := ABS ( ea (5 ,1) / xi (5 ,1) ) *100; ea (6 ,1) := ABS (
ea (6 ,1) / xi (6 ,1) ) *100; ea (7 ,1) := ABS ( ea (7 ,1) / xi (7 ,1) ) *100;
299 xa := ROUND ( xa , red ) ;
300 xi := ROUND ( xi , red ) ;
301 er := ROUND ( er , red ) ;
302 ea := ROUND ( ea , red ) ;
303 Spreadsheet . Cell ( ii ,1) := ii -1; Spreadsheet . Cell ( ii ,2) := xa ;
Spreadsheet . Cell ( ii ,3) := xi ; Spreadsheet . Cell ( ii ,4) := ea ;
Spreadsheet . Cell ( ii ,5) := er ;
304 ii := ii +1;
305 END ;
306 res := xi ;
307 Spreadsheet . Cell ( ii ,1) :=" resultado "; Spreadsheet . Cell ( ii ,2) := res
;
308 STARTAPP (" Spreadsheet ") ;
309 res := xi ;
310 END ;
311

312

313 IF n ==8 THEN


314 INPUT ({ Er , maxiter , red }) ;
315 INPUT ({ xo2 , xo3 , xo4 , xo5 , xo6 , xo7 , xo8 }) ;
316 g1 := b (1 ,1) / a (1 ,1) -(1/ a (1 ,1) ) *( a (1 ,2) * x2 + a (1 ,3) * x3 + a
(1 ,4) * x4 + a (1 ,5) * x5 + a (1 ,6) * x6 + a (1 ,7) * x7 + a (1 ,8) * x8 ) ;
317 g2 := b (2 ,1) / a (2 ,2) -(1/ a (2 ,2) ) *( a (2 ,1) * x1 + a (2 ,3) * x3 + a
(2 ,4) * x4 + a (2 ,5) * x5 + a (2 ,6) * x6 + a (2 ,7) * x7 + a (2 ,8) * x8 ) ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 147


Universidad Nacional de San Cristobal de Huamanga

318 g3 := b (3 ,1) / a (3 ,3) -(1/ a (3 ,3) ) *( a (3 ,1) * x1 + a (3 ,2) * x2 + a


(3 ,4) * x4 + a (3 ,5) * x5 + a (3 ,6) * x6 + a (3 ,7) * x7 + a (3 ,8) * x8 ) ;
319 g4 := b (4 ,1) / a (4 ,4) -(1/ a (4 ,4) ) *( a (4 ,1) * x1 + a (4 ,2) * x2 + a (4 ,3) * x3
+ a (4 ,5) * x5 + a (4 ,6) * x6 + a (4 ,7) * x7 + a (4 ,8) * x8 ) ;
320 g5 := b (5 ,1) / a (5 ,5) -(1/ a (5 ,5) ) *( a (5 ,1) * x1 + a (5 ,2) * x2 + a (5 ,3) * x3 + a
(5 ,4) * x4 + a (5 ,6) * x6 + a (5 ,7) * x7 + a (5 ,8) * x8 ) ;
321 g6 := b (6 ,1) / a (6 ,6) -(1/ a (6 ,6) ) *( a (6 ,1) * x1 + a (6 ,2) * x2 + a (6 ,3) * x3 + a
(6 ,4) * x4 + a (6 ,5) * x5 + a (6 ,7) * x7 + a (6 ,8) * x8 ) ;
322 g7 := b (7 ,1) / a (7 ,7) -(1/ a (7 ,7) ) *( a (7 ,1) * x1 + a (7 ,2) * x2 + a (7 ,3) * x3 + a
(7 ,4) * x4 + a (7 ,5) * x5 + a (7 ,6) * x6 + a (7 ,8) * x8 ) ;
323 g8 := b (8 ,1) / a (8 ,7) -(1/ a (8 ,7) ) *( a (8 ,1) * x1 + a (8 ,2) * x2 + a (8 ,3) * x3 + a
(8 ,4) * x4 + a (8 ,5) * x5 + a (8 ,6) * x6 + a (8 ,7) * x7 );
324 x2 := xo2 ; x3 := xo3 ; x4 := xo4 ; x5 := xo5 ; x6 := xo6 ; x7 := xo7 ; x8 := xo8 ;
325 gi1 := EVAL ( g1 ) ; x1 := gi1 ;
326 gi2 := EVAL ( g2 ) ; x2 := gi2 ;
327 gi3 := EVAL ( g3 ) ; x3 := gi3 ;
328 gi4 := EVAL ( g4 ) ; x4 := gi4 ;
329 gi5 := EVAL ( g5 ) ; x5 := gi5 ;
330 gi6 := EVAL ( g6 ) ; x6 := gi6 ;
331 gi7 := EVAL ( g7 ) ; x7 := gi7 ;
332 gi8 := EVAL ( g8 ) ;
333 xi :=[[ gi1 ] ,[ gi2 ] ,[ gi3 ] ,[ gi4 ] ,[ gi5 ] ,[ gi6 ] ,[ gi7 ] ,[ gi8 ]];
334 er :=100;
335 ea :=[[100] ,[100] ,[100] ,[100] ,[100] ,[100] ,[100] ,[100]];
336 xo := ROUND ( xo , red ) ;
337 xi := ROUND ( xi , red ) ;
338 er := ROUND ( er , red ) ;
339 ea := ROUND ( ea , red ) ;
340 Spreadsheet . Cell (1 ,1) :=" i "; Spreadsheet . Cell (1 ,2) :=" xa ";
Spreadsheet . Cell (1 ,3) :=" xi "; Spreadsheet . Cell (1 ,4) :=" Exi %";
Spreadsheet . Cell (1 ,5) :=" Er ";
341 Spreadsheet . Cell (2 ,1) :=1; Spreadsheet . Cell (2 ,2) := xo ; Spreadsheet .
Cell (2 ,3) := xi ; Spreadsheet . Cell (2 ,4) := ea ; Spreadsheet . Cell
(2 ,5) := er ;
342 ii :=3;
343 WHILE ( ea (1 ,1) > Er OR ea (2 ,1) > Er OR ea (3 ,1) > Er OR ea (4 ,1) > Er OR
ea (5 ,1) > Er OR ea (6 ,1) > Er OR ea (7 ,1) > Er OR ea (8 ,1) > Er )
AND ( ii -1) ? maxiter DO
344 x1 := CAS . x1 ; x2 := CAS . x2 ; x3 := CAS . x3 ; x4 := CAS . x4 ; x5 := CAS . x5 ; x6 := CAS .
x6 ; x7 := CAS . x7 ; x8 := CAS . x8 ;
345 xa := xi ;
346 x2 := xa (2 ,1) ; x3 := xa (3 ,1) ; x4 := xa (4 ,1) ; x5 := xa (5 ,1) ; x6 := xa (6 ,1) ; x7
:= xa (7 ,1) ; x8 := xa (8 ,1) ;
347 gi1 := EVAL ( g1 ) ; x1 := gi1 ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 148


Universidad Nacional de San Cristobal de Huamanga

348 gi2 := EVAL ( g2 ) ; x2 := gi2 ;


349 gi3 := EVAL ( g3 ) ; x3 := gi3 ;
350 gi4 := EVAL ( g4 ) ; x4 := gi4 ;
351 gi5 := EVAL ( g5 ) ; x5 := gi5 ;
352 gi6 := EVAL ( g6 ) ; x6 := gi6 ;
353 gi7 := EVAL ( g7 ) ; x7 := gi7 ;
354 gi8 := EVAL ( g8 ) ;
355

356 xi :=[[ gi1 ] ,[ gi2 ] ,[ gi3 ] ,[ gi4 ] ,[ gi5 ] ,[ gi6 ] ,[ gi7 ] ,[ gi8 ]];
357 er := ABS ( l2norm ( xi - xa ) ) ;
358 ea := xi - xa ;
359 ea (1 ,1) := ABS ( ea (1 ,1) / xi (1 ,1) ) *100; ea (2 ,1) := ABS ( ea (2 ,1) / xi (2 ,1) )
*100; ea (3 ,1) := ABS ( ea (3 ,1) / xi (3 ,1) ) *100; ea (4 ,1) := ABS ( ea (4 ,1) /
xi (4 ,1) ) *100; ea (5 ,1) := ABS ( ea (5 ,1) / xi (5 ,1) ) *100; ea (6 ,1) := ABS (
ea (6 ,1) / xi (6 ,1) ) *100; ea (7 ,1) := ABS ( ea (7 ,1) / xi (7 ,1) ) *100; ea
(8 ,1) := ABS ( ea (8 ,1) / xi (8 ,1) ) *100;
360 xa := ROUND ( xa , red ) ;
361 xi := ROUND ( xi , red ) ;
362 er := ROUND ( er , red ) ;
363 ea := ROUND ( ea , red ) ;
364 Spreadsheet . Cell ( ii ,1) := ii -1; Spreadsheet . Cell ( ii ,2) := xa ;
Spreadsheet . Cell ( ii ,3) := xi ; Spreadsheet . Cell ( ii ,4) := ea ;
Spreadsheet . Cell ( ii ,5) := er ;
365 ii := ii +1;
366 END ;
367 res := xi ;
368 Spreadsheet . Cell ( ii ,1) :=" resultado "; Spreadsheet . Cell ( ii ,2) := res
;
369 STARTAPP (" Spreadsheet ") ;
370 res := xi ;
371 END ;
372

373

374 END ;
375 Spreadsheet . Cell (1 ,6) :=" ecuaciones "; Spreadsheet . Cell (2 ,6) :={ g1 ,
g2 , g3 , g4 , g5 , g7 , g8 };
376 END ;

Programa 8.16 SOR

1 EXPORT Sor (a , b )
2 BEGIN
3 STARTAPP (" Function ") ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 149


Universidad Nacional de San Cristobal de Huamanga

4 LOCAL red ;
5 LOCAL xi1 , xi2 , xi3 , xi4 , xi5 , xi6 , xi7 , xi8 ;
6 LOCAL xa1 , xa2 , xa3 , xa4 , xa5 , xa6 , xa7 , xa8 ;
7 LOCAL g1 , g2 , g3 , g4 , g5 , g6 , g7 , g8 ;
8 LOCAL gi1 , gi2 , gi3 , gi4 , gi5 , gi6 , gi7 , gi8 ;
9 LOCAL xo , xi , xa ,x , ii , res ;
10 LOCAL x1 , x2 , x3 , x4 , x5 , x6 , x7 , x8 ; x1 := CAS . x1 ; x2 := CAS . x2 ; x3 := CAS . x3 ;
x4 := CAS . x4 ; x5 := CAS . x5 ; x6 := CAS . x6 ; x7 := CAS . x7 ; x8 := CAS . x8 ;
11 LOCAL n , Er , maxiter , er , ea ;
12 LOCAL w ;
13 LOCAL xo1 , xo2 , xo3 ; LOCAL xo4 , xo5 , xo6 , xo7 , xo8 , xo9 , xo10 ;
14 n := CAS . SIZE ( a ) ; n := n (1) ;
15 CASE
16 IF n ==2 THEN
17 INPUT ({ w , Er , maxiter , red }) ;
18 INPUT ({ xo2 }) ;
19

20 g1 := b (1 ,1) / a (1 ,1) -(1/ a (1 ,1) ) *( a (1 ,2) * x2 ) ;


21 g2 := b (2 ,1) / a (2 ,2) -(1/ a (2 ,2) ) *( a (2 ,1) * x1 ) ;
22 x2 := xo2 ; gi1 := EVAL ( g1 ) ;
23 x1 := gi1 ; gi2 := EVAL ( g2 ) ;
24 xi :=[[ gi1 ] ,[ gi2 ]];
25 er :=100;
26 ea :=[[100] ,[100] ,[100]];
27 xo := ROUND ( xo , red ) ;
28 xi := ROUND ( xi , red ) ;
29 er := ROUND ( er , red ) ;
30 ea := ROUND ( ea , red ) ;
31 Spreadsheet . Cell (1 ,1) :=" i "; Spreadsheet . Cell (1 ,2) :=" xa ";
Spreadsheet . Cell (1 ,3) :=" xi "; Spreadsheet . Cell (1 ,4) :=" Exi %";
Spreadsheet . Cell (1 ,5) :=" Er ";
32 Spreadsheet . Cell (2 ,1) :=1; Spreadsheet . Cell (2 ,2) := xo ; Spreadsheet .
Cell (2 ,3) := xi ; Spreadsheet . Cell (2 ,4) := ea ; Spreadsheet . Cell
(2 ,5) := er ;
33 ii :=3;
34 WHILE er > Er AND ii ? maxiter DO
35 x1 := CAS . x1 ; x2 := CAS . x2 ;
36 xa := xi ;
37 x2 := xa (2 ,1) ;
38 gi1 := EVAL ( g1 ) ; x1 := w * gi1 +(1 - w ) * xa (1 ,1) ;
39 gi2 := EVAL ( g2 ) ;
40

41 xi :=[[ gi1 ] ,[ gi2 ]];


42 er := ABS ( l2norm ( xi - xa ) ) ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 150


Universidad Nacional de San Cristobal de Huamanga

43 ea := xi - xa ;
44 ea (1 ,1) := ABS ( ea (1 ,1) / xi (1 ,1) ) *100; ea (2 ,1) := ABS ( ea (2 ,1) / xi (2 ,1) )
*100;
45 xa := ROUND ( xa , red ) ;
46 xi := ROUND ( xi , red ) ;
47 er := ROUND ( er , red ) ;
48 ea := ROUND ( ea , red ) ;
49 Spreadsheet . Cell ( ii ,1) := ii -1; Spreadsheet . Cell ( ii ,2) := xa ;
Spreadsheet . Cell ( ii ,3) := xi ; Spreadsheet . Cell ( ii ,4) := ea ;
Spreadsheet . Cell ( ii ,5) := er ;
50 ii := ii +1;
51 END ;
52 res := xi ;
53 Spreadsheet . Cell ( ii ,1) :=" resultado "; Spreadsheet . Cell ( ii ,2) := res
;
54 STARTAPP (" Spreadsheet ") ;
55 res := xi ;
56 END ;
57

58 IF n ==3 THEN
59 INPUT ({ w , Er , maxiter , red }) ;
60 INPUT ({ xo2 , xo3 }) ;
61 g1 := b (1 ,1) / a (1 ,1) -(1/ a (1 ,1) ) *( a (1 ,2) * x2 + a (1 ,3) * x3 ) ;
62 g2 := b (2 ,1) / a (2 ,2) -(1/ a (2 ,2) ) *( a (2 ,1) * x1 + a (2 ,3) * x3 ) ;
63 g3 := b (3 ,1) / a (3 ,3) -(1/ a (3 ,3) ) *( a (3 ,1) * x1 + a (3 ,2) * x2 ) ;
64 x2 := xo2 ; x3 := xo3 ;
65 gi1 := EVAL ( g1 ) ; x1 := gi1 ;
66 gi2 := EVAL ( g2 ) ; x2 := gi2 ;
67 gi3 := EVAL ( g3 ) ;
68 xi :=[[ gi1 ] ,[ gi2 ] ,[ gi3 ]];
69 er :=100;
70 ea :=[[100] ,[100] ,[100]];
71 xo := ROUND ( xo , red ) ;
72 xi := ROUND ( xi , red ) ;
73 er := ROUND ( er , red ) ;
74 ea := ROUND ( ea , red ) ;
75 Spreadsheet . Cell (1 ,1) :=" i "; Spreadsheet . Cell (1 ,2) :=" xa ";
Spreadsheet . Cell (1 ,3) :=" xi "; Spreadsheet . Cell (1 ,4) :=" Exi %";
Spreadsheet . Cell (1 ,5) :=" Er ";
76 Spreadsheet . Cell (2 ,1) :=1; Spreadsheet . Cell (2 ,2) := xo ; Spreadsheet .
Cell (2 ,3) := xi ; Spreadsheet . Cell (2 ,4) := ea ; Spreadsheet . Cell
(2 ,5) := er ;
77 ii :=3;
78 WHILE ( ea (1 ,1) > Er OR ea (2 ,1) > Er OR ea (3 ,1) > Er ) AND ( ii -1) ?

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 151


Universidad Nacional de San Cristobal de Huamanga

maxiter DO
79 x1 := CAS . x1 ; x2 := CAS . x2 ; x3 := CAS . x3 ;
80 xa := xi ;
81 x2 := xa (2 ,1) ; x3 := xa (3 ,1) ;
82 gi1 := EVAL ( g1 ) ; x1 := w * gi1 +(1 - w ) * xa (1 ,1) ; gi1 := x1 ;
83 gi2 := EVAL ( g2 ) ; x2 := w * gi2 +(1 - w ) * xa (2 ,1) ; gi2 := x2 ;
84 gi3 := EVAL ( g3 ) ; x3 := w * gi3 +(1 - w ) * xa (3 ,1) ; gi3 := x3 ;
85 xi :=[[ gi1 ] ,[ gi2 ] ,[ gi3 ]];
86 er := ABS ( l2norm ( xi - xa ) ) ;
87 ea := xi - xa ;
88 ea (1 ,1) := ABS ( ea (1 ,1) / xi (1 ,1) ) *100; ea (2 ,1) := ABS ( ea (2 ,1) / xi (2 ,1) )
*100; ea (3 ,1) := ABS ( ea (3 ,1) / xi (3 ,1) ) *100;
89 xa := ROUND ( xa , red ) ;
90 xi := ROUND ( xi , red ) ;
91 er := ROUND ( er , red ) ;
92 ea := ROUND ( ea , red ) ;
93 Spreadsheet . Cell ( ii ,1) := ii -1; Spreadsheet . Cell ( ii ,2) := xa ;
Spreadsheet . Cell ( ii ,3) := xi ; Spreadsheet . Cell ( ii ,4) := ea ;
Spreadsheet . Cell ( ii ,5) := er ;
94 ii := ii +1;
95 END ;
96 res := xi ;
97 Spreadsheet . Cell ( ii ,1) :=" resultado "; Spreadsheet . Cell ( ii ,2) := res
;
98 STARTAPP (" Spreadsheet ") ;
99 res := xi ;
100 END ;
101

102 IF n ==4 THEN


103 INPUT ({ w , Er , maxiter , red }) ;
104 INPUT ({ xo2 , xo3 , xo4 }) ;
105 g1 := b (1 ,1) / a (1 ,1) -(1/ a (1 ,1) ) *( a (1 ,2) * x2 + a (1 ,3) * x3 + a
(1 ,4) * x4 ) ;
106 g2 := b (2 ,1) / a (2 ,2) -(1/ a (2 ,2) ) *( a (2 ,1) * x1 + a (2 ,3) * x3 + a
(2 ,4) * x4 ) ;
107 g3 := b (3 ,1) / a (3 ,3) -(1/ a (3 ,3) ) *( a (3 ,1) * x1 + a (3 ,2) * x2 + a
(3 ,4) * x4 ) ;
108 g4 := b (4 ,1) / a (4 ,4) -(1/ a (4 ,4) ) *( a (4 ,1) * x1 + a (4 ,2) * x2 + a (4 ,3) * x3
);
109

110 x2 := xo2 ; x3 := xo3 ; x4 := xo4 ;


111 gi1 := EVAL ( g1 ) ; x1 := gi1 ;
112 gi2 := EVAL ( g2 ) ; x2 := gi2 ;
113 gi3 := EVAL ( g3 ) ; x3 := gi3 ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 152


Universidad Nacional de San Cristobal de Huamanga

114 gi4 := EVAL ( g4 ) ;


115 xi :=[[ gi1 ] ,[ gi2 ] ,[ gi3 ] ,[ gi4 ]];
116 er :=100;
117 ea :=[[100] ,[100] ,[100] ,[100]];
118 xo := ROUND ( xo , red ) ;
119 xi := ROUND ( xi , red ) ;
120 er := ROUND ( er , red ) ;
121 ea := ROUND ( ea , red ) ;
122 Spreadsheet . Cell (1 ,1) :=" i "; Spreadsheet . Cell (1 ,2) :=" xa ";
Spreadsheet . Cell (1 ,3) :=" xi "; Spreadsheet . Cell (1 ,4) :=" Exi %";
Spreadsheet . Cell (1 ,5) :=" Er ";
123 Spreadsheet . Cell (2 ,1) :=1; Spreadsheet . Cell (2 ,2) := xo ; Spreadsheet .
Cell (2 ,3) := xi ; Spreadsheet . Cell (2 ,4) := ea ; Spreadsheet . Cell
(2 ,5) := er ;
124 ii :=3;
125 WHILE ( ea (1 ,1) > Er OR ea (2 ,1) > Er OR ea (3 ,1) > Er OR ea (4 ,1) > Er )
AND ( ii -1) ? maxiter DO
126 x1 := CAS . x1 ; x2 := CAS . x2 ; x3 := CAS . x3 ; x4 := CAS . x4 ;
127 xa := xi ;
128 x2 := xa (2 ,1) ; x3 := xa (3 ,1) ; x4 := xa (4 ,1) ;
129 gi1 := EVAL ( g1 ) ; x1 := w * gi1 +(1 - w ) * xa (1 ,1) ; gi1 := x1 ;
130 gi2 := EVAL ( g2 ) ; x2 := w * gi2 +(1 - w ) * xa (2 ,1) ; gi2 := x2 ;
131 gi3 := EVAL ( g3 ) ; x3 := w * gi3 +(1 - w ) * xa (3 ,1) ; gi3 := x3 ;
132 gi4 := EVAL ( g4 ) ; x4 := w * gi4 +(1 - w ) * xa (4 ,1) ; gi4 := x4 ;
133 xi :=[[ gi1 ] ,[ gi2 ] ,[ gi3 ] ,[ gi4 ]];
134 er := ABS ( l2norm ( xi - xa ) ) ;
135 ea := xi - xa ;
136 ea (1 ,1) := ABS ( ea (1 ,1) / xi (1 ,1) ) *100; ea (2 ,1) := ABS ( ea (2 ,1) / xi (2 ,1) )
*100; ea (3 ,1) := ABS ( ea (3 ,1) / xi (3 ,1) ) *100; ea (4 ,1) := ABS ( ea (4 ,1) /
xi (4 ,1) ) *100;
137 xa := ROUND ( xa , red ) ;
138 xi := ROUND ( xi , red ) ;
139 er := ROUND ( er , red ) ;
140 ea := ROUND ( ea , red ) ;
141 Spreadsheet . Cell ( ii ,1) := ii -1; Spreadsheet . Cell ( ii ,2) := xa ;
Spreadsheet . Cell ( ii ,3) := xi ; Spreadsheet . Cell ( ii ,4) := ea ;
Spreadsheet . Cell ( ii ,5) := er ;
142 ii := ii +1;
143 END ;
144 res := xi ;
145 Spreadsheet . Cell ( ii ,1) :=" resultado "; Spreadsheet . Cell ( ii ,2) := res
;
146 STARTAPP (" Spreadsheet ") ;
147 res := xi ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 153


Universidad Nacional de San Cristobal de Huamanga

148 END ;
149

150 IF n ==5 THEN


151 INPUT ({ w , Er , maxiter , red }) ;
152 INPUT ({ xo2 , xo3 , xo4 , xo5 }) ;
153 g1 := b (1 ,1) / a (1 ,1) -(1/ a (1 ,1) ) *( a (1 ,2) * x2 + a (1 ,3) * x3 + a
(1 ,4) * x4 + a (1 ,5) * x5 ) ;
154 g2 := b (2 ,1) / a (2 ,2) -(1/ a (2 ,2) ) *( a (2 ,1) * x1 + a (2 ,3) * x3 + a
(2 ,4) * x4 + a (2 ,5) * x5 ) ;
155 g3 := b (3 ,1) / a (3 ,3) -(1/ a (3 ,3) ) *( a (3 ,1) * x1 + a (3 ,2) * x2 + a
(3 ,4) * x4 + a (3 ,5) * x5 ) ;
156 g4 := b (4 ,1) / a (4 ,4) -(1/ a (4 ,4) ) *( a (4 ,1) * x1 + a (4 ,2) * x2 + a (4 ,3) * x3
+ a (4 ,5) * x5 ) ;
157 g5 := b (5 ,1) / a (5 ,5) -(1/ a (5 ,5) ) *( a (5 ,1) * x1 + a (5 ,2) * x2 + a (5 ,3) * x3 + a
(5 ,4) * x4 );
158 x2 := xo2 ; x3 := xo3 ; x4 := xo4 ; x5 := xo5 ;
159 gi1 := EVAL ( g1 ) ; x1 := gi1 ;
160 gi2 := EVAL ( g2 ) ; x2 := gi2 ;
161 gi3 := EVAL ( g3 ) ; x3 := gi3 ;
162 gi4 := EVAL ( g4 ) ; x4 := gi4 ;
163 gi5 := EVAL ( g5 ) ;
164

165 xi :=[[ gi1 ] ,[ gi2 ] ,[ gi3 ] ,[ gi4 ] ,[ gi5 ]];


166 er :=100;
167 ea :=[[100] ,[100] ,[100] ,[100] ,[100]];
168 xo := ROUND ( xo , red ) ;
169 xi := ROUND ( xi , red ) ;
170 er := ROUND ( er , red ) ;
171 ea := ROUND ( ea , red ) ;
172 Spreadsheet . Cell (1 ,1) :=" i "; Spreadsheet . Cell (1 ,2) :=" xa ";
Spreadsheet . Cell (1 ,3) :=" xi "; Spreadsheet . Cell (1 ,4) :=" Exi %";
Spreadsheet . Cell (1 ,5) :=" Er ";
173 Spreadsheet . Cell (2 ,1) :=1; Spreadsheet . Cell (2 ,2) := xo ; Spreadsheet .
Cell (2 ,3) := xi ; Spreadsheet . Cell (2 ,4) := ea ; Spreadsheet . Cell
(2 ,5) := er ;
174 ii :=3;
175 WHILE ( ea (1 ,1) > Er OR ea (2 ,1) > Er OR ea (3 ,1) > Er OR ea (4 ,1) > Er OR
ea (5 ,1) > Er ) AND ( ii -1) ? maxiter DO
176 x1 := CAS . x1 ; x2 := CAS . x2 ; x3 := CAS . x3 ; x4 := CAS . x4 ; x5 := CAS . x5 ;
177 xa := xi ;
178 x2 := xa (2 ,1) ; x3 := xa (3 ,1) ; x4 := xa (4 ,1) ; x5 := xa (5 ,1) ;
179 gi1 := EVAL ( g1 ) ; x1 := w * gi1 +(1 - w ) * xa (1 ,1) ; gi1 := x1 ;
180 gi2 := EVAL ( g2 ) ; x2 := w * gi2 +(1 - w ) * xa (2 ,1) ; gi2 := x2 ;
181 gi3 := EVAL ( g3 ) ; x3 := w * gi3 +(1 - w ) * xa (3 ,1) ; gi3 := x3 ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 154


Universidad Nacional de San Cristobal de Huamanga

182 gi4 := EVAL ( g4 ) ; x4 := w * gi4 +(1 - w ) * xa (4 ,1) ; gi4 := x4 ;


183 gi5 := EVAL ( g5 ) ; x5 := w * gi5 +(1 - w ) * xa (5 ,1) ; gi5 := x5 ;
184 xi :=[[ gi1 ] ,[ gi2 ] ,[ gi3 ] ,[ gi4 ] ,[ gi5 ]];
185 er := ABS ( l2norm ( xi - xa ) ) ;
186 ea := xi - xa ;
187 ea (1 ,1) := ABS ( ea (1 ,1) / xi (1 ,1) ) *100; ea (2 ,1) := ABS ( ea (2 ,1) / xi (2 ,1) )
*100; ea (3 ,1) := ABS ( ea (3 ,1) / xi (3 ,1) ) *100; ea (4 ,1) := ABS ( ea (4 ,1) /
xi (4 ,1) ) *100; ea (5 ,1) := ABS ( ea (5 ,1) / xi (5 ,1) ) *100;
188 xa := ROUND ( xa , red ) ;
189 xi := ROUND ( xi , red ) ;
190 er := ROUND ( er , red ) ;
191 ea := ROUND ( ea , red ) ;
192 Spreadsheet . Cell ( ii ,1) := ii -1; Spreadsheet . Cell ( ii ,2) := xa ;
Spreadsheet . Cell ( ii ,3) := xi ; Spreadsheet . Cell ( ii ,4) := ea ;
Spreadsheet . Cell ( ii ,5) := er ;
193 ii := ii +1;
194 END ;
195 res := xi ;
196 Spreadsheet . Cell ( ii ,1) :=" resultado "; Spreadsheet . Cell ( ii ,2) := res
;
197 STARTAPP (" Spreadsheet ") ;
198 res := xi ;
199 END ;
200

201

202 IF n ==6 THEN


203 INPUT ({ w , Er , maxiter , red }) ;
204 INPUT ({ xo2 , xo3 , xo4 , xo5 , xo6 }) ;
205 g1 := b (1 ,1) / a (1 ,1) -(1/ a (1 ,1) ) *( a (1 ,2) * x2 + a (1 ,3) * x3 + a
(1 ,4) * x4 + a (1 ,5) * x5 + a (1 ,6) * x6 ) ;
206 g2 := b (2 ,1) / a (2 ,2) -(1/ a (2 ,2) ) *( a (2 ,1) * x1 + a (2 ,3) * x3 + a
(2 ,4) * x4 + a (2 ,5) * x5 + a (2 ,6) * x6 ) ;
207 g3 := b (3 ,1) / a (3 ,3) -(1/ a (3 ,3) ) *( a (3 ,1) * x1 + a (3 ,2) * x2 + a
(3 ,4) * x4 + a (3 ,5) * x5 + a (3 ,6) * x6 ) ;
208 g4 := b (4 ,1) / a (4 ,4) -(1/ a (4 ,4) ) *( a (4 ,1) * x1 + a (4 ,2) * x2 + a (4 ,3) * x3
+ a (4 ,5) * x5 + a (4 ,6) * x6 ) ;
209 g5 := b (5 ,1) / a (5 ,5) -(1/ a (5 ,5) ) *( a (5 ,1) * x1 + a (5 ,2) * x2 + a (5 ,3) * x3 + a
(5 ,4) * x4 + a (5 ,6) * x6 ) ;
210 g6 := b (6 ,1) / a (6 ,6) -(1/ a (6 ,6) ) *( a (6 ,1) * x1 + a (6 ,2) * x2 + a (6 ,3) * x3 + a
(6 ,4) * x4 + a (6 ,5) * x5 );
211 x2 := xo2 ; x3 := xo3 ; x4 := xo4 ; x5 := xo5 ; x6 := xo6 ;
212 gi1 := EVAL ( g1 ) ; x1 := gi1 ;
213 gi2 := EVAL ( g2 ) ; x2 := gi2 ;
214 gi3 := EVAL ( g3 ) ; x3 := gi3 ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 155


Universidad Nacional de San Cristobal de Huamanga

215 gi4 := EVAL ( g4 ) ; x4 := gi4 ;


216 gi5 := EVAL ( g5 ) ; x5 := gi5 ;
217 gi6 := EVAL ( g6 ) ;
218 xi :=[[ gi1 ] ,[ gi2 ] ,[ gi3 ] ,[ gi4 ] ,[ gi5 ] ,[ gi6 ]];
219 er :=100;
220 ea :=[[100] ,[100] ,[100] ,[100] ,[100] ,[100]];
221 xo := ROUND ( xo , red ) ;
222 xi := ROUND ( xi , red ) ;
223 er := ROUND ( er , red ) ;
224 ea := ROUND ( ea , red ) ;
225 Spreadsheet . Cell (1 ,1) :=" i "; Spreadsheet . Cell (1 ,2) :=" xa ";
Spreadsheet . Cell (1 ,3) :=" xi "; Spreadsheet . Cell (1 ,4) :=" Exi %";
Spreadsheet . Cell (1 ,5) :=" Er ";
226 Spreadsheet . Cell (2 ,1) :=1; Spreadsheet . Cell (2 ,2) := xo ; Spreadsheet .
Cell (2 ,3) := xi ; Spreadsheet . Cell (2 ,4) := ea ; Spreadsheet . Cell
(2 ,5) := er ;
227 ii :=3;
228 WHILE ( ea (1 ,1) > Er OR ea (2 ,1) > Er OR ea (3 ,1) > Er OR ea (4 ,1) > Er OR
ea (5 ,1) > Er OR ea (6 ,1) > Er ) AND ( ii -1) ? maxiter DO
229 x1 := CAS . x1 ; x2 := CAS . x2 ; x3 := CAS . x3 ; x4 := CAS . x4 ; x5 := CAS . x5 ; x6 := CAS .
x6 ;
230 xa := xi ;
231 x2 := xa (2 ,1) ; x3 := xa (3 ,1) ; x4 := xa (4 ,1) ; x5 := xa (5 ,1) ; x6 := xa (6 ,1) ;
232 gi1 := EVAL ( g1 ) ; x1 := w * gi1 +(1 - w ) * xa (1 ,1) ; gi1 := x1 ;
233 gi2 := EVAL ( g2 ) ; x2 := w * gi2 +(1 - w ) * xa (2 ,1) ; gi2 := x2 ;
234 gi3 := EVAL ( g3 ) ; x3 := w * gi3 +(1 - w ) * xa (3 ,1) ; gi3 := x3 ;
235 gi4 := EVAL ( g4 ) ; x4 := w * gi4 +(1 - w ) * xa (4 ,1) ; gi4 := x4 ;
236 gi5 := EVAL ( g5 ) ; x5 := w * gi5 +(1 - w ) * xa (5 ,1) ; gi5 := x5 ;
237 gi6 := EVAL ( g6 ) ; x6 := w * gi6 +(1 - w ) * xa (6 ,1) ; gi6 := x6 ;
238 xi :=[[ gi1 ] ,[ gi2 ] ,[ gi3 ] ,[ gi4 ] ,[ gi5 ] ,[ gi6 ]];
239 er := ABS ( l2norm ( xi - xa ) ) ;
240 ea := xi - xa ;
241 ea (1 ,1) := ABS ( ea (1 ,1) / xi (1 ,1) ) *100; ea (2 ,1) := ABS ( ea (2 ,1) / xi (2 ,1) )
*100; ea (3 ,1) := ABS ( ea (3 ,1) / xi (3 ,1) ) *100; ea (4 ,1) := ABS ( ea (4 ,1) /
xi (4 ,1) ) *100; ea (5 ,1) := ABS ( ea (5 ,1) / xi (5 ,1) ) *100; ea (6 ,1) := ABS (
ea (6 ,1) / xi (6 ,1) ) *100;
242 xa := ROUND ( xa , red ) ;
243 xi := ROUND ( xi , red ) ;
244 er := ROUND ( er , red ) ;
245 ea := ROUND ( ea , red ) ;
246 Spreadsheet . Cell ( ii ,1) := ii -1; Spreadsheet . Cell ( ii ,2) := xa ;
Spreadsheet . Cell ( ii ,3) := xi ; Spreadsheet . Cell ( ii ,4) := ea ;
Spreadsheet . Cell ( ii ,5) := er ;
247 ii := ii +1;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 156


Universidad Nacional de San Cristobal de Huamanga

248 END ;
249 res := xi ;
250 Spreadsheet . Cell ( ii ,1) :=" resultado "; Spreadsheet . Cell ( ii ,2) := res
;
251 STARTAPP (" Spreadsheet ") ;
252 res := xi ;
253 END ;
254

255

256

257 IF n ==7 THEN


258 INPUT ({ w , Er , maxiter , red }) ;
259 INPUT ({ xo2 , xo3 , xo4 , xo5 , xo6 , xo7 }) ;
260 g1 := b (1 ,1) / a (1 ,1) -(1/ a (1 ,1) ) *( a (1 ,2) * x2 + a (1 ,3) * x3 + a
(1 ,4) * x4 + a (1 ,5) * x5 + a (1 ,6) * x6 + a (1 ,7) * x7 ) ;
261 g2 := b (2 ,1) / a (2 ,2) -(1/ a (2 ,2) ) *( a (2 ,1) * x1 + a (2 ,3) * x3 + a
(2 ,4) * x4 + a (2 ,5) * x5 + a (2 ,6) * x6 + a (2 ,7) * x7 ) ;
262 g3 := b (3 ,1) / a (3 ,3) -(1/ a (3 ,3) ) *( a (3 ,1) * x1 + a (3 ,2) * x2 + a
(3 ,4) * x4 + a (3 ,5) * x5 + a (3 ,6) * x6 + a (3 ,7) * x7 ) ;
263 g4 := b (4 ,1) / a (4 ,4) -(1/ a (4 ,4) ) *( a (4 ,1) * x1 + a (4 ,2) * x2 + a (4 ,3) * x3
+ a (4 ,5) * x5 + a (4 ,6) * x6 + a (4 ,7) * x7 ) ;
264 g5 := b (5 ,1) / a (5 ,5) -(1/ a (5 ,5) ) *( a (5 ,1) * x1 + a (5 ,2) * x2 + a (5 ,3) * x3 + a
(5 ,4) * x4 + a (5 ,6) * x6 + a (5 ,7) * x7 ) ;
265 g6 := b (6 ,1) / a (6 ,6) -(1/ a (6 ,6) ) *( a (6 ,1) * x1 + a (6 ,2) * x2 + a (6 ,3) * x3 + a
(6 ,4) * x4 + a (6 ,5) * x5 + a (6 ,7) * x7 ) ;
266 g7 := b (7 ,1) / a (7 ,7) -(1/ a (7 ,7) ) *( a (7 ,1) * x1 + a (7 ,2) * x2 + a (7 ,3) * x3 + a
(7 ,4) * x4 + a (7 ,5) * x5 + a (7 ,6) * x6 );
267 x2 := xo2 ; x3 := xo3 ; x4 := xo4 ; x5 := xo5 ; x6 := xo6 ; x7 := xo7 ;
268 gi1 := EVAL ( g1 ) ; x1 := gi1 ;
269 gi2 := EVAL ( g2 ) ; x2 := gi2 ;
270 gi3 := EVAL ( g3 ) ; x3 := gi3 ;
271 gi4 := EVAL ( g4 ) ; x4 := gi4 ;
272 gi5 := EVAL ( g5 ) ; x5 := gi5 ;
273 gi6 := EVAL ( g6 ) ; x6 := gi6 ;
274 gi7 := EVAL ( g7 ) ;
275 xi :=[[ gi1 ] ,[ gi2 ] ,[ gi3 ] ,[ gi4 ] ,[ gi5 ] ,[ gi6 ] ,[ gi7 ]];
276 er :=100;
277 ea :=[[100] ,[100] ,[100] ,[100] ,[100] ,[100] ,[100]];
278 xo := ROUND ( xo , red ) ;
279 xi := ROUND ( xi , red ) ;
280 er := ROUND ( er , red ) ;
281 ea := ROUND ( ea , red ) ;
282 Spreadsheet . Cell (1 ,1) :=" i "; Spreadsheet . Cell (1 ,2) :=" xa ";
Spreadsheet . Cell (1 ,3) :=" xi "; Spreadsheet . Cell (1 ,4) :=" Exi %";

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 157


Universidad Nacional de San Cristobal de Huamanga

Spreadsheet . Cell (1 ,5) :=" Er ";


283 Spreadsheet . Cell (2 ,1) :=1; Spreadsheet . Cell (2 ,2) := xo ; Spreadsheet .
Cell (2 ,3) := xi ; Spreadsheet . Cell (2 ,4) := ea ; Spreadsheet . Cell
(2 ,5) := er ;
284 ii :=3;
285 WHILE ( ea (1 ,1) > Er OR ea (2 ,1) > Er OR ea (3 ,1) > Er OR ea (4 ,1) > Er OR
ea (5 ,1) > Er OR ea (6 ,1) > Er OR ea (7 ,1) > Er ) AND ( ii -1) ?
maxiter DO
286 x1 := CAS . x1 ; x2 := CAS . x2 ; x3 := CAS . x3 ; x4 := CAS . x4 ; x5 := CAS . x5 ; x6 := CAS .
x6 ; x7 := CAS . x7 ;
287 xa := xi ;
288 x2 := xa (2 ,1) ; x3 := xa (3 ,1) ; x4 := xa (4 ,1) ; x5 := xa (5 ,1) ; x6 := xa (6 ,1) ; x7
:= xa (7 ,1) ;
289 gi1 := EVAL ( g1 ) ; x1 := w * gi1 +(1 - w ) * xa (1 ,1) ; gi1 := x1 ;
290 gi2 := EVAL ( g2 ) ; x2 := w * gi2 +(1 - w ) * xa (2 ,1) ; gi2 := x2 ;
291 gi3 := EVAL ( g3 ) ; x3 := w * gi3 +(1 - w ) * xa (3 ,1) ; gi3 := x3 ;
292 gi4 := EVAL ( g4 ) ; x4 := w * gi4 +(1 - w ) * xa (4 ,1) ; gi4 := x4 ;
293 gi5 := EVAL ( g5 ) ; x5 := w * gi5 +(1 - w ) * xa (5 ,1) ; gi5 := x5 ;
294 gi6 := EVAL ( g6 ) ; x6 := w * gi6 +(1 - w ) * xa (6 ,1) ; gi6 := x6 ;
295 gi7 := EVAL ( g7 ) ; x7 := w * gi7 +(1 - w ) * xa (7 ,1) ; gi7 := x7 ;
296

297 xi :=[[ gi1 ] ,[ gi2 ] ,[ gi3 ] ,[ gi4 ] ,[ gi5 ] ,[ gi6 ] ,[ gi7 ]];
298 er := ABS ( l2norm ( xi - xa ) ) ;
299 ea := xi - xa ;
300 ea (1 ,1) := ABS ( ea (1 ,1) / xi (1 ,1) ) *100; ea (2 ,1) := ABS ( ea (2 ,1) / xi (2 ,1) )
*100; ea (3 ,1) := ABS ( ea (3 ,1) / xi (3 ,1) ) *100; ea (4 ,1) := ABS ( ea (4 ,1) /
xi (4 ,1) ) *100; ea (5 ,1) := ABS ( ea (5 ,1) / xi (5 ,1) ) *100; ea (6 ,1) := ABS (
ea (6 ,1) / xi (6 ,1) ) *100; ea (7 ,1) := ABS ( ea (7 ,1) / xi (7 ,1) ) *100;
301 xa := ROUND ( xa , red ) ;
302 xi := ROUND ( xi , red ) ;
303 er := ROUND ( er , red ) ;
304 ea := ROUND ( ea , red ) ;
305 Spreadsheet . Cell ( ii ,1) := ii -1; Spreadsheet . Cell ( ii ,2) := xa ;
Spreadsheet . Cell ( ii ,3) := xi ; Spreadsheet . Cell ( ii ,4) := ea ;
Spreadsheet . Cell ( ii ,5) := er ;
306 ii := ii +1;
307 END ;
308 res := xi ;
309 Spreadsheet . Cell ( ii ,1) :=" resultado "; Spreadsheet . Cell ( ii ,2) := res
;
310 STARTAPP (" Spreadsheet ") ;
311 res := xi ;
312 END ;
313

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 158


Universidad Nacional de San Cristobal de Huamanga

314

315 IF n ==8 THEN


316 INPUT ({ w , Er , maxiter , red }) ;
317 INPUT ({ xo2 , xo3 , xo4 , xo5 , xo6 , xo7 , xo8 }) ;
318 g1 := b (1 ,1) / a (1 ,1) -(1/ a (1 ,1) ) *( a (1 ,2) * x2 + a (1 ,3) * x3 + a
(1 ,4) * x4 + a (1 ,5) * x5 + a (1 ,6) * x6 + a (1 ,7) * x7 + a (1 ,8) * x8 ) ;
319 g2 := b (2 ,1) / a (2 ,2) -(1/ a (2 ,2) ) *( a (2 ,1) * x1 + a (2 ,3) * x3 + a
(2 ,4) * x4 + a (2 ,5) * x5 + a (2 ,6) * x6 + a (2 ,7) * x7 + a (2 ,8) * x8 ) ;
320 g3 := b (3 ,1) / a (3 ,3) -(1/ a (3 ,3) ) *( a (3 ,1) * x1 + a (3 ,2) * x2 + a
(3 ,4) * x4 + a (3 ,5) * x5 + a (3 ,6) * x6 + a (3 ,7) * x7 + a (3 ,8) * x8 ) ;
321 g4 := b (4 ,1) / a (4 ,4) -(1/ a (4 ,4) ) *( a (4 ,1) * x1 + a (4 ,2) * x2 + a (4 ,3) * x3
+ a (4 ,5) * x5 + a (4 ,6) * x6 + a (4 ,7) * x7 + a (4 ,8) * x8 ) ;
322 g5 := b (5 ,1) / a (5 ,5) -(1/ a (5 ,5) ) *( a (5 ,1) * x1 + a (5 ,2) * x2 + a (5 ,3) * x3 + a
(5 ,4) * x4 + a (5 ,6) * x6 + a (5 ,7) * x7 + a (5 ,8) * x8 ) ;
323 g6 := b (6 ,1) / a (6 ,6) -(1/ a (6 ,6) ) *( a (6 ,1) * x1 + a (6 ,2) * x2 + a (6 ,3) * x3 + a
(6 ,4) * x4 + a (6 ,5) * x5 + a (6 ,7) * x7 + a (6 ,8) * x8 ) ;
324 g7 := b (7 ,1) / a (7 ,7) -(1/ a (7 ,7) ) *( a (7 ,1) * x1 + a (7 ,2) * x2 + a (7 ,3) * x3 + a
(7 ,4) * x4 + a (7 ,5) * x5 + a (7 ,6) * x6 + a (7 ,8) * x8 ) ;
325 g8 := b (8 ,1) / a (8 ,7) -(1/ a (8 ,7) ) *( a (8 ,1) * x1 + a (8 ,2) * x2 + a (8 ,3) * x3 + a
(8 ,4) * x4 + a (8 ,5) * x5 + a (8 ,6) * x6 + a (8 ,7) * x7 );
326 x2 := xo2 ; x3 := xo3 ; x4 := xo4 ; x5 := xo5 ; x6 := xo6 ; x7 := xo7 ; x8 := xo8 ;
327 gi1 := EVAL ( g1 ) ; x1 := gi1 ;
328 gi2 := EVAL ( g2 ) ; x2 := gi2 ;
329 gi3 := EVAL ( g3 ) ; x3 := gi3 ;
330 gi4 := EVAL ( g4 ) ; x4 := gi4 ;
331 gi5 := EVAL ( g5 ) ; x5 := gi5 ;
332 gi6 := EVAL ( g6 ) ; x6 := gi6 ;
333 gi7 := EVAL ( g7 ) ; x7 := gi7 ;
334 gi8 := EVAL ( g8 ) ;
335 xi :=[[ gi1 ] ,[ gi2 ] ,[ gi3 ] ,[ gi4 ] ,[ gi5 ] ,[ gi6 ] ,[ gi7 ] ,[ gi8 ]];
336 er :=100;
337 ea :=[[100] ,[100] ,[100] ,[100] ,[100] ,[100] ,[100] ,[100]];
338 xo := ROUND ( xo , red ) ;
339 xi := ROUND ( xi , red ) ;
340 er := ROUND ( er , red ) ;
341 ea := ROUND ( ea , red ) ;
342 Spreadsheet . Cell (1 ,1) :=" i "; Spreadsheet . Cell (1 ,2) :=" xa ";
Spreadsheet . Cell (1 ,3) :=" xi "; Spreadsheet . Cell (1 ,4) :=" Exi %";
Spreadsheet . Cell (1 ,5) :=" Er ";
343 Spreadsheet . Cell (2 ,1) :=1; Spreadsheet . Cell (2 ,2) := xo ; Spreadsheet .
Cell (2 ,3) := xi ; Spreadsheet . Cell (2 ,4) := ea ; Spreadsheet . Cell
(2 ,5) := er ;
344 ii :=3;
345 WHILE ( ea (1 ,1) > Er OR ea (2 ,1) > Er OR ea (3 ,1) > Er OR ea (4 ,1) > Er OR

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 159


Universidad Nacional de San Cristobal de Huamanga

ea (5 ,1) > Er OR ea (6 ,1) > Er OR ea (7 ,1) > Er OR ea (8 ,1) > Er )


AND ( ii -1) ? maxiter DO
346 x1 := CAS . x1 ; x2 := CAS . x2 ; x3 := CAS . x3 ; x4 := CAS . x4 ; x5 := CAS . x5 ; x6 := CAS .
x6 ; x7 := CAS . x7 ; x8 := CAS . x8 ;
347 xa := xi ;
348 x2 := xa (2 ,1) ; x3 := xa (3 ,1) ; x4 := xa (4 ,1) ; x5 := xa (5 ,1) ; x6 := xa (6 ,1) ; x7
:= xa (7 ,1) ; x8 := xa (8 ,1) ;
349 gi1 := EVAL ( g1 ) ; x1 := w * gi1 +(1 - w ) * xa (1 ,1) ; gi1 := x1 ;
350 gi2 := EVAL ( g2 ) ; x2 := w * gi2 +(1 - w ) * xa (2 ,1) ; gi2 := x2 ;
351 gi3 := EVAL ( g3 ) ; x3 := w * gi3 +(1 - w ) * xa (3 ,1) ; gi3 := x3 ;
352 gi4 := EVAL ( g4 ) ; x4 := w * gi4 +(1 - w ) * xa (4 ,1) ; gi4 := x4 ;
353 gi5 := EVAL ( g5 ) ; x5 := w * gi5 +(1 - w ) * xa (5 ,1) ; gi5 := x5 ;
354 gi6 := EVAL ( g6 ) ; x6 := w * gi6 +(1 - w ) * xa (6 ,1) ; gi6 := x6 ;
355 gi7 := EVAL ( g7 ) ; x7 := w * gi7 +(1 - w ) * xa (7 ,1) ; gi7 := x7 ;
356 gi8 := EVAL ( g8 ) ; x8 := w * gi8 +(1 - w ) * xa (8 ,1) ; gi8 := x8 ;
357

358 xi :=[[ gi1 ] ,[ gi2 ] ,[ gi3 ] ,[ gi4 ] ,[ gi5 ] ,[ gi6 ] ,[ gi7 ] ,[ gi8 ]];
359 er := ABS ( l2norm ( xi - xa ) ) ;
360 ea := xi - xa ;
361 ea (1 ,1) := ABS ( ea (1 ,1) / xi (1 ,1) ) *100; ea (2 ,1) := ABS ( ea (2 ,1) / xi (2 ,1) )
*100; ea (3 ,1) := ABS ( ea (3 ,1) / xi (3 ,1) ) *100; ea (4 ,1) := ABS ( ea (4 ,1) /
xi (4 ,1) ) *100; ea (5 ,1) := ABS ( ea (5 ,1) / xi (5 ,1) ) *100; ea (6 ,1) := ABS (
ea (6 ,1) / xi (6 ,1) ) *100; ea (7 ,1) := ABS ( ea (7 ,1) / xi (7 ,1) ) *100; ea
(8 ,1) := ABS ( ea (8 ,1) / xi (8 ,1) ) *100;
362 xa := ROUND ( xa , red ) ;
363 xi := ROUND ( xi , red ) ;
364 er := ROUND ( er , red ) ;
365 ea := ROUND ( ea , red ) ;
366 Spreadsheet . Cell ( ii ,1) := ii -1; Spreadsheet . Cell ( ii ,2) := xa ;
Spreadsheet . Cell ( ii ,3) := xi ; Spreadsheet . Cell ( ii ,4) := ea ;
Spreadsheet . Cell ( ii ,5) := er ;
367 ii := ii +1;
368 END ;
369 res := xi ;
370 Spreadsheet . Cell ( ii ,1) :=" resultado "; Spreadsheet . Cell ( ii ,2) := res
;
371 STARTAPP (" Spreadsheet ") ;
372 res := xi ;
373 END ;
374

375 END ;
376 Spreadsheet . Cell (1 ,6) :=" ecuaciones "; Spreadsheet . Cell (2 ,6) :={ g1 ,
g2 , g3 , g4 , g5 , g7 , g8 };
377 END ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 160


Universidad Nacional de San Cristobal de Huamanga

Programa 8.17 Gradiente Conjugado

1 EXPORT GradienteConjugado (a , b )
2 BEGIN
3 STARTAPP (" Spreadsheet ") ;
4 LOCAL red ;
5 LOCAL si , qi ,? i , xi ,n , xa , xo ;
6 LOCAL res , Er , Itemax , er , ii ;
7 LOCAL ?i ,? i ;
8 INPUT ({ Er , Itemax , red }) ;
9 n := CAS . SIZE ( a ) ; n := n (1) ;
10 xo := randMat ( n ) *0;
11 EDITMAT ( xo ," valores Iniciales ") ;
12 xo := TRN ( xo ) ;
13 xi := xo ;
14 si := b - a * xi ;
15 ? i := si ;
16 qi := a * si ;
17 ? i :=( TRN ( si ) * si ) /( TRN ( si ) * qi ) ;? i :=? i (1 ,1) ;
18 er :=100; ii :=3;
19

20 xi := ROUND ( xi , red ) ;
21 ? i := ROUND (? i , red ) ;
22 ? i := ROUND (? i , red ) ;
23 si := ROUND ( si , red ) ;
24 qi := ROUND ( qi , red ) ;
25 ? i := ROUND (? i , red ) ;
26 er := ROUND ( er , red ) ;
27

28 Spreadsheet . Cell (1 ,1) :=" i "; Spreadsheet . Cell (1 ,2) :=" xi ";
Spreadsheet . Cell (1 ,3) :="? i "; Spreadsheet . Cell (1 ,4) :="? i ";
Spreadsheet . Cell (1 ,5) :=" si "; Spreadsheet . Cell (1 ,6) :=" qi ";
Spreadsheet . Cell (1 ,7) :="? i "; Spreadsheet . Cell (1 ,8) :=" Er ";
29 Spreadsheet . Cell (2 ,1) :=1; Spreadsheet . Cell (2 ,2) := xi ;
Spreadsheet . Cell (2 ,3) := ? i ; Spreadsheet . Cell (2 ,4) := ? i ;
Spreadsheet . Cell (2 ,5) := si ; Spreadsheet . Cell (2 ,6) := qi ;
Spreadsheet . Cell (2 ,7) :=? i ; Spreadsheet . Cell (2 ,8) := er ;
30 ? i := si ;
31 WHILE er > Er AND ii ? Itemax DO
32 xa := xi ;
33 xi := xa +? i * si ;
34 ? i :=? i -? i * qi ;
35 ? i :=( TRN (? i ) * qi ) /( TRN ( si ) * qi ) ;? i :=? i (1 ,1) ;
36 si :=? i -? i * si ;
37 qi := a * si ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 161


Universidad Nacional de San Cristobal de Huamanga

38 ? i :=( TRN (? i ) *? i ) /( TRN ( si ) * qi ) ;? i :=? i (1 ,1) ;


39 res := xi +? i * si ;
40 er := ABS ( CAS . l2norm ( res - xi ) ) ;
41

42 xi := ROUND ( xi , red ) ;
43 ? i := ROUND (? i , red ) ;
44 ? i := ROUND (? i , red ) ;
45 si := ROUND ( si , red ) ;
46 qi := ROUND ( qi , red ) ;
47 ? i := ROUND (? i , red ) ;
48 er := ROUND ( er , red ) ;
49

50 Spreadsheet . Cell ( ii ,1) := ii -1; Spreadsheet . Cell ( ii ,2) := xi ;


Spreadsheet . Cell ( ii ,3) :=? i ; Spreadsheet . Cell ( ii ,4) :=? i ;
Spreadsheet . Cell ( ii ,5) := si ; Spreadsheet . Cell ( ii ,6) := qi ;
Spreadsheet . Cell ( ii ,7) :=? i ; Spreadsheet . Cell ( ii ,8) := er ;
51 ii := ii +1;
52 Spreadsheet . Cell ( ii ,1) :=" resultado "; Spreadsheet . Cell ( ii ,2) := res
;
53 END ;
54 xi := xi +? i * si ;
55 res := ROUND ( res , red ) ;
56 Spreadsheet . Cell ( ii ,1) :=" resultado "; Spreadsheet . Cell ( ii ,2) := res
;
57 res := xi ;
58 STARTAPP (" Spreadsheet ") ;
59 res := xi ;
60 END ;

8.4 VECTORES VALORES PROPIOS

Programa 8.18 Forma Simple De Jacoby

1 EXPORT PrimeraFormadeJacoby ( ma )
2 BEGIN
3 LOCAL pi , ai ,n ,? , nu , de , ii , Itemax ;
4 LOCAL a ,r , deter ;
5 LOCAL p1 , p2 , p3 ,? pi ;
6 LOCAL tan ? , sin ? , cos ? ,?;
7 pi :={}; ai :={}; a := ma ;
8 n := CAS . SIZE ( a ) ; n := n (1) ;
9 Spreadsheet . Cell (1 ,1) :=" ciclo "; Spreadsheet . Cell (1 ,2) :=" i ";

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 162


Universidad Nacional de San Cristobal de Huamanga

Spreadsheet . Cell (1 ,3) :=" Ai "; Spreadsheet . Cell (1 ,4) :=" Pi ";
Spreadsheet . Cell (1 ,5) :="? Pi ";
10 CASE
11 IF n ==3 THEN
12 ai (1) := a ; ii :=1;
13 INPUT ({ r , Itemax } ,{" r := redondeocifras "}) ;
14 ? pi :=[[1 ,0 ,0] ,[0 ,1 ,0] ,[0 ,0 ,1]];
15 FOR K FROM 1 TO Itemax DO
16 // paso1 i :=1 j :=2
17 I :=1; J :=2;
18 ?:=( a (I , I ) -a (J , J ) ) /(2* a (I , J ) ) ;
19 tan ?:= -?+ SIGN (?) *?(?^2+1) ;
20 cos ?:=(1) /(?( tan ?^2+1) ) ;
21 sin ?:= tan ?* cos ?;
22 IF ?==0 THEN
23 cos ?:=1/?2;
24 sin ?:=1/?2;
25 END ;
26 pi ( ii ) :=[[ cos ? , - sin ? ,0] ,[ sin ? , cos ? ,0] ,[0 ,0 ,1]]; pi ( ii ) := ROUND ( pi
( ii ) ,r ) ;
27 ai ( ii +1) := TRN ( pi ( ii ) ) * ai ( ii ) * pi ( ii ) ; ai ( ii +1) := ROUND ( ai ( ii +1) ,r )
;
28 a := ai ( ii +1) ;
29 ? pi :=? pi * pi ( ii ) ;? pi := ROUND (? pi , r ) ; Spreadsheet . Cell ( ii +1 ,5) :=? pi
;
30 // paso2 i :=1 j :=3
31 I :=1; J :=3;
32 ?:=( a (I , I ) -a (J , J ) ) /(2* a (I , J ) ) ;
33 tan ?:= -?+ SIGN (?) *?(?^2+1) ;
34 cos ?:=(1) /(?( tan ?^2+1) ) ;
35 sin ?:= tan ?* cos ?;
36 IF ?==0 THEN
37 cos ?:=1/?2;
38 sin ?:=1/?2;
39 END ;
40 pi ( ii +1) :=[[ cos ? ,0 , - sin ?] ,[0 ,1 ,0] ,[ sin ? ,0 , cos ?]]; pi ( ii +1) :=
ROUND ( pi ( ii +1) ,r ) ;
41 ai ( ii +2) := TRN ( pi ( ii +1) ) * ai ( ii +1) * pi ( ii +1) ; ai ( ii +2) := ROUND ( ai ( ii
+2) ,r ) ;
42 a := ai ( ii +2) ;
43 ? pi :=? pi * pi ( ii +1) ;? pi := ROUND (? pi , r ) ; Spreadsheet . Cell ( ii +2 ,5) :=?
pi ;
44 // paso3 i :=2 j :=3
45 I :=2; J :=3;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 163


Universidad Nacional de San Cristobal de Huamanga

46 ?:=( a (I , I ) -a (J , J ) ) /(2* a (I , J ) ) ;
47 tan ?:= -?+ SIGN (?) *?(?^2+1) ;
48 cos ?:=(1) /(?( tan ?^2+1) ) ;
49 sin ?:= tan ?* cos ?;
50 IF ?==0 THEN
51 cos ?:=1/?2;
52 sin ?:=1/?2;
53 END ;
54 pi ( ii +2) :=[[1 ,0 ,0] ,[0 , cos ? , - sin ?] ,[0 , sin ? , cos ?]]; pi ( ii +2) :=
ROUND ( pi ( ii +2) ,r ) ;
55 ai ( ii +3) := TRN ( pi ( ii +2) ) * ai ( ii +2) * pi ( ii +2) ; ai ( ii +3) := ROUND ( ai ( ii
+3) ,r ) ;
56 a := ai ( ii +3) ;
57 ? pi :=? pi * pi ( ii +2) ;? pi := ROUND (? pi , r ) ; Spreadsheet . Cell ( ii +3 ,5) :=?
pi ;
58

59 Spreadsheet . Cell ( ii +1 ,1) := K ; Spreadsheet . Cell ( ii +1 ,2) := ii ;


Spreadsheet . Cell ( ii +1 ,3) := ai ( ii ) ; Spreadsheet . Cell ( ii +1 ,4)
:= pi ( ii ) ;
60 Spreadsheet . Cell ( ii +2 ,1) := K ; Spreadsheet . Cell ( ii +2 ,2) := ii +1;
Spreadsheet . Cell ( ii +2 ,3) := ai ( ii +1) ; Spreadsheet . Cell ( ii +2 ,4)
:= pi ( ii +1) ;
61 Spreadsheet . Cell ( ii +3 ,1) := K ; Spreadsheet . Cell ( ii +3 ,2) := ii +2;
Spreadsheet . Cell ( ii +3 ,3) := ai ( ii +2) ; Spreadsheet . Cell ( ii +3 ,4)
:= pi ( ii +2) ;
62 Spreadsheet . Cell ( ii +4 ,1) := K ; Spreadsheet . Cell ( ii +4 ,2) := ii +3;
Spreadsheet . Cell ( ii +4 ,3) := ai ( ii +3) ;
63 ii := ii +3;
64 END ;
65 ai ( ii ) ;
66 END ;
67 IF n ==4 THEN
68 ai (1) := a ; ii :=1;
69 Spreadsheet . Cell (1 ,1) :=" ciclo "; Spreadsheet . Cell (1 ,2) :=" i ";
Spreadsheet . Cell (1 ,3) :=" Ai "; Spreadsheet . Cell (1 ,4) :=" Pi ";
70 INPUT ({ r , Itemax } ,{" r := redondeocifras "}) ;
71 ? pi :=[[1 ,0 ,0 ,0] ,[0 ,1 ,0 ,0] ,[0 ,0 ,1 ,0] ,[0 ,0 ,0 ,1]];
72 FOR K FROM 1 TO Itemax DO
73

74 // paso1 i :=1 j :=2


75 I :=1; J :=2;
76 ?:=( a (I , I ) -a (J , J ) ) /(2* a (I , J ) ) ;
77 tan ?:= -?+ SIGN (?) *?(?^2+1) ;
78 cos ?:=(1) /(?( tan ?^2+1) ) ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 164


Universidad Nacional de San Cristobal de Huamanga

79 sin ?:= tan ?* cos ?;


80 IF ?==0 THEN
81 cos ?:=1/?2;
82 sin ?:=1/?2;
83 END ;
84 pi ( ii ) :=[[ cos ? , - sin ? ,0 ,0] ,[ sin ? , cos ? ,0 ,0] ,[0 ,0 ,1 ,0] ,[0 ,0 ,0 ,1]];
pi ( ii ) := ROUND ( pi ( ii ) ,r ) ;
85 ai ( ii +1) := TRN ( pi ( ii ) ) * ai ( ii ) * pi ( ii ) ; ai ( ii +1) := ROUND ( ai ( ii +1) ,r )
;
86 a := ai ( ii +1) ;
87 ? pi :=? pi * pi ( ii ) ;? pi := ROUND (? pi , r ) ; Spreadsheet . Cell ( ii +1 ,5) :=? pi
;
88 // paso2 i :=1 j :=3
89 I :=1; J :=3;
90 ?:=( a (I , I ) -a (J , J ) ) /(2* a (I , J ) ) ;
91 tan ?:= -?+ SIGN (?) *?(?^2+1) ;
92 cos ?:=(1) /(?( tan ?^2+1) ) ;
93 sin ?:= tan ?* cos ?;
94 IF ?==0 THEN
95 cos ?:=1/?2;
96 sin ?:=1/?2;
97 END ;
98 pi ( ii +1) :=[[ cos ? ,0 , - sin ? ,0] ,[0 ,1 ,0 ,0] ,[ sin ? ,0 , cos
? ,0] ,[0 ,0 ,0 ,1]]; pi ( ii +1) := ROUND ( pi ( ii +1) ,r ) ;
99 ai ( ii +2) := TRN ( pi ( ii +1) ) * ai ( ii +1) * pi ( ii +1) ; ai ( ii +2) := ROUND ( ai ( ii
+2) ,r ) ;
100 a := ai ( ii +2) ;
101 ? pi :=? pi * pi ( ii +1) ;? pi := ROUND (? pi , r ) ; Spreadsheet . Cell ( ii +2 ,5) :=?
pi ;
102 // paso3 i :=1 j :=4
103 I :=1; J :=4;
104 ?:=( a (I , I ) -a (J , J ) ) /(2* a (I , J ) ) ;
105 tan ?:= -?+ SIGN (?) *?(?^2+1) ;
106 cos ?:=(1) /(?( tan ?^2+1) ) ;
107 sin ?:= tan ?* cos ?;
108 IF ?==0 THEN
109 cos ?:=1/?2;
110 sin ?:=1/?2;
111 END ;
112 pi ( ii +2) :=[[ cos ? ,0 ,0 , - sin ?] ,[0 ,1 ,0 ,0] ,[0 ,0 ,1 ,0] ,[ sin ? ,0 ,0 , cos
?]]; pi ( ii +2) := ROUND ( pi ( ii +2) ,r ) ;
113 ai ( ii +3) := TRN ( pi ( ii +2) ) * ai ( ii +2) * pi ( ii +2) ; ai ( ii +3) := ROUND ( ai ( ii
+3) ,r ) ;
114 a := ai ( ii +3) ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 165


Universidad Nacional de San Cristobal de Huamanga

115 ? pi :=? pi * pi ( ii +2) ;? pi := ROUND (? pi , r ) ; Spreadsheet . Cell ( ii +3 ,5) :=?


pi ;
116 // paso4 i :=2 j :=3
117 I :=2; J :=3;
118 ?:=( a (I , I ) -a (J , J ) ) /(2* a (I , J ) ) ;
119 tan ?:= -?+ SIGN (?) *?(?^2+1) ;
120 cos ?:=(1) /(?( tan ?^2+1) ) ;
121 sin ?:= tan ?* cos ?;
122 IF ?==0 THEN
123 cos ?:=1/?2;
124 sin ?:=1/?2;
125 END ;
126 pi ( ii +3) :=[[1 ,0 ,0 ,0] ,[0 , cos ? , - sin ? ,0] ,[0 , sin ? , cos
? ,0] ,[0 ,0 ,0 ,1]]; pi ( ii +3) := ROUND ( pi ( ii +3) ,r ) ;
127 ai ( ii +4) := TRN ( pi ( ii +3) ) * ai ( ii +3) * pi ( ii +3) ; ai ( ii +4) := ROUND ( ai ( ii
+4) ,r ) ;
128 a := ai ( ii +4) ;
129 ? pi :=? pi * pi ( ii +3) ;? pi := ROUND (? pi , r ) ; Spreadsheet . Cell ( ii +4 ,5) :=?
pi ;
130 // paso5 i :=2 j :=4
131 I :=2; J :=4;
132 ?:=( a (I , I ) -a (J , J ) ) /(2* a (I , J ) ) ;
133 tan ?:= -?+ SIGN (?) *?(?^2+1) ;
134 cos ?:=(1) /(?( tan ?^2+1) ) ;
135 sin ?:= tan ?* cos ?;
136 IF ?==0 THEN
137 cos ?:=1/?2;
138 sin ?:=1/?2;
139 END ;
140 pi ( ii +4) :=[[1 ,0 ,0 ,0] ,[0 , cos ? ,0 , - sin ?] ,[0 ,0 ,1 ,0] ,[0 , sin ? ,0 , cos
?]]; pi ( ii +4) := ROUND ( pi ( ii +4) ,r ) ;
141 ai ( ii +5) := TRN ( pi ( ii +4) ) * ai ( ii +4) * pi ( ii +4) ; ai ( ii +5) := ROUND ( ai ( ii
+5) ,r ) ;
142 a := ai ( ii +5) ;
143 ? pi :=? pi * pi ( ii +4) ;? pi := ROUND (? pi , r ) ; Spreadsheet . Cell ( ii +5 ,5) :=?
pi ;
144 // paso6 i :=3 j :=4
145 I :=3; J :=4;
146 ?:=( a (I , I ) -a (J , J ) ) /(2* a (I , J ) ) ;
147 tan ?:= -?+ SIGN (?) *?(?^2+1) ;
148 cos ?:=(1) /(?( tan ?^2+1) ) ;
149 sin ?:= tan ?* cos ?;
150 IF ?==0 THEN
151 cos ?:=1/?2;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 166


Universidad Nacional de San Cristobal de Huamanga

152 sin ?:=1/?2;


153 END ;
154 pi ( ii +5) :=[[1 ,0 ,0 ,0] ,[0 ,1 ,0 ,0] ,[0 ,0 , cos ? , - sin ?] ,[0 ,0 , sin ? , cos
?]]; pi ( ii +5) := ROUND ( pi ( ii +5) ,r ) ;
155 ai ( ii +6) := TRN ( pi ( ii +5) ) * ai ( ii +5) * pi ( ii +5) ; ai ( ii +6) := ROUND ( ai ( ii
+6) ,r ) ;
156 a := ai ( ii +6) ;
157 ? pi :=? pi * pi ( ii +5) ;? pi := ROUND (? pi , r ) ; Spreadsheet . Cell ( ii +6 ,5) :=?
pi ;
158

159 Spreadsheet . Cell ( ii +1 ,1) := K ; Spreadsheet . Cell ( ii +1 ,2) := ii ;


Spreadsheet . Cell ( ii +1 ,3) := ai ( ii ) ; Spreadsheet . Cell ( ii +1 ,4)
:= pi ( ii ) ;
160 Spreadsheet . Cell ( ii +2 ,1) := K ; Spreadsheet . Cell ( ii +2 ,2) := ii +1;
Spreadsheet . Cell ( ii +2 ,3) := ai ( ii +1) ; Spreadsheet . Cell ( ii +2 ,4)
:= pi ( ii +1) ;
161 Spreadsheet . Cell ( ii +3 ,1) := K ; Spreadsheet . Cell ( ii +3 ,2) := ii +2;
Spreadsheet . Cell ( ii +3 ,3) := ai ( ii +2) ; Spreadsheet . Cell ( ii +3 ,4)
:= pi ( ii +2) ;
162 Spreadsheet . Cell ( ii +4 ,1) := K ; Spreadsheet . Cell ( ii +4 ,2) := ii +3;
Spreadsheet . Cell ( ii +4 ,3) := ai ( ii +3) ; Spreadsheet . Cell ( ii +4 ,4)
:= pi ( ii +3) ;
163 Spreadsheet . Cell ( ii +5 ,1) := K ; Spreadsheet . Cell ( ii +5 ,2) := ii +4;
Spreadsheet . Cell ( ii +5 ,3) := ai ( ii +4) ; Spreadsheet . Cell ( ii +5 ,4)
:= pi ( ii +4) ;
164 Spreadsheet . Cell ( ii +6 ,1) := K ; Spreadsheet . Cell ( ii +6 ,2) := ii +5;
Spreadsheet . Cell ( ii +6 ,3) := ai ( ii +5) ; Spreadsheet . Cell ( ii +6 ,4)
:= pi ( ii +5) ;
165 Spreadsheet . Cell ( ii +7 ,1) := K ; Spreadsheet . Cell ( ii +7 ,2) := ii +6;
Spreadsheet . Cell ( ii +7 ,3) := ai ( ii +6) ;
166 ii := ii +6;
167 END ;
168 ai ( ii ) ;
169 END ;
170 IF n ==5 THEN
171 ai (1) := a ; ii :=1;
172 Spreadsheet . Cell (1 ,1) :=" ciclo "; Spreadsheet . Cell (1 ,2) :=" i ";
Spreadsheet . Cell (1 ,3) :=" Ai "; Spreadsheet . Cell (1 ,4) :=" Pi ";
173 INPUT ({ r , Itemax } ,{" r := redondeocifras "}) ;
174 ? pi
:=[[1 ,0 ,0 ,0 ,0] ,[0 ,1 ,0 ,0 ,0] ,[0 ,0 ,1 ,0 ,0] ,[0 ,0 ,0 ,1 ,0] ,[0 ,0 ,0 ,0 ,1]];

175 FOR K FROM 1 TO Itemax DO


176

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 167


Universidad Nacional de San Cristobal de Huamanga

177 // paso1 i :=1 j :=2


178 I :=1; J :=2;
179 ?:=( a (I , I ) -a (J , J ) ) /(2* a (I , J ) ) ;
180 tan ?:= -?+ SIGN (?) *?(?^2+1) ;
181 cos ?:=(1) /(?( tan ?^2+1) ) ;
182 sin ?:= tan ?* cos ?;
183 IF ?==0 THEN
184 cos ?:=1/?2;
185 sin ?:=1/?2;
186 END ;
187 pi ( ii ) :=[[ cos ? , - sin ? ,0 ,0 ,0] ,[ sin ? , cos
? ,0 ,0 ,0] ,[0 ,0 ,1 ,0 ,0] ,[0 ,0 ,0 ,1 ,0] ,[0 ,0 ,0 ,0 ,1]]; pi ( ii ) := ROUND (
pi ( ii ) ,r ) ;
188 ai ( ii +1) := TRN ( pi ( ii ) ) * ai ( ii ) * pi ( ii ) ; ai ( ii +1) := ROUND ( ai ( ii +1) ,r )
;
189 a := ai ( ii +1) ;
190 ? pi :=? pi * pi ( ii ) ;? pi := ROUND (? pi , r ) ; Spreadsheet . Cell ( ii +1 ,5) :=? pi
;
191 // paso2 i :=1 j :=3
192 I :=1; J :=3;
193 ?:=( a (I , I ) -a (J , J ) ) /(2* a (I , J ) ) ;
194 tan ?:= -?+ SIGN (?) *?(?^2+1) ;
195 cos ?:=(1) /(?( tan ?^2+1) ) ;
196 sin ?:= tan ?* cos ?;
197 IF ?==0 THEN
198 cos ?:=1/?2;
199 sin ?:=1/?2;
200 END ;

Programa 8.19 Forma Simple De Jacoby

1 pi ( ii +1) :=[[ cos ? ,0 , - sin ? ,0 ,0] ,[0 ,1 ,0 ,0 ,0] ,[ sin ? ,0 , cos


? ,0 ,0] ,[0 ,0 ,0 ,1 ,0] ,[0 ,0 ,0 ,0 ,1]]; pi ( ii +1) := ROUND ( pi ( ii +1) ,r ) ;
2 ai ( ii +2) := TRN ( pi ( ii +1) ) * ai ( ii +1) * pi ( ii +1) ; ai ( ii +2) := ROUND ( ai ( ii
+2) ,r ) ;
3 a := ai ( ii +2) ;
4 ? pi :=? pi * pi ( ii +1) ;? pi := ROUND (? pi , r ) ; Spreadsheet . Cell ( ii +2 ,5) :=?
pi ;
5 // paso3 i :=1 j :=4
6 I :=1; J :=4;
7 ?:=( a (I , I ) -a (J , J ) ) /(2* a (I , J ) ) ;
8 tan ?:= -?+ SIGN (?) *?(?^2+1) ;
9 cos ?:=(1) /(?( tan ?^2+1) ) ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 168


Universidad Nacional de San Cristobal de Huamanga

10 sin ?:= tan ?* cos ?;


11 IF ?==0 THEN
12 cos ?:=1/?2;
13 sin ?:=1/?2;
14 END ;
15 pi ( ii +2) :=[[ cos ? ,0 ,0 , - sin ? ,0] ,[0 ,1 ,0 ,0 ,0] ,[0 ,0 ,1 ,0 ,0] ,[ sin
? ,0 ,0 , cos ? ,0] ,[0 ,0 ,0 ,0 ,1]]; pi ( ii +2) := ROUND ( pi ( ii +2) ,r ) ;
16 ai ( ii +3) := TRN ( pi ( ii +2) ) * ai ( ii +2) * pi ( ii +2) ; ai ( ii +3) := ROUND ( ai ( ii
+3) ,r ) ;
17 a := ai ( ii +3) ;
18 ? pi :=? pi * pi ( ii +2) ;? pi := ROUND (? pi , r ) ; Spreadsheet . Cell ( ii +3 ,5) :=?
pi ;
19 // paso4 i :=1 j :=5
20 I :=1; J :=5;
21 ?:=( a (I , I ) -a (J , J ) ) /(2* a (I , J ) ) ;
22 tan ?:= -?+ SIGN (?) *?(?^2+1) ;
23 cos ?:=(1) /(?( tan ?^2+1) ) ;
24 sin ?:= tan ?* cos ?;
25 IF ?==0 THEN
26 cos ?:=1/?2;
27 sin ?:=1/?2;
28 END ;
29 pi ( ii +3) :=[[ cos ? ,0 ,0 ,0 , - sin
?] ,[0 ,1 ,0 ,0 ,0] ,[0 ,0 ,1 ,0 ,0] ,[0 ,0 ,0 ,1 ,0] ,[ sin ? ,0 ,0 ,0 , cos ?]]; pi
( ii +3) := ROUND ( pi ( ii +3) ,r ) ;
30 ai ( ii +4) := TRN ( pi ( ii +3) ) * ai ( ii +3) * pi ( ii +3) ; ai ( ii +4) := ROUND ( ai ( ii
+4) ,r ) ;
31 a := ai ( ii +4) ;
32 ? pi :=? pi * pi ( ii +3) ;? pi := ROUND (? pi , r ) ; Spreadsheet . Cell ( ii +4 ,5) :=?
pi ;
33 // paso5 i :=2 j :=3
34 I :=2; J :=3;
35 ?:=( a (I , I ) -a (J , J ) ) /(2* a (I , J ) ) ;
36 tan ?:= -?+ SIGN (?) *?(?^2+1) ;
37 cos ?:=(1) /(?( tan ?^2+1) ) ;
38 sin ?:= tan ?* cos ?;
39 IF ?==0 THEN
40 cos ?:=1/?2;
41 sin ?:=1/?2;
42 END ;
43 pi ( ii +4) :=[[1 ,0 ,0 ,0 ,0] ,[0 , cos ? , - sin ? ,0 ,0] ,[0 , sin ? , cos
? ,0 ,0] ,[0 ,0 ,0 ,1 ,0] ,[0 ,0 ,0 ,0 ,1]]; pi ( ii +4) := ROUND ( pi ( ii +4) ,r ) ;
44 ai ( ii +5) := TRN ( pi ( ii +4) ) * ai ( ii +4) * pi ( ii +4) ; ai ( ii +5) := ROUND ( ai ( ii
+5) ,r ) ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 169


Universidad Nacional de San Cristobal de Huamanga

45 a := ai ( ii +5) ;
46 ? pi :=? pi * pi ( ii +4) ;? pi := ROUND (? pi , r ) ; Spreadsheet . Cell ( ii +5 ,5) :=?
pi ;
47 // paso6 i :=2 j :=4
48 I :=2; J :=4;
49 ?:=( a (I , I ) -a (J , J ) ) /(2* a (I , J ) ) ;
50 tan ?:= -?+ SIGN (?) *?(?^2+1) ;
51 cos ?:=(1) /(?( tan ?^2+1) ) ;
52 sin ?:= tan ?* cos ?;
53 IF ?==0 THEN
54 cos ?:=1/?2;
55 sin ?:=1/?2;
56 END ;
57 pi ( ii +5) :=[[1 ,0 ,0 ,0 ,0] ,[0 , cos ? ,0 , - sin ? ,0] ,[0 ,0 ,1 ,0 ,0] ,[0 , sin
? ,0 , cos ? ,0] ,[0 ,0 ,0 ,0 ,1]]; pi ( ii +5) := ROUND ( pi ( ii +5) ,r ) ;
58 ai ( ii +6) := TRN ( pi ( ii +5) ) * ai ( ii +5) * pi ( ii +5) ; ai ( ii +6) := ROUND ( ai ( ii
+6) ,r ) ;
59 a := ai ( ii +6) ;
60 ? pi :=? pi * pi ( ii +5) ;? pi := ROUND (? pi , r ) ; Spreadsheet . Cell ( ii +6 ,5) :=?
pi ;
61

62 // paso7 i :=2 j :=5


63 I :=2; J :=5;
64 ?:=( a (I , I ) -a (J , J ) ) /(2* a (I , J ) ) ;
65 tan ?:= -?+ SIGN (?) *?(?^2+1) ;
66 cos ?:=(1) /(?( tan ?^2+1) ) ;
67 sin ?:= tan ?* cos ?;
68 IF ?==0 THEN
69 cos ?:=1/?2;
70 sin ?:=1/?2;
71 END ;
72 pi ( ii +6) :=[[1 ,0 ,0 ,0 ,0] ,[0 , cos ? ,0 ,0 , - sin
?] ,[0 ,0 ,1 ,0 ,0] ,[0 ,0 ,0 ,1 ,0] ,[0 , sin ? ,0 ,0 , cos ?]]; pi ( ii +6) :=
ROUND ( pi ( ii +6) ,r ) ;
73 ai ( ii +7) := TRN ( pi ( ii +6) ) * ai ( ii +6) * pi ( ii +6) ; ai ( ii +7) := ROUND ( ai ( ii
+7) ,r ) ;
74 a := ai ( ii +7) ;
75 ? pi :=? pi * pi ( ii +6) ;? pi := ROUND (? pi , r ) ; Spreadsheet . Cell ( ii +7 ,5) :=?
pi ;
76 // paso8 i :=3 j :=4
77 I :=3; J :=4;
78 ?:=( a (I , I ) -a (J , J ) ) /(2* a (I , J ) ) ;
79 tan ?:= -?+ SIGN (?) *?(?^2+1) ;
80 cos ?:=(1) /(?( tan ?^2+1) ) ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 170


Universidad Nacional de San Cristobal de Huamanga

81 sin ?:= tan ?* cos ?;


82 IF ?==0 THEN
83 cos ?:=1/?2;
84 sin ?:=1/?2;
85 END ;
86 pi ( ii +7) :=[[1 ,0 ,0 ,0 ,0] ,[0 ,1 ,0 ,0 ,0] ,[0 ,0 , cos ? , - sin ? ,0] ,[0 ,0 , sin
? , cos ? ,0] ,[0 ,0 ,0 ,0 ,1]]; pi ( ii +7) := ROUND ( pi ( ii +7) ,r ) ;
87 ai ( ii +8) := TRN ( pi ( ii +7) ) * ai ( ii +7) * pi ( ii +7) ; ai ( ii +8) := ROUND ( ai ( ii
+8) ,r ) ;
88 a := ai ( ii +8) ;
89 ? pi :=? pi * pi ( ii +7) ;? pi := ROUND (? pi , r ) ; Spreadsheet . Cell ( ii +8 ,5) :=?
pi ;
90

91 // paso9 i :=3 j :=5


92 I :=3; J :=5;
93 ?:=( a (I , I ) -a (J , J ) ) /(2* a (I , J ) ) ;
94 tan ?:= -?+ SIGN (?) *?(?^2+1) ;
95 cos ?:=(1) /(?( tan ?^2+1) ) ;
96 sin ?:= tan ?* cos ?;
97 IF ?==0 THEN
98 cos ?:=1/?2;
99 sin ?:=1/?2;
100 END ;
101 pi ( ii +8) :=[[1 ,0 ,0 ,0 ,0] ,[0 ,1 ,0 ,0 ,0] ,[0 ,0 , cos ? ,0 , - sin
?] ,[0 ,0 ,0 ,1 ,0] ,[0 ,0 , sin ? ,0 , cos ?]]; pi ( ii +8) := ROUND ( pi ( ii +8) ,r
);
102 ai ( ii +9) := TRN ( pi ( ii +8) ) * ai ( ii +8) * pi ( ii +8) ; ai ( ii +9) := ROUND ( ai ( ii
+9) ,r ) ;
103 a := ai ( ii +9) ;
104 ? pi :=? pi * pi ( ii +8) ;? pi := ROUND (? pi , r ) ; Spreadsheet . Cell ( ii +9 ,5) :=?
pi ;
105 // paso10 i :=4 j :=5
106 I :=4; J :=5;
107 ?:=( a (I , I ) -a (J , J ) ) /(2* a (I , J ) ) ;
108 tan ?:= -?+ SIGN (?) *?(?^2+1) ;
109 cos ?:=(1) /(?( tan ?^2+1) ) ;
110 sin ?:= tan ?* cos ?;
111 IF ?==0 THEN
112 cos ?:=1/?2;
113 sin ?:=1/?2;
114 END ;
115

116 pi ( ii +9) :=[[1 ,0 ,0 ,0 ,0] ,[0 ,1 ,0 ,0 ,0] ,[0 ,0 ,1 ,0 ,0] ,[0 ,0 ,0 , cos ? , - sin
?] ,[0 ,0 ,0 , sin ? , cos ?]]; pi ( ii +9) := ROUND ( pi ( ii +9) ,r ) ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 171


Universidad Nacional de San Cristobal de Huamanga

117 ai ( ii +10) := TRN ( pi ( ii +9) ) * ai ( ii +9) * pi ( ii +9) ; ai ( ii +10) := ROUND ( ai (


ii +10) ,r ) ;
118 a := ai ( ii +10) ;
119 ? pi :=? pi * pi ( ii +9) ;? pi := ROUND (? pi , r ) ; Spreadsheet . Cell ( ii +10 ,5)
:=? pi ;
120

121

122

123 Spreadsheet . Cell ( ii +1 ,1) := K ; Spreadsheet . Cell ( ii +1 ,2) := ii ;


Spreadsheet . Cell ( ii +1 ,3) := ai ( ii ) ; Spreadsheet . Cell ( ii +1 ,4)
:= pi ( ii ) ;
124 Spreadsheet . Cell ( ii +2 ,1) := K ; Spreadsheet . Cell ( ii +2 ,2) := ii +1;
Spreadsheet . Cell ( ii +2 ,3) := ai ( ii +1) ; Spreadsheet . Cell ( ii +2 ,4)
:= pi ( ii +1) ;
125 Spreadsheet . Cell ( ii +3 ,1) := K ; Spreadsheet . Cell ( ii +3 ,2) := ii +2;
Spreadsheet . Cell ( ii +3 ,3) := ai ( ii +2) ; Spreadsheet . Cell ( ii +3 ,4)
:= pi ( ii +2) ;
126 Spreadsheet . Cell ( ii +4 ,1) := K ; Spreadsheet . Cell ( ii +4 ,2) := ii +3;
Spreadsheet . Cell ( ii +4 ,3) := ai ( ii +3) ; Spreadsheet . Cell ( ii +4 ,4)
:= pi ( ii +3) ;
127 Spreadsheet . Cell ( ii +5 ,1) := K ; Spreadsheet . Cell ( ii +5 ,2) := ii +4;
Spreadsheet . Cell ( ii +5 ,3) := ai ( ii +4) ; Spreadsheet . Cell ( ii +5 ,4)
:= pi ( ii +4) ;
128 Spreadsheet . Cell ( ii +6 ,1) := K ; Spreadsheet . Cell ( ii +6 ,2) := ii +5;
Spreadsheet . Cell ( ii +6 ,3) := ai ( ii +5) ; Spreadsheet . Cell ( ii +6 ,4)
:= pi ( ii +5) ;
129 Spreadsheet . Cell ( ii +7 ,1) := K ; Spreadsheet . Cell ( ii +7 ,2) := ii +5;
Spreadsheet . Cell ( ii +7 ,3) := ai ( ii +6) ; Spreadsheet . Cell ( ii +7 ,4)
:= pi ( ii +6) ;
130 Spreadsheet . Cell ( ii +8 ,1) := K ; Spreadsheet . Cell ( ii +8 ,2) := ii +5;
Spreadsheet . Cell ( ii +8 ,3) := ai ( ii +7) ; Spreadsheet . Cell ( ii +8 ,4)
:= pi ( ii +7) ;
131 Spreadsheet . Cell ( ii +9 ,1) := K ; Spreadsheet . Cell ( ii +9 ,2) := ii +5;
Spreadsheet . Cell ( ii +9 ,3) := ai ( ii +8) ; Spreadsheet . Cell ( ii +9 ,4)
:= pi ( ii +8) ;
132 Spreadsheet . Cell ( ii +10 ,1) := K ; Spreadsheet . Cell ( ii +10 ,2) := ii +5;
Spreadsheet . Cell ( ii +10 ,3) := ai ( ii +9) ; Spreadsheet . Cell ( ii
+10 ,4) := pi ( ii +9) ;
133 Spreadsheet . Cell ( ii +11 ,1) := K ; Spreadsheet . Cell ( ii +11 ,2) := ii +6;
Spreadsheet . Cell ( ii +11 ,3) := ai ( ii +10) ;
134 ii := ii +10;
135 END ;
136 ai ( ii ) ;
137

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 172


Universidad Nacional de San Cristobal de Huamanga

138 END ;
139

140 IF n ==6 THEN


141 ai (1) := a ; ii :=1;
142 Spreadsheet . Cell (1 ,1) :=" ciclo "; Spreadsheet . Cell (1 ,2) :=" i ";
Spreadsheet . Cell (1 ,3) :=" Ai "; Spreadsheet . Cell (1 ,4) :=" Pi ";
143 INPUT ({ r , Itemax } ,{" r := redondeocifras "}) ;
144 ? pi
:=[[1 ,0 ,0 ,0 ,0 ,0] ,[0 ,1 ,0 ,0 ,0 ,0] ,[0 ,0 ,1 ,0 ,0 ,0] ,[0 ,0 ,0 ,1 ,0 ,0] ,[0 ,0 ,0 ,0 ,1 ,0] ,

145 FOR K FROM 1 TO Itemax DO


146

147 // paso1 i :=1 j :=2


148 I :=1; J :=2;
149 ?:=( a (I , I ) -a (J , J ) ) /(2* a (I , J ) ) ;
150 tan ?:= -?+ SIGN (?) *?(?^2+1) ;
151 cos ?:=(1) /(?( tan ?^2+1) ) ;
152 sin ?:= tan ?* cos ?;
153 IF ?==0 THEN
154 cos ?:=1/?2;
155 sin ?:=1/?2;
156 END ;
157 pi ( ii ) :=[[ cos ? , - sin ? ,0 ,0 ,0 ,0] ,[ sin ? , cos
? ,0 ,0 ,0 ,0] ,[0 ,0 ,1 ,0 ,0 ,0] ,[0 ,0 ,0 ,1 ,0 ,0] ,[0 ,0 ,0 ,0 ,1 ,0] ,[0 ,0 ,0 ,0 ,0 ,1]];
pi ( ii ) := ROUND ( pi ( ii ) ,r ) ;
158 ai ( ii +1) := TRN ( pi ( ii ) ) * ai ( ii ) * pi ( ii ) ; ai ( ii +1) := ROUND ( ai ( ii +1) ,r )
;
159 a := ai ( ii +1) ;
160 ? pi :=? pi * pi ( ii ) ;? pi := ROUND (? pi , r ) ; Spreadsheet . Cell ( ii +1 ,5) :=? pi
;
161 // paso2 i :=1 j :=3
162 I :=1; J :=3;
163 ?:=( a (I , I ) -a (J , J ) ) /(2* a (I , J ) ) ;
164 tan ?:= -?+ SIGN (?) *?(?^2+1) ;
165 cos ?:=(1) /(?( tan ?^2+1) ) ;
166 sin ?:= tan ?* cos ?;
167 IF ?==0 THEN
168 cos ?:=1/?2;
169 sin ?:=1/?2;
170 END ;
171 pi ( ii +1) :=[[ cos ? ,0 , - sin ? ,0 ,0 ,0] ,[0 ,1 ,0 ,0 ,0 ,0] ,[ sin ? ,0 , cos
? ,0 ,0 ,0] ,[0 ,0 ,0 ,1 ,0 ,0] ,[0 ,0 ,0 ,0 ,1 ,0] ,[0 ,0 ,0 ,0 ,0 ,1]]; pi ( ii +1)
:= ROUND ( pi ( ii +1) ,r ) ;
172 ai ( ii +2) := TRN ( pi ( ii +1) ) * ai ( ii +1) * pi ( ii +1) ; ai ( ii +2) := ROUND ( ai ( ii

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 173


Universidad Nacional de San Cristobal de Huamanga

+2) ,r ) ;
173 a := ai ( ii +2) ;
174 ? pi :=? pi * pi ( ii +1) ;? pi := ROUND (? pi , r ) ; Spreadsheet . Cell ( ii +2 ,5) :=?
pi ;
175 // paso3 i :=1 j :=4
176 I :=1; J :=4;
177 ?:=( a (I , I ) -a (J , J ) ) /(2* a (I , J ) ) ;
178 tan ?:= -?+ SIGN (?) *?(?^2+1) ;
179 cos ?:=(1) /(?( tan ?^2+1) ) ;
180 sin ?:= tan ?* cos ?;
181 IF ?==0 THEN
182 cos ?:=1/?2;
183 sin ?:=1/?2;
184 END ;
185 pi ( ii +2) :=[[ cos ? ,0 ,0 , - sin ? ,0 ,0] ,[0 ,1 ,0 ,0 ,0 ,0] ,[0 ,0 ,1 ,0 ,0 ,0] ,[
sin ? ,0 ,0 , cos ? ,0 ,0] ,[0 ,0 ,0 ,0 ,1 ,0] ,[0 ,0 ,0 ,0 ,0 ,1]]; pi ( ii +2) :=
ROUND ( pi ( ii +2) ,r ) ;
186 ai ( ii +3) := TRN ( pi ( ii +2) ) * ai ( ii +2) * pi ( ii +2) ; ai ( ii +3) := ROUND ( ai ( ii
+3) ,r ) ;
187 a := ai ( ii +3) ;
188 ? pi :=? pi * pi ( ii +2) ;? pi := ROUND (? pi , r ) ; Spreadsheet . Cell ( ii +3 ,5) :=?
pi ;
189 // paso4 i :=1 j :=5
190 I :=1; J :=5;
191 ?:=( a (I , I ) -a (J , J ) ) /(2* a (I , J ) ) ;
192 tan ?:= -?+ SIGN (?) *?(?^2+1) ;
193 cos ?:=(1) /(?( tan ?^2+1) ) ;
194 sin ?:= tan ?* cos ?;
195 IF ?==0 THEN
196 cos ?:=1/?2;
197 sin ?:=1/?2;
198 END ;
199 pi ( ii +3) :=[[ cos ? ,0 ,0 ,0 , - sin
? ,0] ,[0 ,1 ,0 ,0 ,0 ,0] ,[0 ,0 ,1 ,0 ,0 ,0] ,[0 ,0 ,0 ,1 ,0 ,0] ,[ sin ? ,0 ,0 ,0 ,
cos ? ,0] ,[0 ,0 ,0 ,0 ,0 ,1]]; pi ( ii +3) := ROUND ( pi ( ii +3) ,r ) ;
200 ai ( ii +4) := TRN ( pi ( ii +3) ) * ai ( ii +3) * pi ( ii +3) ; ai ( ii +4) := ROUND ( ai ( ii
+4) ,r ) ;
201 a := ai ( ii +4) ;
202 ? pi :=? pi * pi ( ii +3) ;? pi := ROUND (? pi , r ) ; Spreadsheet . Cell ( ii +4 ,5) :=?
pi ;
203 // paso5 i :=1 j :=6
204 I :=1; J :=6;
205 ?:=( a (I , I ) -a (J , J ) ) /(2* a (I , J ) ) ;
206 tan ?:= -?+ SIGN (?) *?(?^2+1) ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 174


Universidad Nacional de San Cristobal de Huamanga

207 cos ?:=(1) /(?( tan ?^2+1) ) ;


208 sin ?:= tan ?* cos ?;
209 IF ?==0 THEN
210 cos ?:=1/?2;
211 sin ?:=1/?2;
212 END ;
213 pi ( ii +4) :=[[ cos ? ,0 ,0 ,0 ,0 , - sin
?] ,[0 ,1 ,0 ,0 ,0 ,0] ,[0 ,0 ,1 ,0 ,0 ,0] ,[0 ,0 ,0 ,1 ,0 ,0] ,[0 ,0 ,0 ,0 ,1 ,0] ,[
sin ? ,0 ,0 ,0 ,0 , cos ?]]; pi ( ii +4) := ROUND ( pi ( ii +4) ,r ) ;
214 ai ( ii +5) := TRN ( pi ( ii +4) ) * ai ( ii +4) * pi ( ii +4) ; ai ( ii +5) := ROUND ( ai (
ii +5) ,r ) ;
215 a := ai ( ii +5) ;
216 ? pi :=? pi * pi ( ii +4) ;? pi := ROUND (? pi , r ) ; Spreadsheet . Cell ( ii +5 ,5) :=?
pi ;
217

218 // paso6 i :=2 j :=3


219 I :=2; J :=3;
220 ?:=( a (I , I ) -a (J , J ) ) /(2* a (I , J ) ) ;
221 tan ?:= -?+ SIGN (?) *?(?^2+1) ;
222 cos ?:=(1) /(?( tan ?^2+1) ) ;
223 sin ?:= tan ?* cos ?;
224 IF ?==0 THEN
225 cos ?:=1/?2;
226 sin ?:=1/?2;
227 END ;
228 pi ( ii +5) :=[[1 ,0 ,0 ,0 ,0 ,0] ,[0 , cos ? , - sin ? ,0 ,0 ,0] ,[0 , sin ? , cos
? ,0 ,0 ,0] ,[0 ,0 ,0 ,1 ,0 ,0] ,[0 ,0 ,0 ,0 ,1 ,0] ,[0 ,0 ,0 ,0 ,0 ,1]]; pi ( ii +5)
:= ROUND ( pi ( ii +5) ,r ) ;
229 ai ( ii +6) := TRN ( pi ( ii +5) ) * ai ( ii +5) * pi ( ii +5) ; ai ( ii +6) := ROUND ( ai (
ii +6) ,r ) ;
230 a := ai ( ii +6) ;
231 ? pi :=? pi * pi ( ii +5) ;? pi := ROUND (? pi , r ) ; Spreadsheet . Cell ( ii +6 ,5) :=?
pi ;
232 // paso7 i :=2 j :=4
233 I :=2; J :=4;
234 ?:=( a (I , I ) -a (J , J ) ) /(2* a (I , J ) ) ;
235 tan ?:= -?+ SIGN (?) *?(?^2+1) ;
236 cos ?:=(1) /(?( tan ?^2+1) ) ;
237 sin ?:= tan ?* cos ?;
238 IF ?==0 THEN
239 cos ?:=1/?2;
240 sin ?:=1/?2;
241 END ;
242 pi ( ii +6) :=[[1 ,0 ,0 ,0 ,0 ,0] ,[0 , cos ? ,0 , - sin ? ,0 ,0] ,[0 ,0 ,1 ,0 ,0 ,0] ,[0 ,

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 175


Universidad Nacional de San Cristobal de Huamanga

sin ? ,0 , cos ? ,0 ,0] ,[0 ,0 ,0 ,0 ,1 ,0] ,[0 ,0 ,0 ,0 ,0 ,1]]; pi ( ii +6) :=


ROUND ( pi ( ii +6) ,r ) ;
243 ai ( ii +7) := TRN ( pi ( ii +6) ) * ai ( ii +6) * pi ( ii +6) ; ai ( ii +7) := ROUND (
ai ( ii +7) ,r ) ;
244 a := ai ( ii +7) ;
245

246 ? pi :=? pi * pi ( ii +6) ;? pi := ROUND (? pi , r ) ; Spreadsheet . Cell ( ii +7 ,5) :=?


pi ;
247 // paso8 i :=2 j :=5
248 I :=2; J :=5;
249 ?:=( a (I , I ) -a (J , J ) ) /(2* a (I , J ) ) ;
250 tan ?:= -?+ SIGN (?) *?(?^2+1) ;
251 cos ?:=(1) /(?( tan ?^2+1) ) ;
252 sin ?:= tan ?* cos ?;
253 IF ?==0 THEN
254 cos ?:=1/?2;
255 sin ?:=1/?2;
256 END ;
257 pi ( ii +7) :=[[1 ,0 ,0 ,0 ,0 ,0] ,[0 , cos ? ,0 ,0 , - sin
? ,0] ,[0 ,0 ,1 ,0 ,0 ,0] ,[0 ,0 ,0 ,1 ,0 ,0] ,[0 , sin ? ,0 ,0 , cos
? ,0] ,[0 ,0 ,0 ,0 ,0 ,1]]; pi ( ii +7) := ROUND ( pi ( ii +7) ,r ) ;
258 ai ( ii +8) := TRN ( pi ( ii +7) ) * ai ( ii +7) * pi ( ii +7) ; ai ( ii +8) := ROUND ( ai ( ii
+8) ,r ) ;
259 a := ai ( ii +8) ;
260 ? pi :=? pi * pi ( ii +7) ;? pi := ROUND (? pi , r ) ; Spreadsheet . Cell ( ii +8 ,5) :=?
pi ;
261 // paso9 i :=2 j :=6
262 I :=2; J :=6;
263 ?:=( a (I , I ) -a (J , J ) ) /(2* a (I , J ) ) ;
264 tan ?:= -?+ SIGN (?) *?(?^2+1) ;
265 cos ?:=(1) /(?( tan ?^2+1) ) ;
266 sin ?:= tan ?* cos ?;
267 IF ?==0 THEN
268 cos ?:=1/?2;
269 sin ?:=1/?2;
270 END ;
271 pi ( ii +8) :=[[1 ,0 ,0 ,0 ,0 ,0] ,[0 , cos ? ,0 ,0 ,0 , - sin
?] ,[0 ,0 ,1 ,0 ,0 ,0] ,[0 ,0 ,0 ,1 ,0 ,0] ,[0 ,0 ,0 ,0 ,1 ,0] ,[0 , sin ? ,0 ,0 ,0 ,
cos ?]]; pi ( ii +8) := ROUND ( pi ( ii +8) ,r ) ;
272 ai ( ii +9) := TRN ( pi ( ii +8) ) * ai ( ii +8) * pi ( ii +8) ; ai ( ii +9) := ROUND ( ai (
ii +9) ,r ) ;
273 a := ai ( ii +9) ;
274

275 ? pi :=? pi * pi ( ii +8) ;? pi := ROUND (? pi , r ) ; Spreadsheet . Cell ( ii +9 ,5) :=?

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 176


Universidad Nacional de San Cristobal de Huamanga

pi ;
276 // paso10 i :=3 j :=4
277 I :=3; J :=4;
278 ?:=( a (I , I ) -a (J , J ) ) /(2* a (I , J ) ) ;
279 tan ?:= -?+ SIGN (?) *?(?^2+1) ;
280 cos ?:=(1) /(?( tan ?^2+1) ) ;
281 sin ?:= tan ?* cos ?;
282 IF ?==0 THEN
283 cos ?:=1/?2;
284 sin ?:=1/?2;
285 END ;
286 pi ( ii +9) :=[[1 ,0 ,0 ,0 ,0 ,0] ,[0 ,1 ,0 ,0 ,0 ,0] ,[0 ,0 , cos ? , - sin
? ,0 ,0] ,[0 ,0 , sin ? , cos ? ,0 ,0] ,[0 ,0 ,0 ,0 ,1 ,0] ,[0 ,0 ,0 ,0 ,0 ,1]]; pi (
ii +9) := ROUND ( pi ( ii +9) ,r ) ;
287 ai ( ii +10) := TRN ( pi ( ii +9) ) * ai ( ii +9) * pi ( ii +9) ; ai ( ii +10) := ROUND ( ai (
ii +10) ,r ) ;
288 a := ai ( ii +10) ;
289

290 ? pi :=? pi * pi ( ii +9) ;? pi := ROUND (? pi , r ) ; Spreadsheet . Cell ( ii +10 ,5)


:=? pi ;
291 // paso11 i :=3 j :=5
292 I :=3; J :=5;
293 ?:=( a (I , I ) -a (J , J ) ) /(2* a (I , J ) ) ;
294 tan ?:= -?+ SIGN (?) *?(?^2+1) ;
295 cos ?:=(1) /(?( tan ?^2+1) ) ;
296 sin ?:= tan ?* cos ?;
297 IF ?==0 THEN
298 cos ?:=1/?2;
299 sin ?:=1/?2;
300 END ;
301 pi ( ii +10) :=[[1 ,0 ,0 ,0 ,0 ,0] ,[0 ,1 ,0 ,0 ,0 ,0] ,[0 ,0 , cos ? ,0 , - sin
? ,0] ,[0 ,0 ,0 ,1 ,0 ,0] ,[0 ,0 , sin ? ,0 , cos ? ,0] ,[0 ,0 ,0 ,0 ,0 ,1]]; pi ( ii
+10) := ROUND ( pi ( ii +10) ,r ) ;
302 ai ( ii +11) := TRN ( pi ( ii +10) ) * ai ( ii +10) * pi ( ii +10) ; ai ( ii +11) := ROUND
( ai ( ii +11) ,r ) ;
303 a := ai ( ii +11) ;
304 ? pi :=? pi * pi ( ii +10) ;? pi := ROUND (? pi , r ) ; Spreadsheet . Cell ( ii +11 ,5)
:=? pi ;
305 // paso12 i :=3 j :=6
306 I :=3; J :=6;
307 ?:=( a (I , I ) -a (J , J ) ) /(2* a (I , J ) ) ;
308 tan ?:= -?+ SIGN (?) *?(?^2+1) ;
309 cos ?:=(1) /(?( tan ?^2+1) ) ;
310 sin ?:= tan ?* cos ?;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 177


Universidad Nacional de San Cristobal de Huamanga

311 IF ?==0 THEN


312 cos ?:=1/?2;
313 sin ?:=1/?2;
314 END ;
315 pi ( ii +11) :=[[1 ,0 ,0 ,0 ,0 ,0] ,[0 ,1 ,0 ,0 ,0 ,0] ,[0 ,0 , cos ? ,0 ,0 , - sin
?] ,[0 ,0 ,0 ,1 ,0 ,0] ,[0 ,0 ,0 ,0 ,1 ,0] ,[0 ,0 , sin ? ,0 ,0 , cos ?]]; pi ( ii
+11) := ROUND ( pi ( ii +11) ,r ) ;
316 ai ( ii +12) := TRN ( pi ( ii +11) ) * ai ( ii +11) * pi ( ii +11) ; ai ( ii +12) := ROUND (
ai ( ii +12) ,r ) ;
317 a := ai ( ii +12) ;
318 ? pi :=? pi * pi ( ii +11) ;? pi := ROUND (? pi , r ) ; Spreadsheet . Cell ( ii +12 ,5)
:=? pi ;
319 // paso13 i :=4 j :=5
320 I :=4; J :=5;
321 ?:=( a (I , I ) -a (J , J ) ) /(2* a (I , J ) ) ;
322 tan ?:= -?+ SIGN (?) *?(?^2+1) ;
323 cos ?:=(1) /(?( tan ?^2+1) ) ;
324 sin ?:= tan ?* cos ?;
325 IF ?==0 THEN
326 cos ?:=1/?2;
327 sin ?:=1/?2;
328 END ;
329 pi ( ii +12) :=[[1 ,0 ,0 ,0 ,0 ,0] ,[0 ,1 ,0 ,0 ,0 ,0] ,[0 ,0 ,1 ,0 ,0 ,0] ,[0 ,0 ,0 ,
cos ? , - sin ? ,0] ,[0 ,0 ,0 , sin ? , cos ? ,0] ,[0 ,0 ,0 ,0 ,0 ,1]]; pi ( ii +12) :=
ROUND ( pi ( ii +12) ,r ) ;
330 ai ( ii +13) := TRN ( pi ( ii +12) ) * ai ( ii +12) * pi ( ii +12) ; ai ( ii +13) := ROUND (
ai ( ii +13) ,r ) ;
331 a := ai ( ii +13) ;
332 ? pi :=? pi * pi ( ii +12) ;? pi := ROUND (? pi , r ) ; Spreadsheet . Cell ( ii +13 ,5)
:=? pi ;
333 // paso14 i :=4 j :=6
334 I :=4; J :=6;
335 ?:=( a (I , I ) -a (J , J ) ) /(2* a (I , J ) ) ;
336 tan ?:= -?+ SIGN (?) *?(?^2+1) ;
337 cos ?:=(1) /(?( tan ?^2+1) ) ;
338 sin ?:= tan ?* cos ?;
339 IF ?==0 THEN
340 cos ?:=1/?2;
341 sin ?:=1/?2;
342 END ;
343

344 pi ( ii +13) :=[[1 ,0 ,0 ,0 ,0 ,0] ,[0 ,1 ,0 ,0 ,0 ,0] ,[0 ,0 ,1 ,0 ,0 ,0] ,[0 ,0 ,0 ,


cos ? ,0 , - sin ?] ,[0 ,0 ,0 ,0 ,1 ,0] ,[0 ,0 ,0 , sin ? ,0 , cos ?]]; pi ( ii +13) :=
ROUND ( pi ( ii +13) ,r ) ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 178


Universidad Nacional de San Cristobal de Huamanga

345 ai ( ii +14) := TRN ( pi ( ii +13) ) * ai ( ii +13) * pi ( ii +13) ; ai ( ii +14) := ROUND (


ai ( ii +14) ,r ) ;
346 a := ai ( ii +14) ;
347

348 ? pi :=? pi * pi ( ii +13) ;? pi := ROUND (? pi , r ) ; Spreadsheet . Cell ( ii +14 ,5)


:=? pi ;
349 // paso15 i :=5 j :=6
350 I :=5; J :=6;
351 ?:=( a (I , I ) -a (J , J ) ) /(2* a (I , J ) ) ;
352 tan ?:= -?+ SIGN (?) *?(?^2+1) ;
353 cos ?:=(1) /(?( tan ?^2+1) ) ;
354 sin ?:= tan ?* cos ?;
355 IF ?==0 THEN
356 cos ?:=1/?2;
357 sin ?:=1/?2;
358 END ;
359

360 pi ( ii +14)
:=[[1 ,0 ,0 ,0 ,0 ,0] ,[0 ,1 ,0 ,0 ,0 ,0] ,[0 ,0 ,1 ,0 ,0 ,0] ,[0 ,0 ,0 ,1 ,0 ,0] ,[0 ,0 ,0 ,0 ,
cos ? , - sin ?] ,[0 ,0 ,0 ,0 , sin ? , cos ?]]; pi ( ii +14) := ROUND ( pi ( ii +14) ,
r);
361 ai ( ii +15) := TRN ( pi ( ii +14) ) * ai ( ii +14) * pi ( ii +14) ; ai ( ii +15) := ROUND (
ai ( ii +15) ,r ) ;
362 a := ai ( ii +15) ;
363

364 ? pi :=? pi * pi ( ii +14) ;? pi := ROUND (? pi , r ) ; Spreadsheet . Cell ( ii +15 ,5)


:=? pi ;
365

366 Spreadsheet . Cell ( ii +1 ,1) := K ; Spreadsheet . Cell ( ii +1 ,2) := ii ;


Spreadsheet . Cell ( ii +1 ,3) := ai ( ii ) ; Spreadsheet . Cell ( ii +1 ,4)
:= pi ( ii ) ;
367 Spreadsheet . Cell ( ii +2 ,1) := K ; Spreadsheet . Cell ( ii +2 ,2) := ii +1;
Spreadsheet . Cell ( ii +2 ,3) := ai ( ii +1) ; Spreadsheet . Cell ( ii +2 ,4)
:= pi ( ii +1) ;
368 Spreadsheet . Cell ( ii +3 ,1) := K ; Spreadsheet . Cell ( ii +3 ,2) := ii +2;
Spreadsheet . Cell ( ii +3 ,3) := ai ( ii +2) ; Spreadsheet . Cell ( ii +3 ,4)
:= pi ( ii +2) ;
369 Spreadsheet . Cell ( ii +4 ,1) := K ; Spreadsheet . Cell ( ii +4 ,2) := ii +3;
Spreadsheet . Cell ( ii +4 ,3) := ai ( ii +3) ; Spreadsheet . Cell ( ii +4 ,4)
:= pi ( ii +3) ;
370 Spreadsheet . Cell ( ii +5 ,1) := K ; Spreadsheet . Cell ( ii +5 ,2) := ii +4;
Spreadsheet . Cell ( ii +5 ,3) := ai ( ii +4) ; Spreadsheet . Cell ( ii +5 ,4)
:= pi ( ii +4) ;
371 Spreadsheet . Cell ( ii +6 ,1) := K ; Spreadsheet . Cell ( ii +6 ,2) := ii +5;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 179


Universidad Nacional de San Cristobal de Huamanga

Spreadsheet . Cell ( ii +6 ,3) := ai ( ii +5) ; Spreadsheet . Cell ( ii +6 ,4)


:= pi ( ii +5) ;
372 Spreadsheet . Cell ( ii +7 ,1) := K ; Spreadsheet . Cell ( ii +7 ,2) := ii +6;
Spreadsheet . Cell ( ii +7 ,3) := ai ( ii +6) ; Spreadsheet . Cell ( ii +7 ,4)
:= pi ( ii +6) ;
373 Spreadsheet . Cell ( ii +8 ,1) := K ; Spreadsheet . Cell ( ii +8 ,2) := ii +7;
Spreadsheet . Cell ( ii +8 ,3) := ai ( ii +7) ; Spreadsheet . Cell ( ii +8 ,4)
:= pi ( ii +7) ;
374 Spreadsheet . Cell ( ii +9 ,1) := K ; Spreadsheet . Cell ( ii +9 ,2) := ii +8;
Spreadsheet . Cell ( ii +9 ,3) := ai ( ii +8) ; Spreadsheet . Cell ( ii +9 ,4)
:= pi ( ii +8) ;
375 Spreadsheet . Cell ( ii +10 ,1) := K ; Spreadsheet . Cell ( ii +10 ,2) := ii +9;
Spreadsheet . Cell ( ii +10 ,3) := ai ( ii +9) ; Spreadsheet . Cell ( ii
+10 ,4) := pi ( ii +9) ;
376 Spreadsheet . Cell ( ii +11 ,1) := K ; Spreadsheet . Cell ( ii +11 ,2) := ii +10;
Spreadsheet . Cell ( ii +11 ,3) := ai ( ii +10) ; Spreadsheet . Cell ( ii
+11 ,4) := pi ( ii +10) ;
377 Spreadsheet . Cell ( ii +12 ,1) := K ; Spreadsheet . Cell ( ii +12 ,2) := ii +11;
Spreadsheet . Cell ( ii +12 ,3) := ai ( ii +11) ; Spreadsheet . Cell ( ii
+12 ,4) := pi ( ii +11) ;
378 Spreadsheet . Cell ( ii +13 ,1) := K ; Spreadsheet . Cell ( ii +13 ,2) := ii +12;
Spreadsheet . Cell ( ii +13 ,3) := ai ( ii +12) ; Spreadsheet . Cell ( ii
+13 ,4) := pi ( ii +12) ;
379 Spreadsheet . Cell ( ii +14 ,1) := K ; Spreadsheet . Cell ( ii +14 ,2) := ii +13;
Spreadsheet . Cell ( ii +14 ,3) := ai ( ii +13) ; Spreadsheet . Cell ( ii
+14 ,4) := pi ( ii +13) ;
380 Spreadsheet . Cell ( ii +15 ,1) := K ; Spreadsheet . Cell ( ii +15 ,2) := ii +14;
Spreadsheet . Cell ( ii +15 ,3) := ai ( ii +14) ; Spreadsheet . Cell ( ii
+15 ,4) := pi ( ii +14) ;
381 Spreadsheet . Cell ( ii +16 ,1) := K ; Spreadsheet . Cell ( ii +16 ,2) := ii +15;
Spreadsheet . Cell ( ii +16 ,3) := ai ( ii +15) ;
382 ii := ii +15;
383 END ;
384 ai ( ii ) ;
385

386 END ;
387

388

389

390 END ;
391 END ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 180


Universidad Nacional de San Cristobal de Huamanga

8.5 INTERPOLACION FUNCIONAL


Programa 8.20 Interpolacion De Lagrange

1 EXPORT Lagrange ( xy )
2 BEGIN
3 LOCAL n ,x , pi , px , li ;
4 LOCAL s ,t , ti , si ;
5

6 n := CAS . SIZE ( xy ) ; n := n (1) ;


7 t :=1; s :=1; px :=0;
8 x := CAS . x ;
9 FOR I FROM 1 TO n DO
10 FOR J FROM 1 TO n DO
11 IF I ? J THEN
12 x := CAS . x ;
13 s :=( x - xy (J ,1) ) * s ;
14 t :=( xy (I ,1) - xy (J ,1) ) * t ;
15 END ;
16 END ;
17 px := xy (I ,2) *( s / t ) + px ;
18 Spreadsheet . Cell ( I +1 ,1) := s / t ;
19 s :=1;
20 t :=1;
21

22 END ;
23 Spreadsheet . Cell ( I +1 ,1) :=" p ( x ) ";
24 Spreadsheet . Cell ( I +2 ,1) := CAS . expand ( px ) ;
25 Spreadsheet . Cell (1 ,1) :=" li ";
26

27 RETURN px ;
28 END ;

Programa 8.21 Interpolacion De Newton

1 EXPORT InterNewton ( m )
2 BEGIN
3

4 LOCAL n ,x ,s , si , k ; x := CAS . x ;
5 LOCAL fi , li , px ; li :={};
6 n := CAS . SIZE ( m ) ; n := n (1) ;
7 s :=1; si :=0;
8 FOR I FROM 1 TO n DO

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 181


Universidad Nacional de San Cristobal de Huamanga

9 s :=( x - m (I ,1) ) * s ;
10 li ( I ) := s ;
11 END ;
12 px := m (1 ,2) ;
13 FOR I FROM 1 TO n -1 DO
14 px := li ( I ) * m ( I +1 , I +2) + px ;
15 END ;
16 px ;
17

18 END ;

Programa 8.22 Interpolacion Bidimencional De Lagrange

1 EXPORT InterBidimencional ( ma )
2 BEGIN
3 LOCAL n ,f ,c ,m , li , la ,v , pit ;
4 m := ma ; pit :={};
5 m := DELROW (m ,1) ;
6 n := CAS . SIZE ( m ) ;
7 f := n (1) ; c := n (2) ;
8 li := randMat (f ,2) *0;
9

10 FOR K FROM 2 TO c DO
11 FOR I FROM 1 TO f DO
12 li (I ,1) := m (I ,1) ;
13 li (I ,2) := m (I , K ) ;
14 END ;
15 pit (K -1) :={ ma (1 , K ) , Lagrangesimple ( li , K ) };
16 END ;
17 END ;

Programa 8.23 Regresion linial multiple

1 EXPORT RegreR ( MDATO )


2 BEGIN
3 LOCAL coefi :=[[0]] , MITER :=[[0]] , Etique :={} , DaTo := MDATO ; LOCAL
opc ;
4 WHILE opc < >6 DO
5 CHOOSE ( opc ," REGRESIÓN " ,{" DATOS " ," TABLA " ," ECUACIÓN " ," SOLUCIONAR
" ," AUTOR " ," SALIR "}) ;
6 FOR I FROM 1 TO rowDim ( DaTo ) DO

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 182


Universidad Nacional de San Cristobal de Huamanga

7 Etique (0) :=" N_ "+ STRING ( ROUND (I ,0) ,1) ;


8 END ; Etique (0) :=""; Etique (0) :=""; Etique (0) :="";
9 IF opc ==1 THEN
10 EDITMAT ( DaTo ,{" REGRESIÓN LINEAL MULTIPLE " , Etique ,{" X1 " ," X2
" ," Y " ,"" ,"" ,""}}) ;
11 coefi :=(([[ rowDim ( DaTo ) , sum ( mat2list ( col ( DaTo ,1) ) ) , sum (
mat2list ( col ( DaTo ,2) ) ) ] ,[ sum ( mat2list ( col ( DaTo ,1) ) ) , sum (
mat2list ( col ( DaTo ,1) ) ^2) , sum ( mat2list ( col ( DaTo ,2) ) *
mat2list ( col ( DaTo ,1) ) ) ] ,[ sum ( mat2list ( col ( DaTo ,2) ) ) , sum (
mat2list ( col ( DaTo ,2) ) * mat2list ( col ( DaTo ,1) ) ) , sum ( mat2list
( col ( DaTo ,2) ) ^2) ]]) ^ -1) *[[ sum ( mat2list ( col ( DaTo ,3) ) ) ] ,[
sum ( mat2list ( col ( DaTo ,1) ) * mat2list ( col ( DaTo ,3) ) ) ] ,[ sum (
mat2list ( col ( DaTo ,2) ) * mat2list ( col ( DaTo ,3) ) ) ]];
12 END ;
13 IF opc ==2 THEN
14 LOCAL MITER := MAKEMAT (0 , rowDim ( DaTo ) ,1) ;
15 LOCAL DATOS := TRN ( DaTo ) ;
16 ADDCOL ( MITER , row ( DATOS ,3) ,1) ; ADDCOL ( MITER , row (
DATOS ,1) ,2) ; ADDCOL ( MITER , row ( DATOS ,2) ,3) ;
17 ADDCOL ( MITER , row ( DATOS ,1) .^2 ,4) ; ADDCOL ( MITER , row (
DATOS ,2) .^2 ,5) ; ADDCOL ( MITER , row ( DATOS ,1) .* row ( DATOS ,2)
,6) ;
18 ADDCOL ( MITER , row ( DATOS ,1) .* row ( DATOS ,3) ,7) ; ADDCOL ( MITER , row (
DATOS ,2) .* row ( DATOS ,3) ,8) ;
19 DELCOL ( MITER ,9) ;
20 EDITMAT ( MITER ,{" REGRESIÓN LINEAL MULTIPLE " , Etique ,{" Y " ," X1
" ," X2 " ," X1 ^2" ," X2 ^2" ," X1 * X2 " ," Y * X1 " ," Y * X2 " ,""}}) ;
21 MITER := MAKEMAT (0 , rowDim ( DaTo ) ,1) ;
22 END ;
23 IF opc ==3 THEN
24 MSGBOX (" ao ="+ coefi (1 ,1) + " a1 ="+ coefi (2 ,1) + " a2 ="+
coefi (3 ,1) ) ;
25 END ;
26 IF opc ==4 THEN
27 LOCAL ECUACION ;
28 ECUACION :=" Y ="+ coefi (1 ,1) +"+"+ coefi (2 ,1) +"* X1 +"+ coefi (3 ,1)
+"* X2 ";
29 E1 := ECUACION ; STARTAPP (" Soluc .") ;
30 END ;
31 IF opc ==5 THEN
32 MSGBOX (" Programación : . I .") ;
33 END ;
34 END ;
35 END ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 183


Universidad Nacional de San Cristobal de Huamanga

8.6 INTEGRACIÓN

Programa 8.24 Cuadratura de Gauss Legendre

1 EXPORT CuadGausLegen ( f )
2 BEGIN
3 LOCAL xw , xi , x ; x := CAS . x ;
4 LOCAL fi , wifi ,s , ii ;
5 LOCAL a ,b ,n , inte ;
6 LOCAL ee ; ee := CAS . ee ; ee :=2.718281828459046;
7 INPUT ({ a ,b , n } ,{" n = nodos de legendre "}) ;
8

9 xw := gaussLegendre ( n ) ;
10 s :=0;
11

12 Spreadsheet . Cell (1 ,1) :=" i "; Spreadsheet . Cell (1 ,2) :="? i ";
Spreadsheet . Cell (1 ,3) :=" xi "; Spreadsheet . Cell (1 ,4) :=" fxi ";
Spreadsheet . Cell (1 ,5) :=" wi "; Spreadsheet . Cell (1 ,6) :=" wi * fi ";
Spreadsheet . Cell (1 ,7) :="?"; Spreadsheet . Cell (1 ,8) :=" w ";
13 ii :=2;
14 FOR I FROM 1 TO n DO
15 x := CAS . x ;
16 xi :=(1/2) *( b - a ) * xw (I ,1) +(1/2) *( b + a ) ;
17 x := xi ; fi := EVAL ( f ) ;
18 wifi := xw (I ,2) * fi ;
19 s := s + wifi ;
20 Spreadsheet . Cell ( ii ,1) := ii -1; Spreadsheet . Cell ( ii ,2) := xw (I ,1) ;
Spreadsheet . Cell ( ii ,3) := xi ; Spreadsheet . Cell ( ii ,4) := fi ;
Spreadsheet . Cell ( ii ,5) := xw (I ,2) ; Spreadsheet . Cell ( ii ,6) := wifi
; Spreadsheet . Cell ( ii ,7) := xw (I ,1) ; Spreadsheet . Cell ( ii ,8) := xw (
I ,2) ;
21 ii := ii +1;
22 END ;
23 Spreadsheet . Cell ( ii ,6) := s ;
24 inte :=(1/2) *( b - a ) * s ;
25

26 Spreadsheet . Cell ( ii ,1) :=" Integral "; Spreadsheet . Cell ( ii ,2) := inte
;
27

28 END ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 184


Universidad Nacional de San Cristobal de Huamanga

Programa 8.25 Método de Romberg

1 EXPORT Romberg ( f )
2 BEGIN
3 LOCAL a ,b ,n ,k , Ii , jj ;
4 LOCAL int , Ik ;
5 INPUT ({ a ,b , k }) ;
6 int :={};
7 FOR jj FROM 0 TO k DO
8 Ii := Trapecios (f ,a ,b ,2^ jj ) ;
9 Spreadsheet . Cell ( jj +2 ,1) := jj ; Spreadsheet . Cell ( jj +2 ,2) :=2^ jj ;
Spreadsheet . Cell ( jj +2 ,3) := Ii ;
10 int ( jj +1) := Ii ;
11 END ;
12

13 FOR J FROM 1 TO k DO
14 FOR I FROM 0 TO k - J DO
15 Ik :=(((4^ J ) * int ( I +2) ) - int ( I +1) ) /((4^ J ) -1) ;
16

17 int (I - J +2) := Ik ;
18 Spreadsheet . Cell ( I + J +2 , J +3) := Ik ;
19 END ;
20 END ;
21

22 END ;

Programa 8.26 Método de Romberg para puntos

1 EXPORT RombergMatriz ( m )
2 BEGIN
3 LOCAL n , nn , ti ,a ,b , fa , fb , hi ;
4 LOCAL fi , li , lli ,s , bi ;
5 LOCAL int , Ik ;
6

7 n := CAS . SIZE ( m ) ; n := n (1) ;


8 li :={}; ti :={}; lli :={}; hi :={}; fi :={};
9 a := m (1 ,1) ; fa := m (1 ,2) ;
10 b := m (n ,1) ; fb := m (n ,2) ;
11 ti (1) :=(( b - a ) /2) *( fa + fb ) ;
12 nn := FLOOR (?( n ) ) ;
13

14 s :=0;
15 FOR J FROM 1 TO nn DO

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 185


Universidad Nacional de San Cristobal de Huamanga

16 FOR I FROM 1 TO 2^( J -1) DO


17 hi ( J ) :=( b - a ) /(2^( J ) ) ; li ( I ) := a +(2* I -1) * hi ( J ) ; bi := IP ((( n +1) * li ( I )
)/b);
18 fi := m ( bi ,2) ;
19 s := s + fi ;
20 END ;
21 Spreadsheet . Cell ( J +2 ,3) := s * hi ( J ) ;
22 ti ( J +1) :=(1/2) * ti ( J ) + s * hi ( J ) ;
23 s :=0;
24 END ;
25

26 int := ti ;
27 FOR I FROM 1 TO nn +1 DO
28 hi ( J ) :=( b - a ) /(2^( I -1) ) ;
29 Spreadsheet . Cell ( I +1 ,1) := I -1;
30 Spreadsheet . Cell ( I +1 ,2) := hi ( J ) ;
31 Spreadsheet . Cell ( I +1 ,4) := ti ( I ) ;
32 END ;
33

34

35

36 FOR J FROM 1 TO nn DO
37 FOR I FROM 0 TO nn - J DO
38 Ik :=(((4^ J ) * int ( I +2) ) - int ( I +1) ) /((4^ J ) -1) ;
39 int (I - J +2) := Ik ;
40 Spreadsheet . Cell ( I + J +2 , J +4) := Ik ;
41 END ;
42 END ;
43

44

45 Spreadsheet . Cell (1 ,1) :=" j "; Spreadsheet . Cell (1 ,2) :=" hj ";
Spreadsheet . Cell (1 ,3) :=" hj *? f ( a + hj *( i ) ) "; Spreadsheet . Cell
(1 ,4) :=" T1 , j "; Spreadsheet . Cell (1 ,5) :=" T2 , j "; Spreadsheet . Cell
(1 ,6) :=" T3 , j "; Spreadsheet . Cell (1 ,7) :=" T4 , j ";
46 RETURN ti ;
47

48

49 END ;

8.7 EDO

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 186


Universidad Nacional de San Cristobal de Huamanga

Programa 8.27 Metodo de Euler

1 EXPORT Euler ( f )
2 BEGIN
3 LOCAL n ,h , xi , yi , xo , yo ;
4 LOCAL fxiyi , xi1 , yi1 ;
5 LOCAL x , y ; x := CAS . x ; y := CAS . y ;
6 LOCAL ee ; ee := CAS . ee ; ee :=2.718281828459046;
7 INPUT ({ xo , yo ,n , h } ,{" h = Paso "}) ;
8 xi := xo ; yi := yo ;
9 Spreadsheet . Cell (1 ,1) :=" x ( i +1) "; Spreadsheet . Cell (1 ,2) :=" y ( i +1)
";
10

11 FOR I FROM 1 TO n DO
12 x := CAS . x ; y := CAS . y ;
13 x := xi ; fxiyi := EVAL ( f ) ; y := yi ; fxiyi := EVAL ( fxiyi ) ;
14 xi1 := xi + h ;
15 yi1 := yi + h * fxiyi ;
16 Spreadsheet . Cell ( I +1 ,1) := xi1 ; Spreadsheet . Cell ( I +1 ,2) := yi1 ;
17 xi := xi1 ;
18 yi := yi1 ;
19 END ;
20 END ;

Programa 8.28 Metodo de Euler Mejorado

1 EXPORT EulerMejorado ( f )
2 BEGIN
3 LOCAL n ,h , xi , yi , zi , xo , yo ;
4 LOCAL fxiyi , xi1 , yi1 , zi1 ;
5 LOCAL x ,y , fxi1zi1 ; x := CAS . x ; y := CAS . y ;
6 LOCAL ee ; ee := CAS . ee ; ee :=2.718281828459046;
7 INPUT ({ xo , yo ,n , h } ,{" h = Paso "}) ;
8 xi := xo ; yi := yo ;
9 Spreadsheet . Cell (1 ,1) :=" x ( i +1) "; Spreadsheet . Cell (1 ,2) :=" y ( i +1)
predictor "; Spreadsheet . Cell (1 ,3) :=" y ( i +1) corrector ";
10 FOR I FROM 1 TO n DO
11 x := CAS . x ; y := CAS . y ;
12 x := xi ; fxiyi := EVAL ( f ) ; y := yi ; fxiyi := EVAL ( fxiyi ) ;
13 xi1 := xi + h ;
14 zi1 := yi + h * fxiyi ;
15 x := xi1 ; y := zi1 ; fxi1zi1 := EVAL ( f ) ;
16 yi1 := yi +( h /2) *( fxiyi + fxi1zi1 ) ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 187


Universidad Nacional de San Cristobal de Huamanga

17 Spreadsheet . Cell ( I +1 ,1) := xi1 ; Spreadsheet . Cell ( I +1 ,2) := zi1 ;


Spreadsheet . Cell ( I +1 ,3) := yi1 ;
18 xi := xi1 ;
19 yi := yi1 ;
20 END ;
21 END ;

Programa 8.29 Metodo Runge Kutta

1 EXPORT RungeKutta ( f )
2 BEGIN
3 LOCAL ee ; ee := CAS . ee ; ee :=2.718281828459046;
4 LOCAL n ,h , xi , yi , xo , yo , orden ;
5 LOCAL k1 , k2 , k3 , k4 ;
6 LOCAL x , y ; x := CAS . x ; y := CAS . y ;
7 LOCAL fxiyi , xi , yi , xi1 , yi1 ;
8

9 INPUT ({ xo , yo ,n ,h , orden } ,{" h = Paso "}) ;


10 xi := xo ; yi := yo ;
11

12 CASE
13 IF orden ==2 THEN
14 FOR I FROM 1 TO n DO
15 x := CAS . x ; y := CAS . y ;
16 x := xi ; k1 := EVAL ( f ) ; y := yi ; k1 := EVAL ( k1 ) ;
17 xi := xi + h ;
18 x := CAS . x ; y := CAS . y ;
19 x := xi ; k2 := EVAL ( f ) ; y := yi + h * k1 ; k2 := EVAL ( k2 ) ;
20 yi := yi +( h /2) *( k1 + k2 ) ;
21 Spreadsheet . Cell (1 ,1) :=" i "; Spreadsheet . Cell (1 ,2) :=" xi ";
Spreadsheet . Cell (1 ,3) :=" k1 "; Spreadsheet . Cell (1 ,4) :=" k2 ";
Spreadsheet . Cell (1 ,5) :=" yi ";
22 Spreadsheet . Cell ( I +1 ,1) := I ; Spreadsheet . Cell ( I +1 ,2) := xi ;
Spreadsheet . Cell ( I +1 ,3) := k1 ; Spreadsheet . Cell ( I +1 ,4) := k2 ;
Spreadsheet . Cell ( I +1 ,5) := yi ;
23 END ;
24 END ;
25

26 IF orden ==3 THEN


27 FOR I FROM 1 TO n DO
28 x := CAS . x ; y := CAS . y ;
29 x := xi ; k1 := EVAL ( f ) ; y := yi ; k1 := EVAL ( k1 ) ;
30 x := CAS . x ; y := CAS . y ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 188


Universidad Nacional de San Cristobal de Huamanga

31 x := xi + h /2; k2 := EVAL ( f ) ; y := yi +( h /2) * k1 ; k2 := EVAL ( k2 ) ;


32 x := CAS . x ; y := CAS . y ;
33 x := xi + h ; k3 := EVAL ( f ) ; y := yi - k1 +2* h * k2 ; k3 := EVAL ( k3 ) ;
34

35 yi := yi +( h /6) *( k1 +4* k2 + k3 ) ;
36 xi := xi + h ;
37 Spreadsheet . Cell (1 ,1) :=" i "; Spreadsheet . Cell (1 ,2) :=" xi ";
Spreadsheet . Cell (1 ,3) :=" k1 "; Spreadsheet . Cell (1 ,4) :=" k2 ";
Spreadsheet . Cell (1 ,5) :=" k3 "; Spreadsheet . Cell (1 ,6) := yi ;
38 Spreadsheet . Cell ( I +1 ,1) := I ; Spreadsheet . Cell ( I +1 ,2) := xi ;
Spreadsheet . Cell ( I +1 ,3) := k1 ; Spreadsheet . Cell ( I +1 ,4) := k2 ;
Spreadsheet . Cell ( I +1 ,5) := k3 ; Spreadsheet . Cell ( I +1 ,6) := yi ;
39 END ;
40 END ;
41

42 IF orden ==4 THEN


43 FOR I FROM 1 TO n DO
44 x := CAS . x ; y := CAS . y ;
45 x := xi ; k1 := EVAL ( f ) ; y := yi ; k1 := EVAL ( k1 ) ;
46 x := CAS . x ; y := CAS . y ;
47 x := xi + h /2; k2 := EVAL ( f ) ; y := yi +( h /2) * k1 ; k2 := EVAL ( k2 ) ;
48 x := CAS . x ; y := CAS . y ;
49 x := xi + h /2; k3 := EVAL ( f ) ; y := yi +( h /2) * k2 ; k3 := EVAL ( k3 ) ;
50 x := CAS . x ; y := CAS . y ;
51 x := xi + h ; k4 := EVAL ( f ) ; y := yi + h * k3 ; k4 := EVAL ( k4 ) ;
52

53 yi := yi +( h /6) *( k1 +2* k2 +2* k3 + k4 ) ;


54 xi := xi + h ;
55 Spreadsheet . Cell (1 ,1) :=" i "; Spreadsheet . Cell (1 ,2) :=" xi ";
Spreadsheet . Cell (1 ,3) :=" k1 "; Spreadsheet . Cell (1 ,4) :=" k2 ";
Spreadsheet . Cell (1 ,5) :=" k3 "; Spreadsheet . Cell (1 ,6) :=" k4 ";
Spreadsheet . Cell (1 ,7) :=" yi ";
56 Spreadsheet . Cell ( I +1 ,1) := I ; Spreadsheet . Cell ( I +1 ,2) := xi ;
Spreadsheet . Cell ( I +1 ,3) := k1 ; Spreadsheet . Cell ( I +1 ,4) := k2 ;
Spreadsheet . Cell ( I +1 ,5) := k3 ; Spreadsheet . Cell ( I +1 ,6) := k4 ;
Spreadsheet . Cell ( I +1 ,7) := yi ;
57

58 END ;
59 END ;
60

61 END ;
62 END ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 189


Universidad Nacional de San Cristobal de Huamanga

Programa 8.30 Metodo Predictor Corrector

1 EXPORT Predictor ( f )
2 BEGIN
3 LOCAL ee ; ee := CAS . ee ; ee :=2.718281828459046;
4 LOCAL rungekuta , euler1 , adans2 , adans4 ;
5 INPUT ({ rungekuta , euler1 , adans2 , adans4 }) ;
6 CASE
7

8 IF rungekuta ==1 THEN


9 LOCAL n ,h , xi , yi , xo , yo , orden ; LOCAL k1 , k2 , k3 , k4 ; LOCAL x , y ; x := CAS .
x ; y := CAS . y ; LOCAL fxiyi , xi , yi , xi1 , yi1 ;
10 INPUT ({ xo , yo ,n , h }) ;
11 xi := xo ; yi := yo ;
12 Spreadsheet . Cell (2 ,1) :=0; Spreadsheet . Cell (2 ,2) := xo ; Spreadsheet .
Cell (2 ,3) := yo ;
13 FOR I FROM 1 TO n DO
14 x := CAS . x ; y := CAS . y ;
15 x := xi ; k1 := EVAL ( f ) ; y := yi ; k1 := EVAL ( k1 ) ;
16 x := CAS . x ; y := CAS . y ;
17 x := xi + h /2; k2 := EVAL ( f ) ; y := yi +( h /2) * k1 ; k2 := EVAL ( k2 ) ;
18 x := CAS . x ; y := CAS . y ;
19 x := xi + h /2; k3 := EVAL ( f ) ; y := yi +( h /2) * k2 ; k3 := EVAL ( k3 ) ;
20 x := CAS . x ; y := CAS . y ;
21 x := xi + h ; k4 := EVAL ( f ) ; y := yi + h * k3 ; k4 := EVAL ( k4 ) ;
22 yi := yi +( h /6) *( k1 +2* k2 +2* k3 + k4 ) ;
23 xi := xi + h ;
24 Spreadsheet . Cell (1 ,1) :=" i "; Spreadsheet . Cell (1 ,2) :=" xi ";
Spreadsheet . Cell (1 ,4) :=" k1 "; Spreadsheet . Cell (1 ,5) :=" k2 ";
Spreadsheet . Cell (1 ,6) :=" k3 "; Spreadsheet . Cell (1 ,7) :=" k4 ";
Spreadsheet . Cell (1 ,3) :=" yi ";
25 Spreadsheet . Cell ( I +2 ,1) := I ; Spreadsheet . Cell ( I +2 ,2) := xi ;
Spreadsheet . Cell ( I +2 ,4) := k1 ; Spreadsheet . Cell ( I +2 ,5) := k2 ;
Spreadsheet . Cell ( I +2 ,6) := k3 ; Spreadsheet . Cell ( I +2 ,7) := k4 ;
Spreadsheet . Cell ( I +2 ,3) := yi ;
26

27 END ;
28 END ;
29

30 IF euler1 ==1 THEN


31 LOCAL n ,h , xi , yi , xo , yo ;
32 LOCAL fxiyi , xi1 , yi1 ;
33 LOCAL x , y ; x := CAS . x ; y := CAS . y ;
34 LOCAL ee ; ee := CAS . ee ; ee :=2.718281828459046;
35 INPUT ({ xo , yo ,n , h }) ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 190


Universidad Nacional de San Cristobal de Huamanga

36 xi := xo ; yi := yo ;
37 Spreadsheet . Cell (1 ,1) :=" i "; Spreadsheet . Cell (1 ,2) :=" x ( i +1) ";
Spreadsheet . Cell (1 ,3) :=" y ( i +1) ";
38 Spreadsheet . Cell (2 ,1) :=0; Spreadsheet . Cell (2 ,2) := xo ; Spreadsheet .
Cell (2 ,3) := yo ;
39 FOR I FROM 1 TO n DO
40 x := CAS . x ; y := CAS . y ;
41 x := xi ; fxiyi := EVAL ( f ) ; y := yi ; fxiyi := EVAL ( fxiyi ) ;
42 xi1 := xi + h ;
43 yi1 := yi + h * fxiyi ;
44 Spreadsheet . Cell ( I +2 ,1) := I ; Spreadsheet . Cell ( I +2 ,2) := xi1 ;
Spreadsheet . Cell ( I +2 ,3) := yi1 ;
45 xi := xi1 ;
46 yi := yi1 ;
47 END ;
48 END ;
49

50 IF adans2 ==1 THEN


51 LOCAL n ,h , xi , yi , xo , yo , x1 , y1 ;
52 LOCAL fxiyi , fxiiyii , yi1 , xi1 ;
53 LOCAL xii , yii ;
54 LOCAL x , y ; x := CAS . x ; y := CAS . y ;
55 LOCAL ee ; ee := CAS . ee ; ee :=2.718281828459046;
56 INPUT ({ xo , yo , x1 , y1 ,n , h }) ;
57 xi := xo ; yi := yo ; xii := x1 ; yii := y1 ;
58 Spreadsheet . Cell (1 ,1) :=" i "; Spreadsheet . Cell (1 ,2) :=" x ( i +1) ";
Spreadsheet . Cell (1 ,3) :=" y ( i +1) ";
59 Spreadsheet . Cell (2 ,1) :=?1; Spreadsheet . Cell (2 ,2) := xo ; Spreadsheet
. Cell (2 ,3) := yo ;
60 Spreadsheet . Cell (3 ,1) :=0; Spreadsheet . Cell (3 ,2) := x1 ; Spreadsheet .
Cell (3 ,3) := y1 ;
61 FOR I FROM 1 TO n DO
62 x := CAS . x ; y := CAS . y ;
63 x := xi ; fxiyi := EVAL ( f ) ; y := yi ; fxiyi := EVAL ( fxiyi ) ;
64 x := CAS . x ; y := CAS . y ;
65 x := xii ; fxiiyii := EVAL ( f ) ; y := yii ; fxiiyii := EVAL ( fxiiyii ) ;
66 xi1 := xii + h ;
67 yi1 := yii +(1/2) * h *(3* fxiiyii - fxiyi ) ;
68 Spreadsheet . Cell ( I +3 ,1) := I ; Spreadsheet . Cell ( I +3 ,2) := xi1 ;
Spreadsheet . Cell ( I +3 ,3) := yi1 ;
69 xi := xii ;
70 yi := yii ;
71 xii := xi1 ;
72 yii := yi1 ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 191


Universidad Nacional de San Cristobal de Huamanga

73

74 END ;
75 END ;
76

77

78 IF adans4 ==1 THEN


79 LOCAL n ,h , xi , yi , xo , yo , x1 , y1 ; LOCAL y2 , x2 , y3 , x3 , x4 , y4 ;
80 LOCAL fxiyi , fxiiyii , yi1 , xi1 ; LOCAL fxiiiyiii , fxiiiiyiiii ;
81 LOCAL xii , yii , xiii , yiii , xiiii , yiiii ;
82 LOCAL x , y ; x := CAS . x ; y := CAS . y ;
83 LOCAL ee ; ee := CAS . ee ; ee :=2.718281828459046;
84 INPUT ({ xo , yo , x1 , y1 , x2 , y2 , x3 , y3 ,n , h }) ;
85 xi := xo ; yi := yo ; xii := x1 ; yii := y1 ; xiii := x2 ; yiii := y2 ; xiiii := x3 ; yiiii
:= y3 ;
86 Spreadsheet . Cell (1 ,1) :=" i "; Spreadsheet . Cell (1 ,2) :=" x ( i +1) ";
Spreadsheet . Cell (1 ,3) :=" y ( i +1) ";
87 Spreadsheet . Cell (2 ,1) :=?3; Spreadsheet . Cell (2 ,2) := xo ; Spreadsheet
. Cell (2 ,3) := yo ;
88 Spreadsheet . Cell (3 ,1) := -2; Spreadsheet . Cell (3 ,2) := x1 ; Spreadsheet
. Cell (3 ,3) := y1 ;
89 Spreadsheet . Cell (4 ,1) := -1; Spreadsheet . Cell (4 ,2) := x2 ; Spreadsheet
. Cell (4 ,3) := y2 ;
90 Spreadsheet . Cell (5 ,1) :=0; Spreadsheet . Cell (5 ,2) := x3 ; Spreadsheet .
Cell (5 ,3) := y3 ;
91 FOR I FROM 1 TO n DO
92 x := CAS . x ; y := CAS . y ;
93 x := xi ; fxiyi := EVAL ( f ) ; y := yi ; fxiyi := EVAL ( fxiyi ) ;
94 x := CAS . x ; y := CAS . y ;
95 x := xii ; fxiiyii := EVAL ( f ) ; y := yii ; fxiiyii := EVAL ( fxiiyii ) ;
96 x := CAS . x ; y := CAS . y ;
97 x := xiii ; fxiiiyiii := EVAL ( f ) ; y := yiii ; fxiiiyiii := EVAL ( fxiiiyiii ) ;
98 x := CAS . x ; y := CAS . y ;
99 x := xiiii ; fxiiiiyiiii := EVAL ( f ) ; y := yiiii ; fxiiiiyiiii := EVAL (
fxiiiiyiiii ) ;
100 xi1 := xiiii + h ;
101 yi1 := yiiii +(1/24) * h *(55* fxiiiiyiiii -59* fxiiiyiii +37* fxiiyii -9*
fxiyi ) ;
102 Spreadsheet . Cell ( I +5 ,1) := I ; Spreadsheet . Cell ( I +5 ,2) := xi1 ;
Spreadsheet . Cell ( I +5 ,3) := yi1 ;
103

104 xi := xii ;
105 yi := yii ;
106 xii := xiii ;
107 yii := yiii ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 192


Universidad Nacional de San Cristobal de Huamanga

108 xiii := xiiii ;


109 yiii := yiiii ;
110 xiiii := xi1 ;
111 yiiii := yi1 ;
112

113 END ;
114 END ;
115

116

117 END ;
118 END ;
119

120

121

122

123

124 EXPORT Corrector (f , xy )


125 BEGIN
126 LOCAL ym ,n ,x ,y , h ;
127

128 LOCAL x , y ; x := CAS . x ; y := CAS . y ;


129 LOCAL eulerC , nicoC , adamC ;
130 INPUT ({ eulerC , nicoC , adamC }) ;
131

132 n := CAS . SIZE ( xy ) ; n := n (1) ;


133 INPUT ({ h }) ;
134

135

136

137

138 CASE
139

140

141 IF eulerC ==1 THEN


142 LOCAL f1 ;
143 Spreadsheet . Cell (1 ,4) :=" yi = Corrector ";
144

145 FOR I FROM 2 TO n DO


146 x := CAS . x ; y := CAS . y ;
147 x := xy (I ,1) ; f1 := EVAL ( f ) ; y := xy (I ,2) ; f1 := EVAL ( f1 ) ;
148 ym := xy (I -1 ,2) + h * f1 ;
149

150 Spreadsheet . Cell ( I +1 ,4) := ym ;


151

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 193


Universidad Nacional de San Cristobal de Huamanga

152 END ;
153 END ;
154

155

156

157

158 IF nicoC ==1 THEN


159 LOCAL f1 , f0 ;
160 Spreadsheet . Cell (1 ,4) :=" yi = Corrector ";
161 FOR I FROM 2 TO n DO
162 x := CAS . x ; y := CAS . y ;
163 x := xy (I ,1) ; f1 := EVAL ( f ) ; y := xy (I ,2) ; f1 := EVAL ( f1 ) ;
164

165 x := CAS . x ; y := CAS . y ;


166 x := xy (I -1 ,1) ; f0 := EVAL ( f ) ; y := xy (I -1 ,2) ; f0 := EVAL ( f1 ) ;
167

168 ym := xy (I -1 ,2) +0.5* h *( f1 + f0 ) ;


169

170 Spreadsheet . Cell ( I +1 ,4) := ym ;


171

172 END ;
173 END ;
174

175

176 IF adamC ==1 THEN


177 LOCAL f0 , f1 , f2 , f3 ;
178 Spreadsheet . Cell (1 ,4) :=" yi = Corrector ";
179 FOR I FROM 4 TO n DO
180 x := CAS . x ; y := CAS . y ;
181 x := xy (I -3 ,1) ; f0 := EVAL ( f ) ; y := xy (I -3 ,2) ; f0 := EVAL ( f0 ) ;
182 x := CAS . x ; y := CAS . y ;
183 x := xy (I -2 ,1) ; f1 := EVAL ( f ) ; y := xy (I -2 ,2) ; f1 := EVAL ( f1 ) ;
184 x := CAS . x ; y := CAS . y ;
185 x := xy (I -1 ,1) ; f2 := EVAL ( f ) ; y := xy (I -1 ,2) ; f2 := EVAL ( f2 ) ;
186 x := CAS . x ; y := CAS . y ;
187 x := xy (I ,1) ; f3 := EVAL ( f ) ; y := xy (I ,2) ; f3 := EVAL ( f3 ) ;
188

189 ym := xy (I -1 ,2) +(1/24) * h *(9* f3 +19* f2 -5* f1 + f0 ) ;


190

191 Spreadsheet . Cell ( I +1 ,4) := ym ;


192

193 END ;
194 END ;
195

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 194


Universidad Nacional de San Cristobal de Huamanga

196

197 END ;
198 END ;

8.8 PROGRAMACIÓN LINEAL

Programa 8.31 Metodo Simplex

1 EXPORT pivoteoAnm (a ,n , m )
2 BEGIN
3 LOCAL B ,C ,D , E ;
4 B := a (n , m ) ;
5 C := CAS . SCALE (a ,1/ B , n ) ;
6 D := CAS . pivot (C ,n , m ) ;
7 D := CAS . expand ( D ) ;
8 D := CAS . simplify ( D ) ;
9 RETURN D ;
10 END ;
11

12 EXPORT filapivotAcm (a , c )
13 BEGIN
14 LOCAL n , P ;
15 n := CAS . SIZE ( a ) ; n := n (1) ;
16 P := randMat (n ,1) *0;
17 FOR I FROM 1 TO n DO
18 IF a (I , c ) ==0 THEN P (I ,1) :=0
19 ELSE
20 P (I ,1) := a (I ,1) / a (I , c ) ;
21 END ;
22 END ;
23 P;
24 END ;

8.9 PROGRAMAS UTILITARIOS

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 195


Universidad Nacional de San Cristobal de Huamanga

Programa 8.32 Baistor

2 EXPORT Baistor ( f )
3 BEGIN
4 LOCAL po , qo ,x , p ; x := CAS . x ;
5 LOCAL q1 , r1 , qx1 , r2 , r3 ,? p ,? q , res ;
6 LOCAL a11 , a12 , a21 , a22 , b1 , b2 , ra , rb ;
7 LOCAL ma , Ea , Eb , pa , qa , ii , resul ;
8 LOCAL ee ; ee := CAS . ee ; ee :=2.718281828459046;
9 INPUT ({ po , qo }) ; Spreadsheet . Cell (1 ,2) :=1; Spreadsheet . Cell (2 ,2) :=
po ; Spreadsheet . Cell (3 ,2) := qo ;
10 p := x ^2+ po * x + qo ;
11 q1 := CAS . quo (f ,p , x ) ; r1 := CAS . rem (f ,p , x ) ; qx1 := q1 * x ;
12 r2 := CAS . rem ( qx1 , p ) ; r3 := CAS . rem ( q1 , p ) ;
13

14 r1 := symb2poly ( r1 ) ; r2 := symb2poly ( r2 ) ; r3 := symb2poly ( r3 ) ;


15 a11 :=? r2 (1) ;
16 a12 :=? r3 (1) ;
17 a21 :=? r2 (2) ;
18 a22 :=? r3 (2) ;
19 b1 :=? r1 (1) ;
20 b2 :=? r1 (2) ;
21

22 ma :=[[ a11 , a12 , b1 ] ,[ a21 , a22 , b2 ]];


23 ma := RREF ( ma ) ;
24 ? p := ma (1 ,3) ;
25 ? q := ma (2 ,3) ;
26

27 po := po +? p ; qo := qo +? q ;
28 Ea :=100; Eb :=100; ii :=4;
29 Spreadsheet . Cell (1 ,1) :=" i "; Spreadsheet . Cell (1 ,3) :=2;
30 Spreadsheet . Cell (2 ,1) :=" po "; Spreadsheet . Cell (2 ,3) := po ;
31 Spreadsheet . Cell (3 ,1) :=" qo "; Spreadsheet . Cell (3 ,3) := qo ;
32

33 WHILE Ea >0.000000001 AND Eb >0.00000001 DO


34 pa := po ; qa := qo ;
35 p := x ^2+ po * x + qo ;
36 q1 := CAS . quo (f ,p , x ) ; r1 := CAS . rem (f ,p , x ) ; qx1 := q1 * x ;
37 r2 := CAS . rem ( qx1 , p ) ; r3 := CAS . rem ( q1 , p ) ;
38

39

40 r1 := symb2poly ( r1 ) ; r2 := symb2poly ( r2 ) ; r3 := symb2poly ( r3 ) ;


41 a11 :=? r2 (1) ; a12 :=? r3 (1) ;
42 a21 :=? r2 (2) ; a22 :=? r3 (2) ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 196


Universidad Nacional de San Cristobal de Huamanga

43 b1 :=? r1 (1) ; b2 :=? r1 (2) ;


44 ma :=[[ a11 , a12 , b1 ] ,[ a21 , a22 , b2 ]]; ma := RREF ( ma ) ;
45 ? p := ma (1 ,3) ;? q := ma (2 ,3) ;
46 po := po +? p ; qo := qo +? q ;
47

48 Ea := ABS ( po - pa ) ; Eb := ABS ( qo - qa ) ;
49 Spreadsheet . Cell (1 , ii ) := ii -1;
50 Spreadsheet . Cell (2 , ii ) := po ;
51 Spreadsheet . Cell (3 , ii ) := qo ;
52 ii := ii +1;
53 END ;
54

55 END ;

Programa 8.33 Evaluar

1 XPORT Evaluar ( ma , xo )
2 BEGIN
3 LOCAL x ,n , res ; x := CAS . x ;
4 n := CAS . SIZE ( xo ) ;
5 res :={};
6 CASE
7 IF n ==1 THEN
8 x := xo (1) ;
9 EVAL ( ma ) ;
10 res (1) := EVAL ( ma ) ;
11 END ;
12 IF n ==2 THEN
13 x := xo (1) ;
14 EVAL ( ma ) ;
15 res (1) := EVAL ( ma ) ;
16 x := xo (2) ;
17 EVAL ( ma ) ;
18 res (2) := EVAL ( ma ) ;
19 END ;
20 IF n ==3 THEN
21 x := xo (1) ;
22 EVAL ( ma ) ;
23 res (1) := EVAL ( ma ) ;
24 x := xo (2) ;
25 EVAL ( ma ) ;
26 res (2) := EVAL ( ma ) ;
27 x := xo (3) ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 197


Universidad Nacional de San Cristobal de Huamanga

28 EVAL ( ma ) ;
29 res (3) := EVAL ( ma ) ;
30 END ;
31 IF n ==4 THEN
32 x := xo (1) ;
33 EVAL ( ma ) ;
34 res (1) := EVAL ( ma ) ;
35 x := xo (2) ;
36 EVAL ( ma ) ;
37 res (2) := EVAL ( ma ) ;
38 x := xo (3) ;
39 EVAL ( ma ) ;
40 res (3) := EVAL ( ma ) ;
41 x := xo (4) ;
42 EVAL ( ma ) ;
43 res (4) := EVAL ( ma ) ;
44 END ;
45 IF n ==5 THEN
46 x := xo (1) ;
47 EVAL ( ma ) ;
48 res (1) := EVAL ( ma ) ;
49 x := xo (2) ;
50 EVAL ( ma ) ;
51 res (2) := EVAL ( ma ) ;
52 x := xo (3) ;
53 EVAL ( ma ) ;
54 res (3) := EVAL ( ma ) ;
55 x := xo (4) ;
56 EVAL ( ma ) ;
57 res (4) := EVAL ( ma ) ;
58 x := xo (5) ;
59 EVAL ( ma ) ;
60 res (5) := EVAL ( ma ) ;
61 END ;
62 IF n ==6 THEN
63 x := xo (1) ;
64 EVAL ( ma ) ;
65 res (1) := EVAL ( ma ) ;
66 x := xo (2) ;
67 EVAL ( ma ) ;
68 res (2) := EVAL ( ma ) ;
69 x := xo (3) ;
70 EVAL ( ma ) ;
71 res (3) := EVAL ( ma ) ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 198


Universidad Nacional de San Cristobal de Huamanga

72 x := xo (4) ;
73 EVAL ( ma ) ;
74 res (4) := EVAL ( ma ) ;
75 x := xo (5) ;
76 EVAL ( ma ) ;
77 res (5) := EVAL ( ma ) ;
78 x := xo (6) ;
79 EVAL ( ma ) ;
80 res (6) := EVAL ( ma ) ;
81 END ;
82

83 END ;
84 END ;

Programa 8.34 gaussLegendre

1 EXPORT gaussLegendre ( n )
2 BEGIN
3 LOCAL x ,w ,m ,z , z1 ;
4 LOCAL p1 , p2 , p3 , pp ;
5 LOCAL z , z1 , z2 , res ;
6 x := randMat ( n ) *0;
7 w := x ;
8 m :=( n +1) /2;
9 FOR I FROM 1 TO m DO
10 z := COS ((?*( I -0.25) ) /( n +0.5) ) ;
11 z1 := z +1;
12 WHILE ABS (z - z1 ) >2*10^ -12 DO
13 p1 :=1;
14 p2 :=0;
15 FOR J FROM 1 TO n DO
16 p3 := p2 ;
17 p2 := p1 ;
18 p1 :=((2* J -1) * z * p2 -( J -1) * p3 ) / J ; // El polinomial . Legendre
19 END ;
20 pp := n *( z * p1 - p2 ) /( z ^2 -1) ; // La L . P .
Derivada .
21 z1 := z ;
22 z := z1 - p1 / pp ;
23 END ;
24

25 x ( I ) := - z ; // Construye las
abscissas .

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 199


Universidad Nacional de San Cristobal de Huamanga

26 x ( n +1 - I ) := z ;
27 w ( I ) :=2/((1 - z ^2) *( pp ^2) ) ; // Construye los
pesos .
28 w ( n +1 - I ) := w ( I ) ;
29

30 END ;
31

32

33

34 res := randMat (n ,2) *0;


35

36 FOR I FROM 1 TO n DO
37 res (I ,1) := x ( I ) ;
38 res (I ,2) := w ( I ) ;
39 END ;
40 END ;

Programa 8.35 Lagrangesimple

1 EXPORT Lagrangesimple ( xy , c )
2 BEGIN
3 LOCAL n ,x , pi , px , li ;
4 LOCAL s ,t , ti , si ;
5 n := CAS . SIZE ( xy ) ; n := n (1) ;
6 t :=1; s :=1; px :=0;
7 x := CAS . x ;
8 FOR I FROM 1 TO n DO
9 FOR J FROM 1 TO n DO
10 IF I ? J THEN
11 x := CAS . x ;
12 s :=( x - xy (J ,1) ) * s ;
13 t :=( xy (I ,1) - xy (J ,1) ) * t ;
14 END ;
15 END ;
16 px := xy (I ,2) *( s / t ) + px ;
17 Spreadsheet . Cell ( I +1 , c ) := s / t ;
18 s :=1;
19 t :=1;
20 END ;
21 Spreadsheet . Cell ( I +1 , c ) :=" p ( x ) ";
22 Spreadsheet . Cell ( I +2 , c ) := CAS . expand ( px ) ;
23 Spreadsheet . Cell (1 , c ) :=" li ";
24

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 200


Universidad Nacional de San Cristobal de Huamanga

25 RETURN CAS . expand ( px ) ;


26 END ;
27 EXPORT Lagrangecony ( xy )
28 BEGIN
29 LOCAL n ,y , pi , px , li ;
30 LOCAL s ,t , ti , si ;
31 n := CAS . SIZE ( xy ) ; n := n (1) ;
32 t :=1; s :=1; px :=0;
33 y := CAS . y ;
34 FOR I FROM 1 TO n DO
35 FOR J FROM 1 TO n DO
36 IF I ? J THEN
37 y := CAS . y ;
38 s :=( y - xy (J ,1) ) * s ;
39 t :=( xy (I ,1) - xy (J ,1) ) * t ;
40 END ;
41 END ;
42 px := xy (I ,2) *( s / t ) + px ;
43 Spreadsheet . Cell ( I +1 ,1) := s / t ;
44 s :=1;
45 t :=1;
46

47 END ;
48 Spreadsheet . Cell ( I +1 ,1) :=" p ( x ) ";
49 Spreadsheet . Cell ( I +2 ,1) := CAS . expand ( px ) ;
50 Spreadsheet . Cell (1 ,1) :=" li ";
51

52 RETURN px ;
53 END ;

Programa 8.36 MandarMatrizExcel

1 EXPORT MandarMatrizExcel ( a )
2 BEGIN
3 LOCAL f ,c , n ;
4 n := CAS . SIZE ( a ) ; f := n (1) ; c := n (2) ;
5

7 FOR I FROM 1 TO c DO
8 FOR J FROM 1 TO f DO
9 Spreadsheet . Cell (I , J ) := a (I , J ) ;
10 END ;
11 END ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 201


Universidad Nacional de San Cristobal de Huamanga

12

13 END ;

Programa 8.37 MatrizAvector

1 EXPORT MatrizAvector ( ma )
2 BEGIN
3 LOCAL n , x ;
4 n := CAS . SIZE ( ma ) ;
5 x :={};
6 FOR I FROM 1 TO n DO
7 x ( I ) := ma ( I ) ;
8 END ;
9 RETURN x ;
10 END ;

Programa 8.38 SegundasComp

1 EXPORT SegundasComp ( ve )
2 BEGIN
3 LOCAL se , re , n ;
4 n := CAS . SIZE ( ve ) ; n := n (1) ;
5 se :={};
6 FOR I FROM 1 TO n DO
7 re := ve ( I ) ;
8 se ( I ) := re (2) ;
9 END ;
10

11 RETURN se ;
12 END ;
13 EXPORT MandarExcel ( a )
14 BEGIN
15 LOCAL columna ;
16 INPUT ( columna ) ;
17 Spreadsheet . Cell (1 , columna ) := a ;
18

19 END ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 202


Universidad Nacional de San Cristobal de Huamanga

Programa 8.39 Trapecios

1 EXPORT Trapecios (f ,a ,b , n )
2 BEGIN
3 LOCAL h , xi , x ; x := CAS . x ;
4 LOCAL fa , fb ,s , fxi , res ;
5 h :=( b - a ) / n ;
6 x := a ; fa := EVAL ( f ) ;
7 x := CAS . x ;
8 x := b ; fb := EVAL ( f ) ;
9 s :=( h /2) *( fa + fb ) ;
10

11 FOR I FROM 1 TO n -1 DO
12 x := CAS . x ;
13 xi := a + I * h ;
14 x := xi ; fxi := EVAL ( f ) ;
15 s := s + h *( fxi ) ;
16 END ;
17 res := s ;
18 END ;

Programa 8.40 TrapeciosMatriz

1 EXPORT TrapeciosMatriz ( f )
2 BEGIN
3 LOCAL h , xi ,x ,a , b ; x := CAS . x ;
4 LOCAL fa , fb ,s , fxi , res , n ;
5 n := CAS . SIZE ( f ) ; n := n (1) ;
6 a := f (1 ,1) ; fa := f (1 ,2) ;
7 b := f (n ,1) ; fb := f (n ,2) ;
8 h :=( b - a ) / n ;
9 s :=( h /2) *( fa + fb ) ;
10 FOR I FROM 2 TO n -1 DO
11 xi := f (I ,1) ;
12 fxi := f (I ,2) ;
13 s := s + h *( fxi ) ;
14 END ;
15 res := s ;
16 END ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 203


Universidad Nacional de San Cristobal de Huamanga

Programa 8.41 tril

1 EXPORT tril ( a )
2 BEGIN
3 LOCAL n ,f , c ;
4 n := CAS . SIZE ( a ) ; f := n (1) ; c := n (2) ;
5

6 FOR I FROM 1 TO f DO
7 FOR J FROM 1 TO c DO
8 IF I < J THEN
9 a (I , J ) :=0;
10 END ;
11 END ;
12 END ;
13 RETURN a ;
14

15 END ;

Escuela Profecional de Ingeniería Civil Métodos Numéricos (IC-343) 204

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