ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Método de Bisección usando Matlab


Enviado por   •  23 de Abril de 2020  •  Síntesis  •  431 Palabras (2 Páginas)  •  232 Visitas

Página 1 de 2

Nombre: Jessica Ibarra Morales

Matrícula: 201917949

Nombre del curso: Métodos numéricos

Nombre del profesor: Lic. César

Unidad: Solución de Ecuaciones Algebraicas

Actividad: Método de Bisección usando Matlab

Fecha: 01/04/2020

Evalúe la raíz de una función no lineal mediante la aplicación del método de bisección y comprueba el siguiente resultado en el intervalo [-1.2] para la función:[pic 5]

[pic 6]

La propuesta es la siguiente:

function [c,fc,err,k,P] = bisect (f,a,b,delta,itm)

Datos de Entrada

f: función de entrada

a,b: extremos del intervalo de cálculo

delta: error máximo admisible

itm: número de iteraciones máximas a calcular

Datos de Salida

c: valor estimado de la raíz de la función

fc: valor de la función en c

err: error cometido en la estimación de c

k: iteración en la que se ha alcanzado la solución

P: valores de los intervalos de cálculo en cada iteración

Algoritmo

[pic 7]

[pic 8]

[pic 9]

Editor

  1. function [c,fc,err,k,P] = bisect (f,a,b,delta,itm)
  2. P=[a,b];
  3. x=a;
  4. fa=eval(f);

  1. x=b;
  2. fb=eval(f);
  3. if fa*fb>0
  4. disp('Los signos de f(a) y f(b) tienen que sesr distintos.')
  5. else
  6. for k=1:itm
  1. c=(a+b)/2;
  2. x=c;
  3. fc=eval(f);
  4. if fc==0
  1. a=c;
  2. b=c;
  1. elseif fb*fc>0
  1. b = c;
  1. else
  1. a = c;
  1. end

  1. P=[P;a b]    
  1. if abs (b-a) < delta
  1. break
  1. end
  2. x=b;
  3. fb=eval(f);
  1. end
  2. c = (a+b)/2;
  3. x=c;
  4. fc=eval(f);
  5. err = (a-b)/2;
  6. end
  7. end

Using the default configuration.

>> f='x^3+4*x^2-10' [ENTER][pic 10]

>> a=-1 [ENTER][pic 11]

>> b=2 [ENTER][pic 12]

>> delta=10^-4 [ENTER][pic 13]

...

Descargar como (para miembros actualizados) txt (2 Kb) pdf (457 Kb) docx (1 Mb)
Leer 1 página más »
Disponible sólo en Clubensayos.com