Ejercicios de Final Resueltos

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 15

Ejercicios de finales resueltos

Sacado de finales 2013-2015-2017-2018


Martin Casas
Editado por última vez: 21/12/2018

NOTA IMPORTANTE: Con respecto a las partes donde escribí código:

Yo use ciclos DO implícitos, pero podrías no usarlos y hacerlo con ciclos DO normales. También use
los “intent” pero podrías no usarlos. La resolución de estos ejercicios es muy relativa, aunque
siempre hay que tener en cuenta la eficacia, eficiencia y la legibilidad (indentado, nombres de
variables relativamente entendibles, si es necesario comentarlo, etc.).

Indique verdadero o falso, justificando las falsas.

1) La diferencia absoluta y relativa entre dos valores es siempre del mismo orden de
magnitud.

FALSO. Contraejemplo:

Siendo 10 el número exacto y 9.9999 el número aproximado,

∆(9.9999) = |10 − 9.9999| = 10−4

|10 − 9.9999|
𝛿(9.9999) = = 10−5
|10|
Se ve claramente que difieren en un orden de magnitud.

2) Una EDO-PVI resueltos mediante Euler y Euler modificado nunca dará la misma solución en
la misma cantidad de iteraciones.

FALSO. Podría darse ese caso si la derivada fuera una constante.

3) El método de Jacobi converge más rápido que Gauss-Seidel si el sistema es estrictamente


diagonalmente dominante.

FALSO. Tanto el método de Gauss-Seidel como el de Jacobi convergen por ser el sistema
estrictamente diagonalmente dominante, pero Gauss-Seidel convergerá más rápido ya que es una
mejora del método de Jacobi (Para la iteración actual, Gauss-Seidel usa valores anteriores y
valores actuales ya calculados).
4) La integral obtenida por el método de Romberg es poco exacta porque utiliza el método
de Trapecios.

FALSO. Si bien el método de Romberg utiliza Trapecios para calcular la integral numérica, se aplica
la extrapolación de Richardson de forma reiterada para mejorar la estimación previa.

5) No es posible calcular el valor de la integral numérica por el método de Romberg si los


puntos dato tienen valores negativos.

FALSO. Los valores negativos no afectan de ninguna manera al cálculo de la integral por
Romberg, tanto en la estimación inicial por trapecios como en las extrapolaciones siguientes.

6) El método de mínimos cuadrados puede ser un buen método para calcular un trazador
cubico.

FALSO. El método de mínimos cuadrados sirve solo para APROXIMAR funciones, por lo que
generalmente la curva aproximante no coincide con la aproximada (por lo que NO ES un método
de INTERPOLACION). Un trazador cubico sirve para crear una función que interpole un conjunto de
puntos dado, por lo que el método de mínimos cuadrado no sirve para calcular un trazador cubico.
En cambio para este tipo de función interpolante existe el método de SPLINES CUBICOS.

7) Es posible resolver un sistema de ecuaciones lineales con el método de punto fijo, pero no
con Newton y Quasi-Newton.

FALSO. Si es posible siempre y cuando se cumplan las condiciones particulares de convergencia de


cada método, ya que las ecuaciones lineales son “un caso particular” de las no lineales. Sin
embargo seria poco útil aplicarlo, ya que los métodos para sistemas lineales ofrecerán mucha más
eficiencia y habrá menos margen de falla (por las condiciones particulares de convergencia).

8) Los coeficientes de los polinomios de Splines Cubicos deben ser todos distintos de cero.

FALSO. No es condición que algún o todos los coeficientes de un trazador cubico Spline sean
distintos de cero.

De hecho si el Spline es SPLINE CUBICO NATURAL, S ‘’ (X0) = S ‘’ (Xn) = 0

 Cn=0 (ya que S ‘’(Xn) = 0)


 C0=0 (ya que S ‘’(X0) = 0)

9) El refinamiento iterativo para sistemas de ecuaciones lineales se suele utilizar para mejorar
las soluciones obtenidas por métodos directos.

VERDADERO. La afirmación se refiere al algoritmo de refinamiento iterativo, que SE PUEDE


APLICAR O NO en los métodos directos. Aunque los métodos indirectos (TODOS) tienen un
refinamiento iterativo “incluido”. (“Cada aplicación del método (iterativo), se denomina iteración y
se espera que la solución obtenida sea más aproximada que al de la iteración anterior”).
10) El método de 1/3 Simpson resuelve numéricamente el valor de una integral, aproximando
cada intervalo con un polinomio interpolante.

