Metodo de punto fijo
Publicado por Gonzalo (17 intervenciones) el 05/10/2018 21:43:48
Hola, hice un programa en Matlab que recibe una funcion g(x) , esta funcion no es la funcion original sino que es la funcion f(x) manipulada algebraicamente. El programa debe encontrar las raices de una funcion a partir de un punto inicial que entra como argumento. Ejemplo, si tengo f(x) = x^2-x-2 , manipulandola encuentro g(x) = sqrt(x+2). El problema es que esta funcion me devuelve la raiz que corresponde al punto 2, pero no me da la raiz igual a -1 , que seria la otra raiz. He cambiado el punto de inicio pero igual devuelve solo la raiz = 2.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function PuntoFijo(g,tol,N,x)
i=1;
fprintf('1 \t x \t \t error \n')
fprintf('0 \t %f \n',x)
while i<=N
a=x;
x=g(a);
error=abs(x-a);
fprintf('%d \t %1.7f \t \t %f \n', i ,x,error)
if error<=tol
i=N+1;
break
end
i=i+1;
end
fprintf('La aproximacion es: %f con un error de: %f \n',x , error)
end
Valora esta pregunta


0