The::Beastieux

Sangre de Bestia + Corazón de Pingüino | Un blog acerca de Linux, *BSD, Open Source, Software Libre, Programación …

Código Matlab – Método de la Bisección


xai=input('Ingrese el intervalo inferior: ');
xbi=input('Ingrese el intervalo superior: ');
tol=input('Ingrese el porcentaje de error: ');
syms x;
f=input('Ingrese la funciòn: ');
i=1;

f1=subs(f,x,xai);
f2=subs(f,x,xbi);

ea(i)=100;
if f1*f2 < 0
    xa(i)=xai; f1=subs(f,x,xa(i));
    xb(i)=xbi; f2=subs(f,x,xb(i));
    xr(i)=(xa(i)+xb(i))/2; f3=subs(f,x,xr(i));
    
    fprintf('It.       Xa               Xr             Xb           Error aprox \n');
    fprintf('%2d \t %11.7f \t %11.7f \t %11.7f \n',i,xa(i),xr(i),xb(i));
    while abs(ea(i)) >= tol,
      if f1*f3<0
         xa(i+1)=xa(i);f1=subs(f,x,xa(i+1));
         xb(i+1)=xr(i);f2=subs(f,x,xb(i+1));
      end
      if f1*f3> 0
         xa(i+1)=xr(i);f1=subs(f,x,xa(i+1));
         xb(i+1)=xb(i);f2=subs(f,x,xb(i+1));
	  end      
      xr(i+1)=(xa(i+1)+xb(i+1))/2; f3=subs(f,x,xr(i+1));
      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;
   end
else
   fprintf('No existe una raíz en ese intervalo');
end

11 Respuestas a “Código Matlab – Método de la Bisección

  1. Carlos junio 8, 2013 en 1:30 pm

    Hola, si se tiene un polinomio de grado 5 como x^5-15x^4+7x^3….124=0, el cual tiene una raiz real y dos raices complejas conjugadas, como pueden hallarse las raices complejas con este metodo?

  2. D's ZuleTa mayo 16, 2013 en 1:18 pm

    ey vale gracias x el codigo, me funciono al 100….

  3. Martin marzo 4, 2013 en 8:06 pm

    Me gustaría que incluyeras a tu tabla de salida, las columnas correspondientes a: f(xai) y f(xbi); pues la idea es verificar que efectivamente una ordenada proporciona una valor negativo y la otra un valor positivo.

    Saludos

  4. Wilmer Clock octubre 21, 2012 en 7:13 pm

    xque pone i=1

    • Anónimo febrero 27, 2013 en 10:54 pm

      Inicializa el contador

  5. dark marzo 6, 2012 en 11:08 am

    no coree putos

  6. dark marzo 6, 2012 en 11:07 am

    no corree

  7. rd agosto 30, 2011 en 1:16 am

    corre el programa

  8. nachao junio 28, 2011 en 5:00 pm

    como meto la funcion?

    • rd agosto 30, 2011 en 1:15 am

      corre elprograma

      • Anónimo abril 21, 2012 en 5:44 pm

        muy buen programa casi lo tenia pero me faltaba unos pasos,,, a y si me corrio luego luego

No te quedes callado. Pregunta, Comenta, Comparte, Sígueme, Suscríbete, Déjame tu opinión... Soy Beastieux Zeroo...

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: