Модераторы: pythonwin, Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вычисление интеграла и производной от функции 
:(
    Опции темы
rs5630
Дата 20.12.2014, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 20.12.2014

Репутация: нет
Всего: нет



Нужна помощь по следующей задачкой. Проблема, с тем, что выделенно жинрым шрифтом.

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

Код

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[i])
        for j in range(20):
            f(x[j],s[i],m)
            print('x = ',x[j],', y = ',f(x[j],s[i],m))


Это сообщение отредактировал(а) rs5630 - 21.12.2014, 00:57
PM MAIL   Вверх
kosmonaFFFt
Дата 21.12.2014, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 538
Регистрация: 14.4.2008
Где: Иннополис

Репутация: нет
Всего: 5



Для вычисления производной и интеграла можно использовать библиотеку sympy...


--------------------
user posted image
PM MAIL ICQ   Вверх
rs5630
Дата 21.12.2014, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 20.12.2014

Репутация: нет
Всего: нет



К сожалению, мне нужно точно как в задании, с помощью numpy.
PM MAIL   Вверх
bilbobagginz
Дата 26.12.2014, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 6
Всего: 317



документацию нампи почитай.
и дифференциация/интеграция - это арифметика массивов.для производной тебя интересует разность и деление:напиши функции (методы), которые принимают параметры - массивы.
если ты понимаешь всё, то мона написать класс, который принимает функцию при инициализации, и имеет методы интеграции и производной.
так красивее:
Код

class CoolFunc():
    def __init__(self, title, element_calc_callback):
        assert isinstance(title, str)
        assert hasattr(element_calc_callback, '__call__')
        self._title = title
        self._cb = element_calc_callback
        self._cb_params = dict()
    def derivative(diff):
        # тут типа вычислим производную
        return None
    def integrate(dx, start=None, stop=None):
        # тут интрегал
        return None
# юзаем:
def f(x=None,s=None,m=None):
    return (1./(sqrt(2.*pi)*s))*e**(-0.5*((x-m)/s)**2)

x = ..
y = ..

mycoolshit = CoolFunc("гау###", f)
print(mycoolshit.integrate())
print(mycoolshit.derivative())


если не вдупляем, работаем без красоты.



--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
Letyuchaya
Дата 20.1.2015, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 20.1.2015
Где: Владивосток

Репутация: нет
Всего: нет



а у меня все получается)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1416 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.