VERDADERO. Demostración:

11) El método de Romberg no es aplicable de ninguna forma a un conjunto de 25 puntos dato.

(Copiado de mi otro apunte)

FALSO. No indica que se deba hacer en un tramo solo: si se tomaran de a 2^2 trapecios (5 puntos),
se podrían calcular por Romberg 6 tramos individuales y sumarlos. En caso de ser menos puntos
no sería posible: en caso de tener 10 puntos se harían dos tramos y sobrarían dos puntos, ya que
el tramo siguiente usa el último punto del tramo anterior, quedando así los dos últimos puntos
para calcular por el método de Trapecios simple. En el caso de 25 puntos estos puntos sobrantes
se acumulan hasta llegar a ser 5, pudiendo así hacer 6 tramos.

12) El método de Punto Fijo diverge porque la matriz jacobiana en x0 es singular.


VERDADERO. “Si en el proceso de cálculo de Λ resultara que F ‘ (X0) (matriz jacobiana) es singular,
deberá elegirse un nuevo valor de X0, de forma tal que se verifique que el determinante de Λ es
distinto de 0.”
13) El método de Newton Modificado necesita por lo general menos iteraciones que el método
de Newton a partir del mismo valor inicial para obtener una solución con igual exactitud.

FALSO. Ya que converge más lentamente que el método de Newton necesita, en general, realizar
más iteraciones que el método de Newton para obtener igual exactitud.

14) El grado del polinomio de Mínimos Cuadrados óptimo se determina cuando el RMS es
mínimo.

(Copiado de mi otro apunte)

FALSO. Para encontrar el polinomio de grado óptimo se analiza la varianza, cuando sea mínima
entonces este será el grado óptimo. Otro criterio es que en cierto punto la varianza comenzara a
aumentar permanentemente, siendo el polinomio optimo el anterior al polinomio que comienza
con la tendencia de aumento. En cualquiera de los dos casos, si el error no varía mucho y el
denominador disminuye puede ocurrir que para mayores grados de polinomio la varianza sea
mayor.

15) El método de Gauss Jordan puede no converger si la matriz no es estrictamente


diagonalmente dominante.

FALSO. El método de Gauss-Jordan es un método directo, por lo tanto no es un método iterativo


(por lo que el concepto de convergencia no se aplica para este método). Al no ser un método
iterativo, solo se busca resolver el sistema A*x=b y no se requiere que la matriz de coeficientes sea
estrictamente diagonalmente dominante para llegar a la solución.

16) El método de Thomas es una adaptación particular del método de Gauss-Jordan.

FALSO. El método de Thomas es una adaptación particular de la eliminación gaussiana (método de


Gauss). Se aplica en matrices tridiagonales y consiste en hacer una triangulación superior de dicha
matriz para luego encontrar el vector solución a través de sustitución regresiva.

17) Perturbar los coeficientes de un polinomio puede afectar el número de raíces reales del
mismo.

VERDADERO.

18) El método de refinamiento iterativo se aplica para mejorar los resultados obtenidos por
Gauss-Jordan.

VERDADERO. El método de refinamiento iterativo se aplica para mejorar la solución de los


métodos directos.

19) El error global de la integral obtenida por el método de 3/8 de Simpson, es menor que el
correspondiente al método de 1/3 de Simpson.
FALSO. El error global de la integral obtenida por el método de 3/8 de Simpson es mayor que el
correspondiente a 1/3 de Simpson. El método de 3/8 de Simpson utiliza para aproximar la función
un polinomio de grado 3, mientras que 1/3 utiliza un polinomio de grado 2. En general las
aproximaciones por polinomios de grado par son mejores que las aproximaciones por grado
impar.

1) Escriba una función FORTRAN que devuelva la diferencia entre la integral exacta de un
polinomio y la calculada por el método de trapecios compuestos para una determinada
cantidad de puntos, dentro de un intervalo [a,b]. Para ello suponer que ya se tiene una
función TRAPECIOS(v,h) que devuelve el valor de la integral de trapecios compuestos y una
función EVA_POL(p,x) que devuelve el valor del polinomio evaluado en x.
NOTA: Los argumentos de la función TRAPECIOS son v (vector con los valores de f(x)), h
(escalar). Los argumentos de la función EVA_POL son p(vector 0:n con los coeficientes de p
en orden creciente de grado), x (escalar).

