Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function [r] = intfel2(f,a,b,N,eps_step,eps_abs)
- if ( f(a) == 0 )
- r = a;
- return;
- elseif ( f(b) == 0 )
- r = b;
- return;
- elseif ( f(a) * f(b) > 0 )
- error('f(a) és f(b) előjelei nem különböznek!' );
- end
- % Iteráció n lépésben
- for k = 1:N
- % Középpont megkeresése
- c = (a + b)/2;
- % Gyökkeresés, attól függően, hogy találunk-e, használjuk:
- % [a,c]-t ha f(a) és f(c) nem azonos előjelűek, vagy
- % [c,b]-t ha f(c) és f(b) -,,- .
- if ( f(c) == 0 )
- r = c;
- return;
- elseif ( f(c)*f(a) < 0 )
- b = c;
- else
- a = c;
- end
- if ( b - a < eps_step )
- if ( abs( f(a) ) < abs( f(b) ) && abs( f(a) ) < eps_abs )
- r = a;
- return;
- elseif ( abs( f(b) ) < eps_abs )
- r = b;
- return;
- end
- end
- end
- error( 'a metódus nem konvergál' );
- end
Add Comment
Please, Sign In to add comment