Roots of a function: Difference between revisions
Content added Content deleted
Line 1,633: | Line 1,633: | ||
func f(x: float): float = x ^ 3 - 3 * x ^ 2 + 2 * x |
func f(x: float): float = x ^ 3 - 3 * x ^ 2 + 2 * x |
||
var step = 0.01 |
var step = 0.01 |
||
var start = -1.0 |
var start = -1.0 |
||
var stop = 3.0 |
var stop = 3.0 |
||
var sign = f(start) > 0 |
var sign = f(start) > 0 |
||
⚫ | |||
⚫ | |||
while x <= stop: |
while x <= stop: |
||
var value = f(x) |
var value = f(x) |
||
if value == 0: |
if value == 0: |
||
echo fmt"Root found at {x:.5f}" |
echo fmt"Root found at {x:.5f}" |
||
elif (value > 0) != sign: |
elif (value > 0) != sign: |
||
echo fmt"Root found near {x:.5f}" |
echo fmt"Root found near {x:.5f}" |
||
sign = value > 0 |
sign = value > 0 |
||
x += step</lang> |
x += step</lang> |
||