NOTA: Voy a suponer que cuando pusieron “integral exacta” se equivocaron y quisieron decir…
“más exacta que la calculada por trapecios”.

FUNCTION DIFERENCIA(p,a,b,m)
INTEGER, INTENT(IN):: m
REAL(8), INTENT(IN)::p(0:N),a,b
REAL(8):: int1,int2,aux(0:N),DIFERENCIA,h, v(0:m),x
INTEGER:: i,j
aux=p
!integro “aux”
DO i=0, N, 1
aux(i)*b/(i+1)
END DO
int1= EVA_POL(aux,b)
aux=p !piso los valores anteriores
DO i=0, N, 1
aux(i)*a/(i+1)
END DO
int2= EVA_POL(aux,a)
!genero los puntos para TRAPECIOS:
h= (b-a)/m
x=a
DO i=0, m, 1
v(i)=EVA_POL(p,x)
x=x+h
ENDDO
DIFERENCIA= (int1-int2) – TRAPECIOS(v,h)
END FUNCTION
2) Indique si el numero decimal 27,07421875 puede ser representado de forma exacta como
REAL(4) en IEEE-754.

Se busca llevar el número a la forma:

REAL(4) -> 4 bytes = 32 bits (1 para el bit de signo, 8 para el exponente y 23 para la mantisa)

La parte entera se convierte con divisiones sucesivas por 2:


2710= 110112

La parte fraccionaria multiplicando sucesivamente por 2:

0.07421875 0.1875 0.5


X2 x2 x2
0.1484375 0.375 1.0
X2 x2
0.296875 0.75
X2 x2
0.59375 1.5
X2
1.1875

0.0742187510 = 0.000100112

=> 27.0742187510 = 11011.000100112

Para que quede de la forma 1.MANTISA debo correr la coma 4 veces hacia la izquierda, por lo que
el exponente será 127+4=131
EXPONENTE = 13110 = 100000112

Hecho lo anterior, la MANTISA= 101100010011

Ya que el número es positivo, el BIT DE SIGNO será 0.

Finalmente, con el formato IEEE-754:


|0|10000011|10110001001100000000000
En conclusión, el número dado se pudo representar de forma exacta en el formato IEEE-754. Un
número no podría representarse de forma exacta si por ejemplo: la mantisa fuera mayor a 23 bits
o el número al ser convertido a binario fuera periódico (como 0.1).

3) Dada una matriz dato de nxn, siendo n conocido, escriba una subrutina Fortran que
permita intercambiar las filas i y j.
NOTA: USE SUBROUTINE INTERCAMBIAR (M,i,j)

SUBROUTINE INTERCAMBIAR (M,i,j)


REAL(8), INTENT(INOUT):: M(N,N)
INTEGER, INTENT(IN):: i,j
REAL(8):: aux(N)
aux(:)= M(i,:)
M(i,:)= M(j,:)
M(j,:)= aux(:)
END SUBROUTINE

NOTA: Para hacer esto supuse que los números i y j dados son menores o iguales al rango de la
matriz.

4) Explique las condiciones que deben cumplir un conjunto de polinomios de tercer orden para
ser un Spline cubico de frontera sujeta en el extremo inicial (x0,y0) y frontera libre en el
extremo final (xn,yn).

El trazador cubico o Spline deberá para empezar cumplir cuatro condiciones por definición:

Y en este caso la condición V es que sea de frontera sujeta en el extremo inicial:


P0 ‘ (X0) = f ‘ (X0)
Y frontera libre en el extremo final:
P n-1 ‘’ (Xn) = 0

Todas las condiciones deben cumplirse simultáneamente para obtener el tipo de trazador cubico
pedido.
5) Explique cómo se discretiza de forma explícita la siguiente ecuación diferencial a derivadas
parciales. ¿Qué condición deberá tener r para ser estable la discretizacion y simplificar la
ecuación? ¿Qué ventajas y desventajas tiene la forma explícita respecto de la implícita?

𝜕𝑈 𝜕2𝑈 𝜕2𝑈 𝜕2𝑈


= + +
𝜕𝑡 𝜕𝑥 2 𝜕𝑦 2 𝜕𝑧 2

