Я не могу установить ничего нового Мне нужно использовать библиотеку python по умолчанию, и мне нужно интегрировать функцию. Я могу получить значение для любого f (x), и мне нужно интегрировать от 0 до 6 для моей функции f (x).Как сделать численное интегрирование в python?
ответ
В дискретной форме, интеграция просто суммирование, т.е.
где п число выборок. Если мы позволим б-а/п дх (далее «ширина» нашего образца), то мы можем записать это в Python, как например:
def integrate(f, a, b, dx=0.1):
i = a
s = 0
while i <= b:
s += f(i)*dx
i += dx
return s
Обратите внимание, что мы используем higher-order functions здесь. В частности, f
- это функция, которая передается в integrate
. a
, b
- наши границы, и dx
по умолчанию - 1/10. Это позволяет нам применять нашу новую интеграционную функцию для любой функции мы хотим, например, так:
# the linear function, y = x
def linear(x):
return x
integrate(linear, 1, 6) // output: 17.85
# or using lamdba function we can write it directly in the argument
# here is the quadratic function, y=x^2
integrate(lambda x: x**2, 0, 10) // output: 338.35
def func():
print "F(x) = 2x + 3"
x = int(raw_input('Enter an integer value for x: '))
Fx = 2 * x + 3
return Fx
print func()
с помощью функции входа в питоне, вы можете случайно ввести любой номер вы хотите, и получить функцию или если трудно кодирования это это необходимо, можно использовать для цикла и добавить номера в список, например
def func2():
print "F(x) = 2x + 3"
x = []
for numbers in range(1,7):
x.append(numbers)
upd = 0
for i in x:
Fx = 2 * x[upd] + 3
upd +=1
print Fx
print func2()
EDIT:, если вы хотите число, чтобы начать отсчет от 0 устанавливается первое значение в диапазоне до 0 вместо от 1
Это оценивает функцию, она не делает никаких интеграция. – Prune
вы можете более подробно объяснить, что вам нужно? – Falcon
Вы оценили функцию в диапазоне [1,6]; плакат нуждается в интеграле по диапазону [0,6]. Я нигде не вижу, что вы имели дело с определенным интегралом данной функции. См. Более ранний ответ для хорошей презентации. – Prune
Чтобы избежать вопроса, который был закрыт без ответа, см. [Как спросить] (http://stackoverflow.com/help/how-to-ask) –