Sie sind auf Seite 1von 11

ALGORITMO MTODO DE BISECCIN: Dada una funcin f(x) continua sobre un intervalo [a,b] y tal que f(a).f(b)<0.

El mtodo consiste en dividir el intervalo en dos subintervalos, se evala la funcin en el punto medio La posicin de la raz se determina situndola en el punto medio del subintervalo dentro del cual ocurre un cambio de signo: 45 N.Gutirrez-M.Estrada-A.Malca-V.Jara MATLAB BISEC Ingresar datos: a, b, tol(tolerancia de error). SI f(a)*f(b)<=0 ENT MIENTRAS ba/2>tol calcular c=2ba+ SI f(a)*f(c)<=0 ENT b=c SINO a=c FINSI retorno raz c SINO cambiar lmites FIN BISEC PROGRAMA function c=bisec(f,a,b,tol) %Datos-f es la funcin, introducida como una cadena de caracteres f % -a y b son los extremos del intervalo % -tol: es la tolerancia para el error %Resultados-c es el cero de la funcin f k=0; ya=feval(f,a); yb=feval(f,b); if ya*yb<=0 while abs(a-b)/2>tol c=(a+b)/2; %Imprime una tabla indicando N de iteraciones, a, b y aprox.c fprintf('%5d %10.5f %10.5f %10.5f\n',k,a,b,c); k=k+1; yc=feval(f,c); if ya*yc<=0

b=c; yb=yc; else a=c; ya=yc; end end else fprintf('Cambiar lmites'); end Observaciones: La funcin f debe ser ingresada en un archivo m del tipo function creado antes de ejecutar el programa . Para determinar el intervalo [a,b] que contenga un cero de la funcin f, puede hacer uso del grfico de f usando la instruccin plot(x,y). Todo programa est sujeto a modificaciones y segn el criterio del programador y siempre y cuando logre el mismo objetivo.

ALGORITMO MTODO DE REGULA FALSI: Dada una funcin f(x) continua sobre un intervalo [a,b] y tal que f(a).f(b)<0. Este mtodo consigue una mejor aproximacin usando el punto (c,0) en el que la recta secante que pasa por los puntos (a,f(a)) y (b,f(b)) cruza el eje X. REGULA Ingresar datos: a, b, tol(tolerancia de error). SI f(a)*f(b)<=0 ENT REPETIR calcular )()())((afbfabbfbc= SI f(a)*f(c)<=0 ENT b=c SINO a=c FINSI HASTA )(cf<=tol retorno raz c SINO cambiar lmites FIN REGULA PROGRAMA: Ejercicio

ALGORITMO MTODO DE LA SECANTE: Dada una funcin f(x) continua y dos puntos iniciales (p0,f(p0)) y (p1,f(p1)) cercanos a la raz p que se encuentra en (p,0), la primera aproximacin a la raz ser la abscisa del punto de interseccin de la recta secante que pasa por esos puntos con el eje X: SECANTE Ingresar datos: p0, p1, tol(tolerancia para el error),N (N mximo de iteraciones). PARA k=1,2,... calcular )0()1()01)(1(1pfpfpppfpp= p0=p1 p1=p HASTA 01pp<=tol o k=N retorno raz p FIN SECANTE

PROGRAMA: function p=secante(f,p0,p1,tol,N) %Datos -f es la funcin introducida como una cadena de caracteres f % -p0 y p1 son las aproximacin iniciales a un cero de f % -tol es la tolerancia para el error de aproximacin % -N: N mximo de iteraciones %Resultados -p es la aproximacin al cero de la funcin for k=1:N yp0=feval(f,p0); yp1=feval(f,p1); p=p1-yp1*(p1-p0)/(yp1-yp0); fprintf('%5d%10.5f%10.5f%10.5f\n',k,p0,p1,p) p0=p1; p1=p; if (abs(p1-p0)<=tol)|(k==N),break,end end ALGORITMO MTODO DE NEWTON RAPHSON: 2 Suponga que la funcin f(x) C [a,b] y que existe un nmero p [a,b] tal que f(p)=0.Si f(p)0 , entonces existe >0 tal que la sucesin {p k} definida por el proceso iterativo )(')(111=kkkkpfpfpp k=1,2,.... converge a p cualquiera que sea la aproximacin inicial p0[p-,p+]. NEWTON Ingresar datos: p0, tol(tolerancia para el error). PARA K=1,2,.. Calcular p0=p p=)0(')0(0pfpfp HASTA 0pp<=tol o k=N retorno raz p FIN NEWTON PROGRAMA function p0=newton(f,df,p0,tol,N) %Datos -f es la funcin dos veces diferenciable

% -df es la derivada de f, introducida como una cadena df % -p0 es la aproximacin inicial a un cero de f % -N es el numero mximo de iteraciones 48 N.Gutirrez-M.Estrada-A.Malca-V.Jara MATLAB _______________________________________________________________ _______

%Resultados-p0 es la aproximacin al cero, for k=1:N p1=p0-feval(f,p0)/feval(df,p0); fprintf('%5d%10.7f\n',k,p1); if (abs(p1-p0)<tol)|(k==N),,break,end p0=p1; end ALGORITMO ITERACIN DE PUNTO FIJO: + Suponga que: f,fC[a,b], k , p0(a,b), y f(x) [a,b] para todo x[a,b]. Entonces hay un punto fijo p de f en [a,b] y se cumple: i) Si |f(x)|k<1 para todo x[a,b], entonces p es el nico punto fijo de f en [a,b] y la iteracin pn=f(pn-1) converge a dicho punto fijo. ii) En otro caso la iteracin diverge. PTOFIJO Ingresar datos: x0, tol(tolerancia para el error). PARA k=1,2,... Calcular p=f(p0) p0=p HASTA QUE 0pptol retorno raz p FIN PTOFIJO INTERPOLACIN UNIDIMENSIONAL La interpolacin de funciones es uno de los problemas clsicos en Anlisis Numrico. La interpolacin unidimensional se formula de la siguiente manera: Dado un conjunto de n+1 puntos {xk, yk}, 0 k n, con x0<x1<<xn, encontrar una funcin f(x) cuyo grfico interpola los datos dados. Es decir f(xk)=yk , para k=0,1,,n. Para ello se utiliza como funciones interpolantes a polinomios algebraicos y funciones spline. Funcin POLYFIT Sintaxis polyfit(x,y,n) encuentra los coeficientes del polinomio p(x) de grado n que ajusta los datos, p(x(i))~=y(i), en el sentido de mnimos cuadrados. Ajuste de polinomios: Un polinomio de grado n esta determinado de forma nica si se dan n+1 puntos. Es decir, el polinomio de orden n ajustado a n+1