Ya que la consigna pregunta CÓMO se discretiza esta ecuación diferencial:

Se procederá a utilizar el método de las diferencias finitas, para convertir una ecuación de
derivadas parciales en una de diferencias.
El supraindice indican variable temporal (j) y los subíndices indican variable espacial (i para el eje x,
c para el eje y, k para el eje z).
La derivada temporal (diferencia ascendente en el tiempo de orden 1) mantiene su forma respecto
de la discretización unidimensional ya que solo tiene en cuenta la variable temporal, manteniendo
constante la espacial:

𝑗+1 𝑗
𝜕𝑈(𝑥𝑖 , 𝑦𝑐 , 𝑧𝑘 , 𝑡𝑗 ) 𝑈𝑖,𝑐,𝑘 − 𝑈𝑖,𝑐,𝑘
= − 𝑂(∆𝑡)
𝜕𝑡 ∆𝑡
Las derivadas espaciales serán ahora:

𝑗 𝑗 𝑗
𝜕 2 𝑈(𝑥𝑖 , 𝑦𝑐 , 𝑧𝑘 , 𝑡𝑗 ) 𝑈𝑖+1,𝑐,𝑘 − 2. 𝑈𝑖,𝑐,𝑘 + 𝑈𝑖−1,𝑐,𝑘
2
= − 𝑂(∆𝑥 2 )
𝜕𝑥 ∆𝑥 2
𝑗 𝑗 𝑗
𝜕 2 𝑈(𝑥𝑖 , 𝑦𝑐 , 𝑧𝑘 , 𝑡𝑗 ) 𝑈𝑖,𝑐+1,𝑘 − 2. 𝑈𝑖,𝑐,𝑘 + 𝑈𝑖,𝑐−1,𝑘
2
= − 𝑂(∆𝑦 2 )
𝜕𝑦 ∆𝑦 2

𝑗 𝑗 𝑗
𝜕 2 𝑈(𝑥𝑖 , 𝑦𝑐 , 𝑧𝑘 , 𝑡𝑗 ) 𝑈𝑖,𝑐,𝑘+1 − 2. 𝑈𝑖,𝑐,𝑘 + 𝑈𝑖,𝑐,𝑘−1
= − 𝑂(∆𝑧 2 )
𝜕𝑧 2 ∆𝑧 2

Reemplazando ahora en la ecuación diferencial 3D dada:

𝑗+1 𝑗 𝑗 𝑗 𝑗 𝑗 𝑗 𝑗 𝑗 𝑗 𝑗
𝑈𝑖,𝑐,𝑘 − 𝑈𝑖,𝑐,𝑘 𝑈𝑖+1,𝑐,𝑘 − 2. 𝑈𝑖,𝑐,𝑘 + 𝑈𝑖−1,𝑐,𝑘 𝑈𝑖,𝑐+1,𝑘 − 2. 𝑈𝑖,𝑐,𝑘 + 𝑈𝑖,𝑐−1,𝑘 𝑈𝑖,𝑐,𝑘+1 − 2. 𝑈𝑖,𝑐,𝑘 + 𝑈𝑖,𝑐,𝑘−1
= + +
∆𝑡 ∆𝑥 2 ∆𝑦 2 ∆𝑧 2

Si ∆𝑥 = ∆𝑦 = ∆𝑧 = ℎ, finalmente se obtiene:

𝑗+1 𝑗 𝑗 𝑗 𝑗 𝑗 𝑗 𝑗
𝑈𝑖,𝑐,𝑘 = (1 − 6𝑟) . 𝑈𝑖,𝑐,𝑘 + 𝑟 . (𝑈𝑖+1,𝑐,𝑘 + 𝑈𝑖−1,𝑐,𝑘 + 𝑈𝑖,𝑐+1,𝑘 + 𝑈𝑖,𝑐−1,𝑘 + 𝑈𝑖,𝑐,𝑘+1 + 𝑈𝑖,𝑐,𝑘−1 )

