Help with my bisection method of a certain function!
Ältere Kommentare anzeigen
Hello, I am a new user of MatLab and recently had to write up a bisection method program for the function f(x) = x + 2*cos(x).
This is what I got:
function[f] = hw3_bisection(tol,N,a,b)
f = @(x) (x + 2*cos(x));
for counter = 1:N
x = (a+b)/2;
while abs(f(x)) < tol
x = (a+b)/2;
if f(x) == 0
f = x;
end
if f(a) * f(x) > 0
a = x;
else
b = x;
end
end
end
but the problem for me is that the output is always x + 2*cos(x), and even if I say disp(x) it gives me ans = x + 2*cos(x) and the (a+b)/2 without going through the rest of the loop. How do I fix this to get the real solution?
Akzeptierte Antwort
Weitere Antworten (0)
Kategorien
Mehr zu Startup and Shutdown finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!