You are on page 1of 4

function a =secante(fun,x0,x1,tol,maxiter) % Aproxima por el mtodo de la secante una raiz de la ecuacion fun(x)=0 %cercana a x0, tomando como criterio

de parada abs(fun(x))<tol o la cota %sobre %el numero de iteraciones dada por maxiter. % % Variables de entrada: % fun: funcion a calcular la raiz, se introduce en modo simbolico %'fun' % x0, x1: estimaciones iniciales para el proceso de iteracin % tol: tolerancia en error absoluto para la raiz % maxiter: maximo numero de iteraciones permitidas % % Variables de salida: % a: valor aproximado de la raiz fprintf(1, 'Metodo de la secante \n'); f0=subs(fun,x0); f1=subs(fun,x1); iter=1; while(abs(f1)>tol) & (iter<maxiter) a = x1-f1*((x1-x0)/(f1-f0)); iteracion f0=f1; f1=subs(fun,a); fprintf(1, 'iter= %i, a= %x0,f= %e iter = iter + 1; x0=x1; x1=a; end % Salida

% formula de %Actualiza f0 y f1 \n', iter,a ,f1)

% Cuenta los pasos % actualiza x

function

p=pfijo(fun,p0,tol,maxiter)

% Aproxima por el mtodo del punto fijo una raiz de la ecuacion fun(x)=x %cercana p0, tomando como criterio de parada abs(fun(x)-x)<tol o la cota sobre % el numero de iteraciones dada por maxiter. % % Variables de entrada: % fun(x): funcion a iterar, se debe introducir con notacin simbolica %(eg. 'g') % x0: estimacin inicial para el proceso de iteracin % tol: tolerancia en error absoluto para la raiz % maxiter: maximo numero de iteraciones permitidas % % Variables de salida: % p: valor aproximado de la raiz p(1)=p0; for n=2:maxiter; p(n)=feval(fun,p(n-1)); err=abs(p(n)-p(n-1)); if err<tol break; end disp(['n=',num2str(n)]); disp(['f(x)=',num2str(p(n))]); disp(['abs(f(x)-x)=',num2str(err)]); end if n==maxiter disp('se ha excedido el nmero de iteraciones') end p'

function [C,L]=lagran(X,Y) %variables % % % % %variables % % % % % % de entrada - X es un vector que contiene las abcisas de los puntos - Y es un vector que contiene las ordenadas de los puntos de salida - C es una matriz cuyas entradas son los coeficientes del polinomio de interpolacin de Lagrange (VECTOR COLUMNA) - L es una matriz cuyas entradas son los coeficientes del polinomio de interpolacin de Lagrange

w=length(X); n=w-1; L=zeros(w,w); %Formacin de los coeficientes del polinomio for k=1:n+1 V=1; for j=1:n+1 if k~=j V=conv(V,poly(X(j)))/(X(k)-X(j)); end end L(:,k)=V; end %Clculo de los coeficientes del polinomio %interpolador de Lagrange L C=L*Y'

function area=trapecios(fun,a,b,m) %Aproxima por la regla de los trapecios compuesta el valor de la integral %de una funcin fun(x) en un intervalo de extremos a y b tomando m+1 puntos equiespaciados. %Variables de entrada: % fun(x): funcion que se quiere integrar y que debe % introducirse con notacin simbolica (eg. 'g'). % a: extremo izquierdo del intervalo % b: extremo derecho del intervalo % m: nmero de puntos memos uno. % Variables de salida: % area: integral aproximada h=(b-a)/m; x=a:h:b; sum=0; for i=2:m sum=sum+feval(fun,x(i)); end area=(h/2)*(feval(fun,a)+feval(fun,b)+2*sum);

You might also like