Anda di halaman 1dari 8

Mtodo De Biseccin

disp('Metodo de biseccion'); clc; clear; %ingresando las variables Fx=input('ingrese la funcion: ','s'); a=input('ingrese el primer valor del intervalo: '); c=input ('ingrese el segundo valor del intervalo: '); mi=input('ingrese el numero de iteraciones a utilizar '); %evaluando la funcion en el intervalo deseado x=a; Fa=eval (Fx); x=c; Fc=eval (Fx); if Fa*Fc>0 disp('la raiz no esta en este intervalo, elija otro!'); else iter=0; b=0; while iter<=mi iter=iter+1; bant=b; b=(a+c)/2; ea=((b-bant)/b)*100; x=b; Fb=eval(Fx); if Fa*Fb<0 c=b; Fc=Fb; elseif Fa*Fb>0 a=b; Fa=Fb; else e=0; end end %imprimiendo en pantalla el resultado end fprintf('\nLa raiz es %.6f\n',b); fprintf('\nEl error relativo porcentual es %.6f\n',ea); fprintf('\nel numero de iteraciones necesarias para obtener la raiz fue %.i\n',iter); ezplot (Fx);

Mtodo De Falsa Posicin


disp('Metodo de la falsa posicion'); %ingresando las variables Fx=input('Ingrese la funcion: ','s'); a=input('Ingrese a : '); c=input('Ingrese c : '); imax=input('Ingrese el numero maximo de iteraciones : '); e=input('ingrese el error deseado'); %evaluando la funcion en el intervalo deseado x=a; Fa=eval(Fx); x=c; Fc=eval(Fx); iter=0; bant=0; while iter<=imax %aplicando la formula de la falsa posicion b=c-(Fc*(a-c))/(Fa-Fc); bant=b; x=b; Fb=eval(Fx); iter=iter+1; if b~=0 ea=abs((b-bant)/b)*100; break; end mult=Fa*Fb; if mult <0 c=b; Fc=eval (Fx); elseif mult >0 a=b; Fa=eval (Fx); else ea=0; end if ea<=e break end end %imprimiendo en pantalla el resultado y el error relativo porcentual fprintf('\nLa raiz es %.6f\n',b); fprintf('\nEl error relativo porcentual es %.6f\n',ea); fprintf('\nel numero de iteraciones necesarias para obtener la raiz fue %.i\n',iter); ezplot (Fx);

Mtodo Del Punto Fijo


clc; clear; Gx=input('ingrese la funcion G(x) ','s'); x0=input('ingrese el valor inicial '); e=input('ingrese el error deseado '); imax=input('ingrese el numero maximo de iteraciones '); xr=x0; iter=0; while iter<=imax xrant=xr; x=x0; xr=eval (Gx); iter=iter+1; if xr~=0 ea= abs((xr-xrant)/xr)*100; end if ea < e break end end fprintf('\nla raiz es %.6f\n',xr); fprintf('\nEl error relativo porcentual es %.6f\n',ea); fprintf('\nel numero de iteraciones necesarias para obtener la raiz fue %.i\n',iter); ezplot (Gx);

Mtodo De La Secante
%Metodo de la secante clc, clear, Fx=input('ingrese la funcion ', 's'); a=input('ingrese el valor inicial '); imax=input('ingrese el numero maximo de iteraciones '); b=a-1; x=b; Fb=eval (Fx); x=a; Fa=eval (Fx); iter=0; while iter<=imax iter=iter+1; xr=((a-(Fa*(b-a))/(Fb-Fa))); xrant=xr; e= abs(((xr-xrant)*xr)*100); if e<=0.000005 break end end fprintf('\nLa raiz es %.6f\n',xr); fprintf('\nel error relativo porcentual es %.6f\n',e); fprintf('\nel numero de iteraciones necesarias para obtener la raiz fue %.i\n',iter); ezplot(Fx);

Mtodo Del Trapecio


%Metodo del trapecio para varios segmentos clc; clear; Fx=input('ingrese la integral a resolver ','s'); a=input('ingrese el limite inferior '); b=input('ingrese el limite superior '); n=input('ingrese el numero de segmentos a utilizar '); va=input('ingrese el valor analitico '); sum=0; h=(b-a)/n; for i=1:n-1 x=a+h*i; sum=sum+eval(Fx); end sum=2*sum; x=a; sum=sum+eval(Fx); x=b; sum=sum+eval(Fx); int=(h/2)*sum; e=abs(va-int); %va:valor analitico; fprintf('\n el resultado de la integral es %.4f\n',int); fprintf('\n el error es %.4f\n',e);

Mtodo De Newton-Raphson Para Hallar La Raz De La Funcion


%Metodo de Newton-Raphson clc; clear; Fx=input('ingrese la funcion ','s'); Fax=input('ingrese la primera derivada de la funcion ','s'); Fbx=input('ingrese la segunda derivada de la funcion ','s'); x0=input('ingrese el valor inicial '); maxiter=input('ingrese el maximo numero de iteraciones '); e=input('ingrese el error '); iter=0; while iter<=maxiter iter=iter+1; eant=e; x=x0; F=eval (Fx); ax=x0; Fa=eval (Fax); xr=(x0-(F/Fa)); bx=xr; Fb=eval (Fbx); a1=xr; Fa1=eval (Fax); e=(-Fb/(2*Fa1))*(eant*eant); if e<=0.05 break end end fprintf('\nEl resultado sera %.6f\n',xr); fprintf('\nEl error es %.6f\n',e); fprintf('\nel numero de iteraciones necesarias para obtener la raiz fue %.i\n',iter); ezplot (Fx);

Regla De Simpson 1/3 Para Varios Segmentos


%Metodo Simpson 1/3 clc; clear; funcion=input('ingrese la funcion \n f(x)=','s'); b=input('ingrese el limite superior de la integral\n'); a=input('ingrese el limite inferior de la integral\n'); n=input('ingrese el numero de intervalos '); va=input('ingrese el valor analitico '); h=(b-a)/(2*n); f=0; for k=1:n-1 x=a+h*(2*k); f=f+eval(funcion); end f1=0; for k=1:n x=a+h*(2*k-1); f1=f1+eval(funcion); end f=2*f+4*f1; x=a; f=f+eval(funcion); x=b; f=f+eval(funcion); f=(h/3)*f; e=abs(va-f); fprintf('el valor aproximado de la integral es: %.4f\n',f); fprintf('\n el error es %.4f\n',e);

Mtodo De Newton Raphson Para Resolver Un Sistema De 2 Ecuaciones Definidas


%Newton_Raphson clear clc disp('Ui(x,y)=-x.^2+x-y+0.5'); disp('Vi(x,y)=-x.^2+5*x*y+y'); fui=inline('-x.^2+x-y+0.5','x','y'); fvi=inline('-x.^2+5*x*y+y','x','y'); dfuix=inline('-2*x+1','x','y'); dfuiy=inline('-1','x','y'); dfvix=inline('-2*x+5*y','x','y'); dfviy=inline('1+5*x','x','y'); x=input('ingrese pto inicial Xo: '); y=input('ingrese pto inicial Yo: '); ui=fui(x,y); vi=fvi(x,y); uix=dfuix(x,y); uiy=dfuiy(x,y); vix=dfvix(x,y); viy=dfviy(x,y); X=(x-(((ui*viy)-(vi*uiy))/((uix*viy)-(uiy*vix)))); Y=(y-(((vi*uix)-(ui*vix))/((uix*viy)-(uiy*vix)))); disp(['El valor de X es: ',num2str(X)]); disp(['El valor de Y es: ',num2str(Y)]);

Anda mungkin juga menyukai