Hirdetés

Új hozzászólás Aktív témák

  • kispx
    addikt

    Sziasztok!

    Egy matematikai programozási feladattal kapcsolatban kérdeznék.
    "Közelítse az e^x = 3x egyenlet megoldását felező módszerrel 10^-4 pontossággal!"

    Az lenne a kérdésem, hogy a javaban, hogyan lennék képes megoldani ezt az egyenlőtlenséget hogy:
    e^x - 3x = 0?

    Mi az az intervallum-felező módszer(?):

    Megoldás:

    double a, b, c, fa, fc;

    a = 0;
    b = 1;

    for (int i = 1; i <= 4; i++) {
    c = (a + b) / 2;
    fa = (Math.pow(Math.E, a) - 3 * a);
    fc = (Math.pow(Math.E, c) - 3 * c);

    if (fa * fc < 0) {
    b = c;
    } else {
    a = c;
    }
    System.out.println(c);
    }

    Lényegében ha megtudnám az x értékét akkor az "a" és "b" nem 0 és 1 kerülne hanem egy pontosabb eredmény, így végül pontosabb lenne a végeredményem is és nem:

    0.5
    0.75
    0.625
    0.5625

    A linkelt pdf-ben megemlíti, hogy a pontossága a többi módszer alatt marad.

    Viszont ha pontosabb eredményt akarsz, akkor a következőt is csinálhatod. Az "n" értékét nagyra állítod és a "c" változó változását nézed. Tehát, ha az első tizedes jegy már nem változik, akkor az első tizedes jegyet már pontosan meghatároztad. És így tovább a több tizedesjeggyel.

Új hozzászólás Aktív témák