4
Código Matlab – Método de bisección clear format short; a=input('Introduzca el valor de a'); b=input('Introduzca el valor de b'); cont=input('Introduzca el número de iteraciones'); for k=1:1:cont c=(a+b)/2; e=abs((b-a)/2); A(k,:)=[k a b c f(c) e]; if f(a)*f(c)<0 b=c; else a=c; end end fprintf('\n k a b c f(c) error \n') disp(A) fprintf('Solución: c='), disp(c) fprintf('f(c)='), disp(f(c)) fprintf('error'), disp(e) Código Matlab – Método de la Regla Falsa xai=input('Ingrese limite inferior: '); xbi=input('Ingrese limite superior: '); tol=input('Ingrese el porcentaje de Error: '); syms x; f=input('Ingrese la Funcion: '); f1=subs(f,x,xai); f2=subs(f,x,xbi); i=1; ea(1)=100; if f1*f2 < 0 xa(1)=xai;f1=subs(f,x,xa(1)); xb(1)=xbi;f2=subs(f,x,xb(1)); xr(1)=xa(1)-f1*(xb(1)-xa(1))/(f2-f1); f3=subs(f,x,xr(1)); fprintf('It. Xa Xr Xb Error aprox \n');

Código Matlab

Embed Size (px)

DESCRIPTION

codigo de los metodos numericos para la solucion de cuaciones no lineales.

Citation preview

Cdigo Matlab Mtodo de biseccin

clearformat short;a=input('Introduzca el valor de a');b=input('Introduzca el valor de b');cont=input('Introduzca el nmero de iteraciones');for k=1:1:contc=(a+b)/2;e=abs((b-a)/2);A(k,:)=[k a b c f(c) e];if f(a)*f(c)=tol,if f1*f3 < 0xa(i+1)=xa(i);f1=subs(f,x,xa(i+1));xb(i+1)=xr(i);f2=subs(f,x,xb(i+1));endif f1*f3> 0xa(1)=xr(i);xb(1)=xb(i);endxr(i+1)=xa(i+1)-f1*(xb(i+1)-xa(i+1))/(f2-f1);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;endelsefprintf('No existe una raz en ese intervalo');end

Cdigo Matlab Mtodo de Iteracin del PuntoFijoxf(1)=input('Ingrese el valor inicial: ');tol=input('Ingrese el porcentaje de error: ');syms x;f=input('Ingrese la funcin f(x), despejada g(f(x)): ');i=1;ea(1)=100;while abs(ea(i))>=tol,xf(i+1) = subs(f,x,xf(i)); ea(i+1) = abs((xf(i+1)-xf(i))/xf(i+1))*100; i=i+1;endfprintf('i xf(i) Error aprox (i) \n');for j=1:i;fprintf('%2d \t %11.7f \t %7.3f \n',j-1,xf(j),ea(j));end

Cdigo Matlab Mtodo deNewton-Raphsonx0=input('Ingrese el valor inicial: ');tol=input('Ingrese el porcentaje de error: ');f=input('Ingrese la funcin: ');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;endfprintf('i fx(i) Error aprox (i) \n');for j=1:i;fprintf('%2d \t %11.7f \t %7.3f \n',j-1,fx(j),ea(j));end

Cdigo Matlab Mtodo de la secantef=input('Ingrese la funcion:\n','s');;f=inline(f);x0=input('Ingrese el primer punto inicial:\n');;x1=input('Ingrese el segundo punto inicial:\n');xra=0;xr=0;tol=0.01;i=1;error_aprox=1;error=0;fx1=f(x1);fx0=f(x0);xr=x1-((x1-x0)/(fx1-fx0))*fx1;fprintf('It. X0 X1 Xr Error aprox \n');fprintf('%2d \t %11.7f \t %11.7f \t %11.7f \t %11.7f \n',i,x0,x1,xr,error);while error_aprox >= tol,xra=xr;x1=xr;fx1=f(x1);fx0=f(x0);xr=x1-((x1-x0)/(fx1-fx0))*fx1;error = abs((xr - xra) / xr);error_aprox = error;i=i+1;fprintf('%2d \t %11.7f \t %11.7f \t %11.7f \t %11.7f \n',i,x0,x1,xr,error_aprox);end