ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Metdos De Analisis Numericos En Matlab


Enviado por   •  28 de Noviembre de 2013  •  375 Palabras (2 Páginas)  •  572 Visitas

Página 1 de 2

Metodo de bissecion

disp(' METODO DE LA BISECCION ');

disp(' ---------------------- ');

f=input('INGRESE FUNCION: ','s');

xai=input('INGRESE LIMITE INFERIOR DEL INTERVALO: ');

xbi=input('INGRESE LIMITE SUPERIOR DEL INTERVALO: ');

tol=input('INGRESE PORCENTAJE DE ERROR: ');

f=inline(f);

i=1;

ea(1)=100;

if f(xai)*f(xbi) < 0

xa(1)=xai;

xb(1)=xbi;

xr(1)=(xa(1)+xb(1))/2;

fprintf('It. Xa Xr Xb Error aprox \n');

fprintf('%2d \t %11.7f \t %11.7f \t %11.7f \n',i,xa(i),xr(i),xb(i));

while abs(ea(i)) >= tol,

if f(xa(i))*f(xr(i))< 0

xa(i+1)=xa(i);

xb(i+1)=xr(i);

end

if f(xa(i))*f(xr(i))> 0

xa(i+1)=xr(i);

xb(i+1)=xb(i);

end

xr(i+1)=(xa(i+1)+xb(i+1))/2;

ea(i+1)=abs((xr(i+1)-xr(i))/(xr(i+1))*100);

fprintf('%2d \t %11.7f \t %11.7f \t %11.7f \t %7.3f \n',...

i+1,xa(i+1),xr(i+1),xb(i+1),ea(i+1));

i=i+1;

end

else

fprintf('No existe una raíz en ese intervalo');

end

function x = biseccion(fun,a,b,tol)

% Aproxima por el método de la bisección una raíz de la ecuación fun(x)=0

disp('Método de la bisección');

u=feval(fun,a);

v=feval(fun,b);

n=1;

if sign(u)==sign(v)

disp('Error la función debe cambiar de signo en (a,b)');

end

while ((b-a)*0.5>=tol)

c=(b+a)/2; w=feval(fun,c);

disp(['n=', num2str(n)]);

disp(['c=', num2str(c)]);

disp(['f(c)=', num2str(w)]);

if sign(u)==sign(w)

a = c; u=w;

else

b=c; v=w;

end

n=n+1;

end;

x=c;

metodo newton rahpson matlab

% Al escribir la función, usar x como variable.

x0=input('Ingrese el valor inicial: ');

tol=input('Ingrese el porcentaje de error: ');

f=input('Ingrese la función: ');

i=1;

fx(i)=x0;

syms x;

f1=subs(f,x,fx(i));

z=diff(f);

d=subs(z,x,fx(i));

ea(1)=100;

while abs(ea(i))>=tol;

fx(i+1)=fx(i)-f1/d; f1=subs(f,x,fx(i+1)); d=subs(z,x,fx(i+1));

ea(i+1)=abs((fx(i+1)-fx(i))/fx(i+1)*100);

i=i+1;

end

fprintf('i fx(i) Error aprox (i) \n');

for j=1:i;

fprintf('%2d \t %11.7f

...

Descargar como (para miembros actualizados) txt (4 Kb)
Leer 1 página más »
Disponible sólo en Clubensayos.com