πŸ” Как Π½Π°ΠΉΡ‚ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π» Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅? ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ совСты ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

Как Π½Π°ΠΉΡ‚ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π» Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅?

Для нахоТдСния ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»Π° Π½Π° языкС Python ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ scipy.

НиТС прСдставлСн ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° для вычислСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»Π°:


from scipy import integrate

# ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π» ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ
def f(x):
    return x**2

# ВычислСниС ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»Π° Π½Π° ΠΎΡ‚Ρ€Π΅Π·ΠΊΠ΅ ΠΎΡ‚ 0 Π΄ΠΎ 1
result, error = integrate.quad(f, 0, 1)

print("Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»Π°:", result)
print("Ошибка:", error)

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ опрСдСляСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ f(x), которая являСтся ΠΏΠΎΠ΄Ρ‹Π½Ρ‚Π΅Π³Ρ€Π°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ integrate.quad() ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ scipy для вычислСния ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»Π° Π½Π° Π·Π°Π΄Π°Π½Π½ΠΎΠΌ ΠΎΡ‚Ρ€Π΅Π·ΠΊΠ΅. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ сохраняСтся Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ result, Π° ошибка вычислСния - Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ error.

ЗапуститС Π΄Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π½Π° своСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, ΠΈ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»Π° ΠΈ ΠΎΡ†Π΅Π½ΠΊΡƒ ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΠΈ.

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как Π½Π°ΠΉΡ‚ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π» Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅


Π˜Π½Ρ‚Π΅Π³Ρ€Π°Π»Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π²Π°ΠΆΠ½ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ ΠΈ Π½Π°ΡƒΠΊΠΈ ΠΎ Π΄Π°Π½Π½Ρ‹Ρ…. Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π½Π°ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ ΠΏΠΎΠ΄ ΠΊΡ€ΠΈΠ²ΠΎΠΉ ΠΈΠ»ΠΈ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ сумму Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΡ…ΡΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ языка программирования Python.


Для вычислСния ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΠΎΠ² Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ SciPy, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдоставляСт мноТСство Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для Π½Π°ΡƒΡ‡Π½Ρ‹Ρ… вычислСний. Одна ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ - это функция quad, которая позволяСт Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π».


Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ quad, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ integrate ΠΈΠ· SciPy. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°:


from scipy import integrate

# ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ
def f(x):
    return x**2

# ВычислСниС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ quad
result, error = integrate.quad(f, 0, 1) # Π˜Π½Ρ‚Π΅Π³Ρ€Π°Π» ΠΎΡ‚ 0 Π΄ΠΎ 1
print(result)

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ опрСдСляСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ f(x), ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΡ€ΠΎΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ quad ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ Π΅ΠΉ Π½Π°ΡˆΡƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ интСгрирования. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»Π° ΠΈ ΠΎΡ†Π΅Π½ΠΊΠ° ошибки.


Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ quad, Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ аспСкты вычислСния ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΠΎΠ² Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅.


Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π», Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ quad с Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ numpy.inf для указания бСсконСчной Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°:


from scipy import integrate
import numpy as np

# ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ
def f(x):
    return x**2

# ВычислСниС Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ quad
result, error = integrate.quad(f, 0, np.inf) # Π˜Π½Ρ‚Π΅Π³Ρ€Π°Π» ΠΎΡ‚ 0 Π΄ΠΎ бСсконСчности
print(result)

Если Ρƒ вас Π΅ΡΡ‚ΡŒ мноТСство Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ процСсса. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°:


from scipy import integrate

# ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅ΠΌ список Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для интСгрирования
functions = [lambda x: x**2, lambda x: x**3, lambda x: x**4]

# ВычислСниС ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΠΎΠ² для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² спискС
for f in functions:
    result, error = integrate.quad(f, 0, 1)
    print(result)

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρƒ нас Π΅ΡΡ‚ΡŒ список Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΡ€ΠΎΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ†ΠΈΠΊΠ» for, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π».


На этом ΠΌΡ‹ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Π΅ΠΌ нашС объяснСниС ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π½Π°ΠΉΡ‚ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π» Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠœΡ‹ рассмотрСли использованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ quad ΠΈΠ· модуля SciPy для вычислСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΡŽ процСсса для мноТСства Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. НадСюсь, этот ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Π±Ρ‹Π» ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ ΠΈ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΠΎΠ² Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ.

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

Π‘ΠœΠžΠ–Π•Π¨Π¬ Π Π•Π¨Π˜Π’Π¬ Π­Π’Π£ ЗАДАЧУ Π’ ΠžΠ”ΠΠ£ БВРОКУ НА PYTHON?

ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ² для нахоТдСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»Π°

Π£Ρ€ΠΎΠΊΠΈ Python - АрифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

πŸ”₯ Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ Π² Python? Π¨Π°Π³ Π·Π° шагом руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…! πŸš€

πŸ” Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ mypy python? Π£Π·Π½Π°ΠΉΡ‚Π΅ ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° этот вопрос сСйчас!

Как ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ break? πŸ›‘

πŸ” Как Π½Π°ΠΉΡ‚ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π» Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅? ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ совСты ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

πŸ” Как Π·Π°Π΄Π°Ρ‚ΡŒ пустой массив Π² Python? ΠŸΡ€ΠΎΡΡ‚Ρ‹Π΅ способы с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ

πŸ”’ Как ΠΏΠΎΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ количСство элСмСнтов Π² спискС Python: простой способ

πŸ”Œ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ MATLAB Π² Python: пошаговоС руководство