Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
X1=g(Xo); %orden
Y1=f(X1); %orden
Error=abs((X1-Xo)/X1); %orden
Cont=Cont+1; %orden
A(Cont,1)=Cont; %orden
A(Cont,2)=Xo; %orden
A(Cont,3)=X1; %orden
A(Cont,4)=Y1; %orden
A(Cont,5)=Error; %orden
Xo=X1; %orden
end
if Y1==0
fprintf('X1 es raiz\n');
else
if Error<Tol
fprintf('La raiz es %g con un error de %g\n',X1,Error);
else
fprintf('Se llego al maximo de Iteraciones\n');
end
end
fprintf('Pasos, Xo, X1, Y1, Error\n')
% la funcin disp permite que el usuario visualice el resultado, en este
% caso el usuario puede observar una tabla con todos los resultados
% obtenidos y en el orden definido dentro del while.
disp(A)
end
ezplot(f);
%El comando ezplot permite grafica una funcin.
MaTLap
MatLap 2
clear all;
clc;
fprintf('\nCalculo de la raizde una ecuacion por el metodo del Punto Fijo\n\n');
f=input('Dame la funcion f(x):','s');
xi=input('Dame el valor inicial de x : ');
e=input('Dame el porciento del error : ');
ea=1000;
c=1;
x=xi;
while ea>e
g=eval(f);
ea=abs((g-x)/g*100);
x=g;
c=c+1;
end
fprintf('\n\n\n\nLa raiz exacta es: %d',g)
fprintf('\n\nNumero de iteraciones: %d',c);
matlap 3 +
if(abs(eval(dg))<1)
tol=input ('Ingrese tolerancia: ');
disp('
fprintf('
x0
0.0000
error')
%7.4f
------\n',x)
n=0;error=100;
while(error > tol)
n=n+1;
anterior=x;
x= g(x);
error=abs(x-anterior);
disp([n,x,error])
end
else
disp('Ingrese otra funcin g(x), pues con la actual, el mtodo diverge. ')
end
probar:
'cos(x)-3*x'
'cos(x)/3'
'cos(x)-2*x'
converge
diverge
Otro Matlap
function punto
global fun1 fun
fprintf('\t\tMetodo punto fijo\n');
fun=input('Ingrese la funcin y(x):\n', 's');
fun1=input('Ingrese la funcin g(x):\n', 's');
x0=input('Ingrese el punto incial:\n');
tol=input('Ingrese tolerancia:\n');
it=0;
fprintf(' it
x0
x1
|x1-x0|');
while(it<50)
it=it+1;
x=x0;
x1=eval(fun1);
fprintf('\n%3.0f%13.9f%13.9f%13.9f\n',it,x0,abs(x0-x1));
if(abs(x1-x0)<tol)
fprintf('el proceso se completo satisfactoriamente:\n');
break
end
x0=x1;
end
fprintf('La raz buscada es = %15.9f\n',x1);
hold on
ezplot(fun1);
ezplot(fun),grid on,axis([-5 7 -5 10])
hold off
line([-20,0;20,0],[0,-20;0,20], 'color', 'r')