puntos de datos, (xi,yi), i=1,2,,n+1, es nico. Los coeficientes del polinomio se pueden determinar fcilmente con el comando polyfit. Suponga el conjunto de datos 49 N.Gutirrez-M.Estrada-A.Malca-V.Jara MATLAB _______________________________________________________________ _______

>>x=[1.1 2.3 3.9 5.1] >>y=[3.887 4.276 4.651 2.117] entonces >> p=polyfit(x,y,length(x)-1) produce p= -0.2015 1.4385 -2.7477 5.4370 que es el vector correspondiente a los coeficientes del polinomio. Es decir el polinomio determinado aqu es 3 2 p(x)=-0.2015x + 1.4385x - 2.7477x + 5.4370 Funcin INTERP1 Sintaxis: yi = interp1(x,y,xi,mtodo) Interpola los puntos cuyas coordenadas estn dadas por los vectores x e y, xi es el vector que contiene los puntos de evaluacin (segn x), es decir, yi=f(xi) y mtodo es una cadena opcional que especifica un mtodo de interpolacin, y puede ser: nearest, mtodo de interpolacin en la vecindad ms cercana. linear, mtodo de interpolacin lineal. spline, mtodo de interpolacin por spline cbicos. cubic, mtodo de interpolacin cbica. Ejemplo: Los puntos (xk, yk) = (kpi/5,sen(2xk)), k=0,1,,5, >>x = 0:pi/5:pi; >>y = sin(2.*x); son interpolados usando dos mtodos de interpolacin nearest y cubic. El polinomio interpolante es evaluado en los siguientes puntos, >>xi = 0:pi/100:pi; >>yi = interp1(x,y,xi,nearest); Los puntos de interpolacin, junto con los resultados interpolados son graficados usando: >>plot(x,y,'o',xi,yi) >> hold on >> yi = interp1(x,y,xi,'cubic'); >> plot(xi,yi,'b') 50 N.Gutirrez-M.Estrada-A.Malca-V.Jara MATLAB _______________________________________________________________ _______

RESOLUCIN DE SISTEMAS DE ECUACIONES LINEALES Muchos de los problemas del Anlisis Numrico se pueden reducir al problema de resolver sistemas de ecuaciones lineales. Entre ellos estn los problemas de hallar la solucin de EDPs por mtodos de diferencias finitas, los problemas de autovalores de la fsica matemtica, ajuste de datos por mnimos cuadrados, aproximacin polinmica, etc. Sea el siguiente sistema de m ecuaciones lineales con n incgnitas. a11x1+a12x2+...+a1nxn = b1 a21x1+a22x2+...+a2nxn = b2 ..................................... ai1x1+

Das könnte Ihnen auch gefallen