singlepost

Как лучше найти площадь между графиками функций? << На главную или назад  

написать программу на делфи вычисляющую площадь образованную пересечением функций f1=x*e^-x и f2=a/x

т.е. пишем процедуру вычисляющую интеграл,пишем процедуру находящую корни уравнения x*e^-x-a/x=0
а потом уже программу или как-то по другому будет лучше?буду очень признателен за совет)

15 ответов в теме “Как лучше найти площадь между графиками функций?”

Страницы: [1] 2 »

  1. 1
    Евгений Баталов ответил:

    Если правильно понял, вроде надо проинтегрировать обе функции, а потом из большей площади вычесть меньшую. Вобще от графиков функций зависит. Если они все на интервале больше нуля считаются, тогда так.

  2. 2
    Владимир Гордеев ответил:

    Гм. Тупо вычисляем интреграл, не нужно искать никаких корней.

    http://ru.wikipedia.org/wiki/%D0%A7%D0%B8%D1%81%D0%B...

  3. 3
    Пашка Джиоев ответил:

    #3: а пределы интегрирования ты откуда брать будешь?

  4. 4
    Валера Марсель ответил:

    да корни же это пределы интегрирования будут,а интеграл как искать лучше?че-нить типо метода симпсона не пойдет,лучше трапецией

  5. 5
    Пашка Джиоев ответил:

    #1: вроде так и надо. Еще надо заметить, что один корень следует искать на (0,2], а второй на [2, +\infty). Это нужно, чтобы простые методы поиска решения правильно работали, например метод деления пополам.

  6. 6
    Пашка Джиоев ответил:

    #5: ну это уже зависит от того какая скорость сходимости(от числа разбиений) нужна и точность. Если это не критично, то можно брать самый простой метод, и его с большим числом разбиений использовать.

  7. 7
    Владимир Гордеев ответил:

    #4 да ступил. Пределы не даны.

  8. 8
    Нгамдкхе Кверос ответил:

    #1если лаба на конкретно расчёт интеграла то обычно можно пределы интегрирования искать аналитически и подставлять, а если ни точность ни метод не даны, то можно делать трапеций, а в программу как параметр передавать число разбиений, которое при необходимости просто в ручную зададите бОльшее.

    зы: но, конечно, такие вопросы правильнее задавать своему преподу что он имел ввиду только ему ведомо.

  9. 9
    Валера Марсель ответил:

    x*e^-x-a/x=0

    ребят я чет туплю помогите если не сложно,как тут корни найти?

  10. 10
    Пашка Джиоев ответил:

    Аналитически – никак, можно только численно.
    Если домножить на x, то получится f(x) = x^2*e^(-x) – a = 0.
    Видно, что функция в левой части возрастает на (0, 2) и убывает на (2, +беск.), в точке 2 – максимум. Причем f(0) = 0, f(+беск.) = 0. Поэтому, если 0 < a < 4*e^(-2), то уравнение имеет по одному решению на каждом из вышеуказанных интервалов. Искать их можно например методом деления пополам. Алгоритм такой:
    сначала выбираются x_l < x_r такие, что
    f(x) монотонна, на (x_l, x_r) и f(x_l)*f(x_r) < 0.
    затем проводится серия итераций:
    a) Для возрастающей f

    x_c = (x_l + x_r)
    jf f(x_c) < 0
    x_l = x_c
    else
    x_r = x_c
    end

    b) Для убывающей f

    x_c = (x_l + x_r)
    jf f(x_c) < 0
    x_r = x_c
    else
    x_l = x_c
    end

    причем итерации продолжаются до тех пор,
    пока порешность |x_l – x_r | не достигнет требуемой
    величины.

    В нашем случае, для первого интервала начальные значения будут x_l = 0, x_r = 2, для второго x_l = 2, x_r = C, где C любое достаточно большое число, для которогоf(C) <0.

Страницы: [1] 2 »

Ответить

Пожалуйста, зарегистрируйтесь для комментирования.

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.