Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Matlab 1
Matlab 1
clear , clc
h=input('ingrese la funcion a analizar:');
f=inline(h);
a=input('ingrese el limite inferior del intervalo:');
b=input('ingrese el limite superior del intervalo:');
tol=input('indique la tolerancia deseada:');
NEWTON RAPHSON
clc
clear all
format shortG;
syms x;
% yx=input('Introduzcal a funcion f(x)=');
yx=cos(0.4*x)-0.05*(x-10)^2+3*x+12;
dyx=diff(yx,x);
Fx=inline(yx);
dFx=inline(dyx);
disp(Fx)
disp(dFx)
xp=-5:5;
disp(' x f(x) ')
for n=1:length(xp)
fxp(n)=feval(Fx,xp(n));
fprintf('%6.2f %12.6f\n', xp(n),fxp(n))
end
Xi=input('Introduzca el valor inicial Xi = ');
%err=input('Ingrese el valor del error Es = ')
err = 0.0005;
Nc=100;
disp(' N Xi Xr F(Xi) F(Xr) err')
disp('|----|-------------|-------------|-------------|-------------|-------------|'
)
for n=1:Nc
Fxi=feval(Fx,Xi);
dFxi=feval(dFx,Xi);
Xr=Xi-Fxi/dFxi;
Fxr=feval(Fx,Xr);
Ea=abs((Xr-Xi)/Xr)*100;
fprintf('%3d %12.6f %12.6f %12.6f %12.6f %12.6f %12.6f\n',n,Xi, Xr, Fxi,
dFxi, Fxr, Ea);
if Ea < err
break
end
Xi=Xr;
end
fprintf('\nEl numero de iteraciones es N = %d\n',n)
fprintf('El valor de la solucion es es X = %12.8f\n',Xr)
fprintf('El valor de funcion es F(X)=%12.8f\n',Fxr)
fprintf('El valor del error es Ea =%12.8f\n',Ea)
PUNTO FIJO
clc
clear all
format shortG;
syms x;
% yx=input('Introduzcal a funcion f(x)=');
yx=cos(0.4*x)-0.05*(x-10)^2+3*x+12;
gx=(-cos(0.4*x)+0.05*(x-10)^2-12)/3;
Fx=inline(yx);
Gx=inline(gx);
disp(Fx)
disp(Gx)
xp=-5:5;
disp(' x f(x) ')
for n=1:length(xp)
fxp(n)=feval(Fx,xp(n));
fprintf('%6.2f %12.6f\n', xp(n),fxp(n))
end
Xi=input('Introduzca el valor inicial Xi = ');
%err=input('Ingrese el valor del error Es = ')
err = 0.0005;
Nc=100;
disp(' N Xi Xr F(Xi) F(Xr) err')
disp('|----|-------------|-------------|-------------|-------------|-------------|'
)
for n=1:Nc
Xr=feval(Gx,Xi);
Fxi=feval(Fx,Xi);
Fxr=feval(Fx,Xr);
Ea=abs((Xr-Xi)/Xr)*100;
fprintf('%3d %12.6f %12.6f %12.6f %12.6f %12.6f\n',n,Xi, Xr, Fxi, Fxr,
Ea);
if Ea < err
break
end
Xi=Xr;
end
fprintf('\nEl numero de iteraciones es N = %d\n',n)
fprintf('El valor de la solucion es es X = %12.8f\n',Xr)
fprintf('El valor de funcion es F(X)=%12.8f\n',Fxr)
fprintf('El valor del error es Ea =%12.8f\n',Ea)
FALSA POSICI�N
clear , clc
f=str2func(strcat('@(x)',h));
rf=0;
c=0 ; n=1 ; MEP = (b-a)/2 ; ea=100;
fprintf('-------n--------a---------c---------b---------MEP------ea---
\n')
ea=(abs(c-rf)/c)*100;
disp([n,a,c,b,MEP,ea])
if (f(a)*f(c)<0)
b=c;
else
a=c;
end
rf=c;
MEP = (b-a)/2;
n=n+1;
end