Solving for Zeros Across a Range

2 views (last 30 days)
Tony Stianchie
Tony Stianchie on 4 Mar 2023
I'd like to solve and store the valves for which bi = 0 across a range i=I
H = 0.1;
I = 200;
bi = zeros(I,1);
for i = linspace(1,I)
bi(i,1) = fzero(@(bi)(bi+H*tan(bi)),0);
end

Answers (1)

Sulaymon Eshkabilov
Sulaymon Eshkabilov on 4 Mar 2023
There is an err in the loop in i = linspace(1,I) leads to non integer value that is NOT acceptable for an index. Here is a corrected code:
H = 0.1;
I = 200;
BI = zeros(I,1); % Memory allocation
b=pi; % Initial solution search near this value: b0
for i = 1:I
b = fzero(@(b)(b+H*tan(b)),b);
BI(i) = b;
end
BI(end) % final solution after 200 iterations
ans = -2.7709e-136

Categories

Find more on Sudoku in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!