Por lo que el valor de r para que la ecuación sea estable y se simplifique es 1/6.
De ser mayor a este valor, el método se vuelve inestable por haber usado como discretización dos
diferencias de distinto orden de error.
Finalmente la comparación entre métodos:
Método explícito:
VENTAJAS: Los valores próximos en el tiempo solo dependen de los anteriores, por lo que el
algoritmo es más simple y conlleva un menor costo computacional y es más simple de
implementar.
DESVENTAJAS: Al reemplazar las derivadas por diferencias con distinto orden de error
(h^2 contra Δt) se genera inestabilidad en el método. Por ende, solo se puede usar con valores de
r<=1/6 (en este caso 3D). Esto limita las opciones para elegir h y/o Δt. Además, es menos exacto
que el implícito.
Puede ser que el h y/o Δt que permita r<=1/6 no sea representativo para la evolución del
sistema/problema.
Método implícito:
VENTAJAS: al reemplazar las derivadas por diferencias con órdenes de error iguales (Δt/2)^2 y
(h^2) el método es estable para cualquier valor de r, por lo que hay mayor libertad para elegir h y
Δt. Además, es más exacto que el explícito.
DESVENTAJAS: Los valores próximos en el tiempo no solo dependen de los anteriores, sino que
dependen de los adyacentes para ese tiempo próximo. Esto genera que se debe resolver un
sistema de ecuaciones lineales (tridiagonal) en cada iteración, por lo que se genera un mayor costo
computacional y es más complicado de implementar.

6) Dado un sistema de representación binario de la forma ±(0. 𝑏0 𝑏1 𝑏2 )2 𝑥 2(𝑘−1) donde los


𝑏𝑖 son dígitos binarios y k tiene dos dígitos binarios. Exprese todos los valores decimales
que pueden representarse en dicho sistema.

Si k tiene dos dígitos binarios:


