Matlab - metodo de biseccion

 
Vista:
sin imagen de perfil

metodo de biseccion

Publicado por jessica de leon (3 intervenciones) el 28/05/2015 17:03:22
disculpe es un proyecto en el cual me calcule el metodo de biseccion a travez de una formula, rango y me muestre las iteraciones que estA haciendo el programa y me muestre la raiz
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

metodo de biseccion

Publicado por jessica de leon (3 intervenciones) el 28/05/2015 18:17:38
disculpe el proyecto de ayuda que me envio me marca algunos errores a que se debe no sabe?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

metodo de biseccion

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 28/05/2015 20:29:59
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
function  m = bisection_foro(f, low, high, tol)
f=inline(f);
% Evaluate both ends of the interval
y1 = feval(f, low);
y2 = feval(f, high);
i = 0;
 
% Display error and finish if signs are not different
if y1 * y2 > 0
   disp('Have not found a change in sign. Will not continue...');
   m = 'Error';
   return
end
 
% Work with the limits modifying them until you find
% a function close enough to zero.
disp('Iter    low        high          x0');
while (abs(high - low) >= tol)
    i = i + 1;
    % Find a new value to be tested as a root
    m = (high + low)/2;
    y3 = feval(f, m);
    if y3 == 0
        fprintf('Root at x = %f \n\n', m);
        return
    end
    fprintf('%2i \t %f \t %f \t %f \n', i-1, low, high, m);
 
    % Update the limits
    if y1 * y3 > 0
        low = m;
        y1 = y3;
    else
        high = m;
    end
end
 
% Show the last approximation considering the tolerance
w = feval(f, m);
fprintf('\n x = %f produces f(x) = %f \n %i iterations\n', m, y3, i-1);
fprintf(' Approximation with tolerance = %f \n', tol);

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
forma  de ejecutar.
>> m = bisection_foro('exp(x)-2', 0,2 ,0.0001)
Iter    low        high          x0
 0 	 0.000000 	 2.000000 	 1.000000
 1 	 0.000000 	 1.000000 	 0.500000
 2 	 0.500000 	 1.000000 	 0.750000
 3 	 0.500000 	 0.750000 	 0.625000
 4 	 0.625000 	 0.750000 	 0.687500
 5 	 0.687500 	 0.750000 	 0.718750
 6 	 0.687500 	 0.718750 	 0.703125
 7 	 0.687500 	 0.703125 	 0.695313
 8 	 0.687500 	 0.695313 	 0.691406
 9 	 0.691406 	 0.695313 	 0.693359
10 	 0.691406 	 0.693359 	 0.692383
11 	 0.692383 	 0.693359 	 0.692871
12 	 0.692871 	 0.693359 	 0.693115
13 	 0.693115 	 0.693359 	 0.693237
14 	 0.693115 	 0.693237 	 0.693176
 
 x = 0.693176 produces f(x) = 0.000058
 14 iterations
 Approximation with tolerance = 0.000100
 
m =
 
    0.6932


Saludos .
JOSE JEREMÍAS CABALLERO
Asesoría online en Matlab
Servicios de programación matlab
[email protected]
skype: josejeremiascaballero
Estimado Usuario, el correo es para servicios de cursos, asesoría y programación. Toda ayuda gratuita es vía foro.


http://matlabcaballero.blogspot.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

metodo de biseccion

Publicado por jessica (3 intervenciones) el 02/07/2015 03:12:37
disculpe como puedo hacer una interfaz grafica con el metodo d biseccion lo que pasa es que no me agarran los botones poniendole los comandos que le puse, me podria ayudar con eso
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar