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



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

= np.linspace(0., 2., 201)

У = f(x)
pit.plot(x, y, label=’$2x-l+2\\cos(\\pi x) = 0$’) xO = optimize.brentq(f, 0., 1.)

  1. = optimize.brentq(f, 1., 2.) print ’x:’, xO, ’,’, xl

Pit.scatter(xO, 0)
Pit.scatter(xl, 0)
Pit.Iegend(loc=0)


Рис. 3.45 Решение нелинейного уравнения



pit.xlabel(’$х$’) pit.ylabel(’$f(x)$9) pit.grid(True) pit.show()
x. 0.5 , 1.23648444824
Для решения систем нелинейных уравнений используется функция f solve в которой нужно задать уравнения системы и начальное приближение к шению. Рассмотренное выше уравнение 2х — 1 + 2cos(7rx) = 0 будем рассм ривать как систему
1 — 0Xi = 0,
Х\ — 2cos(7nr0) = 0.
В следующей программе решение (см. рис. 3.46) получено при использоваг функции fsolve().
import mimpy as np import matplotlib.pyplot as pit import scipy.optimize as optimize def F(x):
out = [1 - 2*x[0] - x [1] ]
o



Рис. 3.46 Решение системы уравнений

ut.append
(х[1] - 2*np.cos(np.pi*x[0])) return out
x = np.1inspace(0., 2., 201)
yl = 1 - 2*x
y2 = 2*np.cos(np.pi*x)
pit.plot(x, yl, label=,$l - 2x$>)
pit.plot(x, y2, ’ — \ label=’$2\\cos(\\pi x)$>)
xO = optimize.fsolve(F, [0.5, 0.])
xl = optimize.fsolve(F, [1.5, 0.])
print ’x:’, xO, ’,*, xl
pit.scatter(xO[0], xO [1])
pit.scatter(xl[0], xl [1])
plt.legend(loc=0)
plt.xlabel(’$x$’)
Pit.ylabel(’ $f(x)$’)
Pit.grid(True)
Pit. showO
Для минимизации одномерных функций используются различные алгорит­мы: например, в функции goldenO — метод золотого сечения, в brent() метод Брента (метод обратной параболической интерполяции). В нижепри­веденной программе используется функция fminboundO для минимизации функции /(л;) = ж22 - ж - 6) на интервалах [-3,0] и [0,3] (рис. 3.47).


Рис. 3.47 Минимизация одномерной функции



import mimpy as np import matplotlib.pyplot as pit import scipy.optimize as optimize def f(x):
return x+x*(x*x - x - 6) x = np.linspace(-3., 3., 201) у = f(x)
pit.plot(x, y, labels$x~2(x~2 - x -6)$’)

xO = optimize.fminbound(f, -3., 0.)
xl = optimize.fminbound(f, 0., 3.)
print ’x:y , xO, W xl
pit.scatter(xO, f(x0))
pit.scatter(xl, f(xl))
pit.Iegend(loc=0)
plt.xlabel(’$x$’) pit.ylabel(’$f (x)$’) pit.grid(True) pit.show()
x: [-1.39718014] , [ 2.14718187]
При минимизации функций многих переменных обычно используются ква- зиныотоповскис методы. В этом случае мы можем задавать производные ми­нимизирующей функции точно или же они будут вычисляться приближенно в процессе вычислений. Мы ограничимся примером использования функции fminO, в которой реализован симплекс-метод. Будем искать минимум функ­ции F(x) = 100(.гд — Xq)2 + (1 — х0)2 (двумерная функция Розенброка).



Download 2,15 Mb.

Do'stlaringiz bilan baham:
1   ...   42   43   44   45   46   47   48   49   ...   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