Filter löschen
Filter löschen

Solving for Zeros Across a Range

2 Ansichten (letzte 30 Tage)
Tony Stianchie
Tony Stianchie am 4 Mär. 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

Antworten (1)

Sulaymon Eshkabilov
Sulaymon Eshkabilov am 4 Mär. 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

Kategorien

Mehr zu Sudoku finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by