[MatLab] Algoritmo di bisezione

October 12, 2009 – 12:01 am

Descrizione
Function che utilizza l’algoritmo di bisezione per calcolare un’approssimazione (in base ad una data tolleranza relativa) di uno “zero” di una funzione in un dato intervallo.

Codice
function [x, delta]=bisezione(a0,b0,f,toll)
x=0; delta = 0;
fa=feval(inline(f),a0);
fb=feval(inline(f),b0);
if fa*fb>0
disp(‘La funzione deve soddisfare f(a)f(b)<0!’)
delta=1;
end
m=0;
while (abs(b0-a0)>2*toll*abs(m) & delta==0), % toll è la tolleranza relativa
m=(a0+b0)/2;
fc=feval(inline(f),m);
if fb*fc<0
a0=m;
elseif fc==0
break
else

b0=m;
end
end

x=m;

Post a Comment