002 = 010 −110
012 = 110 0
k={ => k-1 = { 10
102 = 210 110
112 = 310 210

Escribiendo todas las combinaciones posibles:

± (0.000)2 . 2𝑘−1 = 010

±0.062510
±0.12510
± (0.001)2 . 2𝑘−1 = ±(0.125)10 . 2𝑘−1 {
±0.2510
±0.510

±0.12510
±0.2510
± (0.010)2 . 2𝑘−1 = ±(0.125)10 . 2𝑘−1 {
±0.510
±1.010

±0.2510
±0.510
± (0.100)2 . 2𝑘−1 = ±(0.125)10 . 2𝑘−1 {
±1.010
±2.010
±0.187510
±0.37510
± (0.011)2 . 2𝑘−1 = ±(0.125)10 . 2𝑘−1 {
±0.7510
±1.510
±0.37510
±0.7510
± (0.110)2 . 2𝑘−1 = ±(0.125)10 . 2𝑘−1 {
±1.510
±3.010

±0.317510
±0.62510
± (0.101)2 . 2𝑘−1 = ±(0.125)10 . 2𝑘−1 {
±1.2510
±2.510

±0.437510
±0.87510
± (0.111)2 . 2𝑘−1 = ±(0.125)10 . 2𝑘−1 {
±1.7510
±3.510

En total se pueden representar 39 valores distintos (38 valores positivos y negativos, y el cero)

7) Explique en qué consiste la “suma insignificante”. Presente un ejemplo expresado en


REAL(4) con formato IEEE-754.

Suma insignificante: situación en la que se suman dos valores de magnitudes muy diferentes,
produciendo que la representación de la suma sea parcial o totalmente igual al número más
grande.
Por ejemplo:
Numero A= 9.536747 . 10−7= 0|01101011|00000000000000000000011
Numero B= 1600 = 0|10001001|10010000000000000000000
A+B = 1600.0000009536747
fl (A+B) = 1600
Se produjo entonces una adición insignificante.
8) Explique detalladamente cuales son las ventajas y/o desventajas de aplicar el método de
Spline con respecto al método de Lagrange, en el siguiente conjunto de datos.

x 0 2 3 5
y 3 12 15 7

Con respecto a la forma: dado que el conjunto de puntos a interpolar es bastante cerrado, se va a
elegir un método u otro dependiendo del fenómeno a representar. Si se desea una curva suave
que represente fielmente la forma original, se va a recurrir al método de Splines Cubicos. En otro
caso se recurrirá al método de Lagrange, pero cualquiera sea la elección el criterio será
interpolante.
Con respecto a los recursos computacionales: el método de Lagrange efectuara muchos menos
cálculos que el método de Splines, ya que no resuelve ningún sistema de ecuaciones tridiagonal
como si hace el método de Splines (además de que lo hace para cada par de puntos).
Por lo que finalmente la ventaja o desventaja de cada método depende de la naturaleza del
modelo a representar. En este caso al ser una curva bastante cerrada puede ser mejor aplicar
Splines Cubicos.

9) Muestre gráficamente y explique que significa que en el método de Newton no se cumpla


que:

𝑓(𝑎) 𝑓(𝑏)
max{ ; } ≤ (b-a)
𝑓 ′ (𝑎) 𝑓 ′ (𝑏)

𝑓(𝑎) 𝑓(𝑏)
El valor max{ ; } es el extremo del intervalo donde la derivada f ‘ (x) es mínima. Si
𝑓 ′ (𝑎) 𝑓 ′ (𝑏)
este valor intersecta al eje x en el intervalo [a,b] se asegura que la sucesión de valores xi caigan en
ese intervalo. Si esta condición no se cumple el método podría diverger.
Gráficamente:

(Sacado del libro Métodos Numéricos para Ingenieros – Chapra)


10) Dadas las siguientes funciones:
𝑥2 𝑦2
f(x,y) = + −1
4 9

g(x,y) = y – exp(-x)

Exprese la función 𝛷(𝑋) correspondiente al método de Punto Fijo. Elija los valores (x0,y0)
que considere adecuados. Justifique su respuesta.

−1
𝛷(𝑋) = 𝑋 − Λ F(X) , Λ = [F ′ (𝑋0)]

𝑥/2 2𝑦/9
F ′ (𝑋) = [ ]
𝑒 −𝑥 1
Los valores iniciales serán x0=1 e y0=0, para elegir estos valores se tuvo en cuenta la proposición:
“Una matriz es singular si y solo si su determinante es nulo”
1
Y esos valores hacen que det(F ′ (𝑋0)) = , además de ser cercanos a uno de los puntos de
2
intersección entre las dos curvas (al de la derecha).

11) Demuestre cuantos puntos se necesitan para calcular la integral numérica de la función
f(x), para [0,1], con un error máximo de 10−3 , por los métodos de Trapecios y 1/3 de
Simpson.

𝜋 . 𝑥2
𝑓(𝑥) = 𝑠𝑖𝑛
2
Para trapecios:

A partir de la fórmula del error de trapecios:

1
− 12 . ℎ3 . 𝑛. 𝑓 ′′ (ξ ) < 10−3 , pero como b-a = h.n:

1 (𝑏−𝑎)3
− 12 . 𝑛3
. 𝑛. 𝑓 ′′ (ξ ) < 10−3

La derivada segunda es:


′′ (𝑥)
π . 𝑥2 2 2 π. 𝑥 2
𝑓 = −sin . π . 𝑥 + cos ( ). π
2 2
El valor de ξ será aquel donde la derivada segunda sea máxima. Analizando la forma de la
expresión anterior se ve que el seno debe ser nulo y el coseno máximo para obtener el máximo
valor, esto se logra con un valor de x=0 (el cual está incluido en el intervalo).

Obteniendo así: 𝑓 ′′ (ξ ) = 𝑓 ′′ (0) = π


Reemplazando:

1 (b−a)3
− 12 . . π < 10−3
n2

| 𝑛 | > | 16.18|

Por lo que finalmente la cantidad de trapecios debe ser, como mínimo, 17. Y como la
cantidad de puntos siempre es la cantidad de trapecios más 1, como mínimo debe haber
18 puntos.

Para 1/3 de Simpson:

Siendo la expresión del error:

(𝑏−𝑎)
− 180
. ℎ4 . 𝑓 𝑖𝑣 (ξ ) < 10−3

Y la expresión de la derivada cuarta:

π .𝑥 2 π.𝑥 2
𝑓 𝑖𝑣 (x ) = (sin 2
. (π2 . 𝑥 4 − 3) − 6. π. 𝑥 2 . cos (2
) ) . π2

De la misma forma que se hizo para trapecios:

ξ = 1 , 𝑓 𝑖𝑣 ( ξ) = π2 . (π2 − 3)

Reemplazando:

(𝑏−𝑎) (𝑏−𝑎)4
− 180
. 𝑛4 . π2 . (π2 − 3) < 10−3

Despejando:
| 𝑛 | > | 4.405|
Por lo que finalmente la cantidad de arcos debe ser, como mínimo, 6. Y como la cantidad
de puntos siempre es la cantidad de trapecios más 1, como mínimo debe haber 7 puntos
(en 1/3 debe haber un nro par de segmentos y un nro impar de puntos).

12) ¿Cómo procedería a calcular la inversa de una matriz con un método indirecto?
Dado que los métodos indirectos trabajan con un VECTOR de términos independientes, no se
puede aplicar la resolución simultanea de sistemas y simplemente llamar b = Id (como se hace con
los métodos directos).
Si A es la matriz que se desea invertir:
Se procederá a resolver un sistema de ecuaciones para cada columna de la matriz identidad,
guardando la solución del sistema (sistema que tiene como vector de términos independientes la
columna j de la matriz identidad) en una matriz auxiliar (en la columna j).
Haciendo este proceso n veces se obtiene finalmente en la matriz auxiliar, la matriz inversa de nxn
de A. Se puede usar cualquier método indirecto (Jacobi, Gauss-Seidel o SOR).

13) Explique el fundamento teórico de los métodos de Newton-Cotes cerradas.

Los métodos de Newton-Cotes son un conjunto de fórmulas de integración numérica, donde


mediante polinomios interpolantes se evalúa la función en puntos equidistantes, para obtener así
el valor de la integral. Las formulas CERRADAS de Newton-Cotes incluyen en el cálculo de la
integral a los puntos de los extremos del intervalo. Mientras mayor sea el grado del polinomio,
mayor es la exactitud del resultado de la integral numérica. De esta forma para n=1 (polinomio
interpolante de grado 1) se obtiene el método de Trapecios, para n=2 el método de 1/3 de
Simpson, etc. y para n=3 el método de 3/8 de Simpson (siendo este último prácticamente igual en
error a 1/3 de Simpson). No existen mayores grados de polinomio ya que los métodos no serían
eficientes con respecto a la cantidad de recursos usada y la exactitud lograda.

14) Programe en FORTRAN las siguientes funciones/ subrutinas (determine lo más adecuado
en cada caso) para que realicen las siguientes tareas:
a) Dado un conjunto de valores a, b, c y d calcule y devuelva el valor del polinomio de Splines
cúbicos correspondiente, evaluado en un valor x.
NOTA: Los coeficientes del polinomio se pasan a la función a través de un vector. Para
minimizar los errores acumulados en las sucesivas operaciones, no utilice potencias y
realice la menor cantidad de productos posible.

