|
- %
- % Keeping epsilon fixed, plot the [a,b] interval over the iterations for
- % different lambda values (min, mid, max))
- %
-
-
- % Clear workspace and load the functions and interval
- clear
- addpath('..');
- GivenEnv;
-
- % * epsilon: e = 0.001
- % * lambda: l > 2e = 0.001
- % * dl: A small step away from 2e
- % dl = 0.0001
- % * lambda_max: 0.1
- % * N: 3 lambda values
-
- N = 3;
- epsilon = 0.001;
- dl = 0.0001;
- lambda_max= 0.1;
- lambda = linspace(2*epsilon + dl, lambda_max, N);
- k = zeros(1, N); % preallocate k
-
-
- %
- % * Call the bisection method for each lambda value for each function
- % * Plot the [a,b] interval over iterations for each lambda for each function
- %
-
- for i = 1:length(funs)
- figure;
- for j = 1:N
- [a, b, k(j)] = bisection(funs{i}, a_0, b_0, epsilon, lambda(j));
- subplot(length(funs), 1, j)
- plot(1:length(a), a, 'ob')
- hold on
- plot(1:length(b), b, '*r')
- if j == 1
- title(titles(i), 'Interpreter', 'latex')
- end
- xlabel("Iterations @lambda=" + lambda(j))
- ylabel('[a_k, b_k]')
- end
- end
-
-
|