How do I compute the absolute error n = |xn − xr| for n = 0, 1, . . . , 50, where we take the output xr from MATLAB’s fzero function with initial guess xinit = 1 to be the “true” root, given this.
xn = bisectionMethod(f, a, b, numiter)
f1= @(x) cos(x)-x;
f2= @(x) exp(-x^2)-x;
f3= @(x) (x^3)-(1/2);
x1= bisectionMethod(f1, 0, 1, 50);
x2= bisectionMethod(f2, 0, 1, 50);
x3= bisectionMethod(f3, 0, 1, 50);

 채택된 답변

Ameer Hamza
Ameer Hamza 2020년 10월 8일
편집: Ameer Hamza 2020년 10월 8일

0 개 추천

Consider one function
f1 = @(x) cos(x)-x;
x1r = fzero(f1, 0);
You can do it like this
n = 0:50;
x1n = zeros(size(n)); % all solutions for f1
for i = 1:numel(x1n)
x1n(i) = bisectionMethod(f1, 0, 1, n(i));
end
err = abs(x1n-z1r);
A more efficient approach is to modify bisectionMethod() function such that it returns a complete vector in a single call. The above code is repeating the same calculations several times.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Generating and Calling Reentrant Code에 대해 자세히 알아보기

질문:

2020년 10월 8일

편집:

2020년 10월 8일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by