IMPORTANTE: Se supondrá Xj conocido, ya que si no es imposible resolver el ejercicio.

FUNCTION SPEVAL(vec,xj,x)
REAL(8):: vec(4),x,xj, SPEVAL, dif
dif= x – xj
SPEVAL = v(1) + v(2) * dif + v(3) * dif * dif + v(4) * dif * dif * dif
END FUNCTION

b) Calcule y grabe en un archivo m pared de valores x, p(x) para cada uno de los polinomios
de Splines cúbicos, cuyos datos se encuentran almacenados en las siguientes matrices
utilizando la función programada en el inciso anterior.

𝑏0 𝑐0 𝑑0
splines = [ … … … ]
𝑏𝑛 − 1 𝑐𝑛 − 1 𝑑𝑛 − 1
𝑥0 𝑦0
𝑥1 𝑦1
datos = [ ]
… …
𝑥𝑛 𝑦𝑛

SUBROUTINE ESCRIBE(splines,datos,m,n)
INTEGER, INTENT(IN):: m,n
REAL(8), INTENT(IN):: splines(0:n-1,1:3), datos(0:n,1:2)
INTEGER:: i,j
REAL(8):: coef(4),delta,x
OPEN(2,FILE=’datos.dat’)
DO i=0, n-1, 1
delta= (datos(i+1,1)-datos(i,1))/m
!si yo no pusiera esto acá y solo lo asignara una vez arriba del DO, se acumularía error al
haber sumado tanto el delta
x=datos(i,1)
!uso un vector para los coeficientes porque después del 2do DO no los uso mas
coef(1)=datos(i,2)
coef(2:)=splines(i,:)
DO j=1, m, 1
WRITE(2, ‘(2F10.4)’ ) x , SPEVAL(coef,datos(i,1), x)
x= x+delta
ENDDO
WRITE(2,*) ‘’
ENDDO
CLOSE(2)
ENDSUBROUTINE

También podría gustarte