Está en la página 1de 3
Método de Biseccién close 21 lear 211 cle INPUTS: funcionechar(inputdig("ingrese 1a funcion’)); Feinkine(Funeton); xe-1:0,001:3; ZEste vector son el dominio de la funcién que quiere graficar. HES editable este dominio a gusto del consumidar nelength(x); Snedinensisn cel vector x Xx Este for hard el vector que formaré 12s inigenes del vector x for S<1:n Y=) 5 end Grafico de la funcién: plot(x,y); Xsrafico de La functén} axis(["1 3 -2 21) hold cn ¥?ara que el grafico no se pierda al graficar los ejes del sistena de coordenadas. plot([-5 5],[@ @],'r'); Xorafico cel eje x del sistena de coordenacas grid on: activa 1a grilla que cuadriculard el grafico plot([@ 8],[-5 5),'r')3 Grafico gel eje y del sistens de coordenadas; hola off XE1 grafico desaparecerd 1a proxina vez que se grafique ‘Se define cual es la regién donde buscaremos la raiz: aestradouble(inputdig( ‘Ingrese el valor de 2'))3 3X inicial (a) 4 besteadouble(inputalg( “ingrese el valor de b'))s 1% final (0) tolestradouble(inputdig( Ingrese ervor aduisible en X')); KError maxina que podenos tolerar, Steraciones*1; Xfunciona cone CONTADOR de iteraciones. $s weosicién de los vectores que aparecern en unas lineas wis. Prviejox@; Esta es 19 raiz de la ‘teracién anterior. Recordar que 12 raiz en el método de 1a biseceién, Xconsiste en un p=(atb)/2 ‘errorf-1000; Este e= un error alto que se pone para conenzar 2 iterar el while que exige que sea menor al tolerable, %% Aqui grafico de nuevo 1a funcién pero esta vez se nace un "ZOOM" al lugar donde est 13 raiz que estanos buscando: plot(x.y)s hola on plot(I-5 5],[8 8), 'r')s rid on} plot([0 8), (+5 5),'°°)5 axis([a b 5 5]) YY aqui comionza la magia... EI método on si: te while Lteractones<50@ 88 errorfostol % £1 programa correrd hasta que el error % sea menor al que fijanos cono tolerable % anteriorsente, pero se cortard si % Levanos mis de S00 iteraciones. p-((a0b)/2); XEste es a raiz que estanos Duscanco y que iterarenes para encontrarla. faef(a);_—& Evaluanos 1a funeién en & forf(0);_—-X Lo mismo para bese Fonefipm); XY lo mismo para la raiz que se recuerda que sens (3+b)/2. % Recordar que querenos que F(pm) se aproxize a @ 2a(J)=3; X Este vector guardard todos los valores de "a", que irdn canbiando a lo largo de 1a iteracién. bb(3)*b; X Lo mismo que se hace para guardar los "a", taroién se hace para "b” pon()=pa; XY adivina... Lo misno para la rae “pn bs ((pa-paviejo}/(pA))*208; % Aca recalculanos el error para la siguiente steracion para ver si ahora cumple % 1a condicién cel “while” rrarf; % Y guardarenos el valor de cada error en un vector, para luego nostrarlo en una tabla X que resunird todo el proceso de 1a iteracién "while". 1% Aqui viene todo el Juego de signos que es propio del metodo de 1a diseccion y falsa posictén: if farepece bron; ene AF toe pmce apm end pviejo=pm; err Ater(j)=iteraciones; %6uardanos en un vector el numero de cada iteracién en que vanes. Fornat short Xara mostrar los datos de salida con 1a menor cantidad de decimales posibles.. 1; esto es para que 125 posiciones de los vectores vaya canbiando Mteracioneseiteraciones+1; X Lo misno para las iteraciones, pues recordenos que 1a variable X “iteraciones” era un contador ‘end BTerminanos por Fin nuestra iteracién ‘toe Lapsed tine 15 0.019835 seconds. XX Y mostranos nuestros outputs en fora de tabla: disp Nerter 2 rate > error{¥]")& Cabezal de 1a tabla. wren rasa bermonts disp’ Y disp({iter’ aa" ppm’ bb* err*)); HColunna 1: Nurero de cada iteracién colunna 2: Cada valor ae 3 colunna 3: Cada valor de las raices column 42 Cada valor ce © colunna 5: Valor de los errores hasta que x Ja tolerancia se cuspla. plot(pa,0,"go") Xsrafica 1a solueién (ratz) con una circunferencia verde 2 3 405 44 448 42 125 49 498 44 145 45

También podría gustarte