ФорумПрограммированиеPython → Вычисление интеграла и производной от функции

Вычисление интеграла и производной от функции

  • rs5630

    Сообщения: 3 Репутация: N Группа: Кто попало

    Spritz 20 декабря 2014 г. 9:29

    Нужна помощь с такой задачкой. От функции f(x) = 1./((sqrt(2.*pi)*s)*e**(-0.5*((x-m)/s)**2) на отрезке (-10,10) для m = 0 и различных s (s пусть будет от 0.5 до 5) нужно вычислить производную и интеграл с помощью метода конечных разностей без применения циклов используя numpy.
  • AlexB

    Сообщения: 4288 Репутация: N Группа: в ухо

    Spritz 20 декабря 2014 г. 9:56, спустя 26 минут 34 секунды

    Речь идет об определенном интеграле Римана? Тогда да, его можно вычислить на отрезке - это будет число.
    Но что подразумевается под вычислением производной? Производная функции - тоже функция и имеет бесконечное количество значений на этом отрезке.
  • rs5630

    Сообщения: 3 Репутация: N Группа: Кто попало

    Spritz 20 декабря 2014 г. 16:53, спустя 6 часов 57 минут 25 секунд

    Речь идет об определенном интеграле Римана?


    По всей видимости, да. В задании к сожалению не указано.

    Насчет производной, раз нужно построить ее график (см. ниже), тогда наверное надо найти ее значение в нескольких точках между -10 и 10. Я задавал 20. Надо было мне сразу полностью задание написать.

    Вот полный текст: 1. Протабулировать функцию Гаусса: f(x) = 1./((sqrt(2.*pi)*s)*e**(-0.5*((x-m)/s)**2) на отрезке (-10,10) для m = 0 и различных s. Вычислить производную и интеграл от этой функции с помощью метода конечных разностей без применения циклов. Построить графики для данной функции и ее производной. Использовать numpy и matplotlib. (s пусть будет от 0.5 до 5)

    Табулирование я сделал. А вот с интергалом и производной (производными проблема)

    from math import *
    import numpy as np
    import matplotlib.pyplot as plt

    def f(x,s,m):
    return (1./(sqrt(2.*pi)*s))*e**(-0.5*((x-m)/s)**2)

    def main():
    m = 0
    s = np.linspace(0.5,5,3)
    x = np.linspace(-10,10,20)
    for i in range(3):
    print('s = ', s)
    for j in range(20):
    f(x[j],s,m)
    print('x = ',x[j],', y = ',f(x[j],s,m))
  • AlexB

    Сообщения: 4288 Репутация: N Группа: в ухо

    Spritz 20 декабря 2014 г. 17:58, спустя 1 час 4 минуты 41 секунду

    Так проблема в чем, в том как алгоритмически устроен этот метод или в его кодировании?
  • rs5630

    Сообщения: 3 Репутация: N Группа: Кто попало

    Spritz 21 декабря 2014 г. 5:52, спустя 11 часов 54 минуты 26 секунд

    И в том и в другом.
  • AlexB

    Сообщения: 4288 Репутация: N Группа: в ухо

    Spritz 21 декабря 2014 г. 5:56, спустя 3 минуты 18 секунд

    Тогда, в качестве помощи, могу перенести тему в раздел "предлагаю работу". )))
  • phpdude

    Сообщения: 26613 Репутация: N Группа: в ухо

    Spritz 21 декабря 2014 г. 5:57, спустя 1 минуту 24 секунды

    Тогда, в качестве помощи, могу перенести тему в раздел "предлагаю работу". )))

    @AlexB, ждал этого весь день

    Сапожник без сапог

Пожалуйста, авторизуйтесь, чтобы написать комментарий!