Практикум j практическое примщенше численных методов



Download 2,15 Mb.
bet48/83
Sana06.07.2022
Hajmi2,15 Mb.
#750238
TuriПрактикум
1   ...   44   45   46   47   48   49   50   51   ...   83
Bog'liq
python

import numpy as np
import matplotlib.pyplot as pit
import scipy.integrate as integrate
def f(x):
return np.exp(-4*x)*np.sin(4*np.pi*x)
m = 101
x = np.zeros((m), ’float’) у = np.zeros((m), ’float’) yl = np.zeros((m), ’float’) for i in range(0, m): x[i] = i/(m-l.)
y[i] = integrate.quad(f, 0, x[i])[0] ylCi] = f(x[i])
plt.fill(x, f(x), ’g’, label=’$f(x)$’)
pit.plot(х, у, label=,$\\int_o"x f(t) dt$0

  1. = integrate.quad(f, 0, 1)[0]

  2. = integrate.trapz(yl, x)

  3. = integrate.simps(yl, x) print ’int(quad): * , 10 print ’int(trapz):’, II print ’int(simps):’, 12 pit.Iegend(loc=0) plt.xlabelOSxS’)

pit.grid(True) pit.show()
Для сеточных функций используются квадратурные формулы трапеций и Симпсона (функции trapzO и simpsO соответственно). На основе процедур интегрирования по одной переменной реализованы так же функции интегри­рования по двум и трем переменным (dblquadO и tplquadO).
Отдельного внимания заслуживают возможности решения задачи Коши для систем обыкновенных дифференциальных уравнений. В модуле integrate для таких задач используются функции ode О и odeintO. Они предназначены для решения задач как для нежестких, так и жестких систем ОДУ.
Рассмотрим задачу Коши (модель Лотка—Вольтерра)
= Уо - УоУи ~tt=~yi+ У°У'’ 0 < < < Т, 2/о(0) = Уо, 2/1 (0) = у°.
Система уравнений записывается в векторном виде
d
F(Y,t), 0
F(Y,t) =
Y dt

при
У
Уо
У\

У =

о ~
2/o2/i . “2/1 + 2/o2/i
В программе решение получено с помощью функции odeintO на интервале [0,10] (см. рис. 3.50).
import numpy as np import matplotlib.pyplot as pit import scipy.integrate as integrate def f(y, t):
return [y [0] - y[0]*y[l],
-y [1] + y[0]*y[l]] t = np.linspace(0, 10, 1000)


Рис. 3.51 Задача Коши для системы ОДУ



уО = [2, 2]
Y = integrate.odeint(f, уО, t) rO, rl = Y.T
pit.plot(t, rO, labelsSy.OSO
pit.plot(t, rl, ’ —label^Sy.lSO
pit.legend(loc=0)
pit .xlabelOStJO
pit.grid(True)
pit.show()
При использовании функции odeint () для решения задачи Коши для систем ОДУ можно повысить вычислительную эффективность за счет аналитиче­ского задания матрицы Якоби (якобиан, производные правых частей систе­мы).

  1. Другие математические пакеты

Вы многое найдете, пакет символьных вычислений SymPy, разреженные мат­рицы (SciPy.sparse), PyAMG — многосеточный метод, элемеР1ты графического интерфейса пользователя (formlayout).

Download 2,15 Mb.

Do'stlaringiz bilan baham:
1   ...   44   45   46   47   48   49   50   51   ...   83




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish