Informática. Prácticas. Febreiro 2002
Escribir un programa que resolva unha ecuación non lineal da forma:
f (x) = aixi = 0
|
(1) |
empregando para esto o método de Newton. Partindo dun punto inicial x0, calcularanse os puntos sucesivos xi empregando a seguinte fórmula:
xi+1 = xi -
|
(2) |
Esta operación iterativa deberá executarse até que
| xi - xi-1| < 0.00001
O programa debe facer o seguinte:
- Pedir ó usuario a orde n do polinomio f (x).
- Pedir ó usuario os coeficientes
ai, i = 0,..., n do polinomio f (x).
- Escribir unha función que calcule o valor f (x).
- Escribir outra función que calcule o valor f'(x), determinado pola expresión:
f'(x) = iaixi-1
|
(3) |
- Escribir o programa principal, onde se deberá executar a operación iterativa até que
| xi - xi-1| < 0.00001.
EXEMPLO: dada a ecuación
x3 - x2 - x + 1 = 0 ten raíces en x = 1 (dobre) e x = - 1 (simple). Neste caso, n = 3. Probar con x0 = 2 (para calcular a raíz x = 1 e con x0 = - 3 (para calcular a raíz x = - 1).
MELLORA DO PROGRAMA: Almacenar os valores
xi, i = 1,... no ficheiro datos.dat, co seguinte formato:
x(i - 1) | x(i)
-------------------
-2.00000 | -1.400
-1.40000 | -1.100
-1.10000 | -1.009
-1.00870 | -1.000
-1.00007 | -1.000
-1.00000 | -1.000
AVISO: Incluir como comentario nas primeiras liñas do programa o nome completo e o grupo (A, B)
© 2006, Dr. Manuel Fernández Delgado, Universidad de Santiago de Compostela, Departamento de Electrónica e Computación