Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package LL2
- class Interval(val a1: Double, val b1: Double)
- val intervals = mutableListOf<Interval>()
- fun F(x: Double) = (x * x * x) - (4 * x) - 2
- fun Fdd(x: Double) = 6 * x //f'(x) = 3x^2 - 4
- fun main(args: Array<String>) {
- intervals.add(Interval(-1.75, -1.5))
- intervals.add(Interval(-0.75, -0.5))
- intervals.add(Interval(2.0, 2.25))
- val solutiileFunctiei = intervalsToSolutions(intervals)
- println("\nSoluţiile funcţiei sunt: ")
- solutiileFunctiei.forEachIndexed { index, d ->
- println("$index) $d")
- }
- }
- /**
- * Transformă lista de intervalele în listă de soluţii.
- * */
- fun intervalsToSolutions(list_i: MutableList<Interval>) = list_i.map { calcSolutionFromInterval(it) }
- /**
- * Cercetează un interval şi returnează soluţia găsită pe acesta.
- * */
- fun calcSolutionFromInterval(i: Interval): Double {
- val a = i.a1
- val b = i.b1
- val e = 0.0001 //eroare
- var c0 = if (F(a) * Fdd(a) > 0) b else a
- val p = if (F(a) * Fdd(a) > 0) a else b
- var c = (c0 * F(p) - p * F(c0)) / (F(p) - F(c0))
- /*
- while (Math.abs(c - c0) > e) {
- c = (c0 * F(p) - p * F(c0)) / (F(p) - F(c0))
- println("While: " + c)
- }
- */
- return c
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement