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

Método de separación de raíces y método de bisección


Enviado por   •  28 de Noviembre de 2021  •  Práctica o problema  •  480 Palabras (2 Páginas)  •  63 Visitas

Página 1 de 2

Función

Intervalos

Código Matlab

Gráfica 

2cos(x)

(-2,-1);

(1,2)

x=linspace (-3,3,1000);

y=2cos(x);

z=zeros(size(x));

plot (x, y);

grid on

hold on

plot (x, z)

[pic 1]

x^3-3x-1

(-2,-0.5);

(-0.5,0);

(1,2)

x=linspace (-2,2,1000);

y=2x.^3-3*x-1;

z=zeros(size(x));

 

plot (x, y);

grid on

hold on

plot (x, z)

[pic 2]

x^2-1

(-1.5,0);

(0,1.5)

x=linspace (-2,2,1000);

y=x.^2-1;

z=zeros(size(x));

 

plot (x, y);

grid on

hold on

plot (x, z)

[pic 3]

Función

Intervalos

Raíz calculada

Nº Iteraciones

Incremento

Código Matlab

Gráfica

2cos (x)

(-2,-1) 

-1.5708

 17

%METODO DE BISECCION

%GRUPO N° 9

%CODIGO:

 

clear

clc

format long

 

% Pedir la funcion y el intervalo donde se encuentra la raiz

% ----------------------------------------------------------------

f=input('Introduzca la funcion: f(x)=','s');

a=input('Itroducir el extremo izquierdo del intervalo: a= ');

b=input('introducir el extremo derecho del intervalo: b= ');

tol=input('Error máximo permitido: tol= ');

maxiter=input('Introduzca el número maximo de iteraciones: maxiter= ');

 

f=inline(f);

incr=(b-a);

iter=0;

ezplot (f)

grid on

 

if (f(a)*f(b)>0)

    error('El intervalo es inadecuado');

end

if incr > tol

        fprintf('la función diverge o insuficiente iteraciones')

end

 

while(abs(b-a)>tol) & iter<maxiter

    iter = iter + 1;

    m=(a+b)/2;

    if(f(a)*f(m)<0)         %la funcion cambia de signo en [a,m]

        b=m

    end

    if(f(m)*f(b)<0)         %la funcion cambia de signo en [m,b]

        a=m

    end

    if(abs(f(m))<eps)       %finaliza al hallar la raiz

        return

    end

end

 

disp ('----------------     RESPUESTAS OBTENIDAS     ----------------')

fprintf('Interaccion:\n %d      \nIntervalo:\n [%.4f,%.4f]\n',iter,a,b)

disp ('--------------------------------------------------------------')

fprintf('Raiz calculada:\n m=%.4f\n',m)

disp ('--------------------------------------------------------------')

fprintf('Incremento pedido:\n incr=%.4f\n',incr);

disp ('--------------------------------------------------------------')

disp('FIN DEL PROCESO');disp(' ');

[pic 4]

(1,2)

1.5708

17

1

2x3 - 3x – 1

(-2,-0.5)

 

1

 18

1.5

[pic 5]

(-0.5,0)

-0.3660

16

0.5

(1,2)

1.3660

17

1

x2 -1

 (-1.5,0)

-1.0000

 18

 1.5

[pic 6]

(0,1.5)

1.0000

18

1.5

...

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