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



Download 2,15 Mb.
bet55/83
Sana06.07.2022
Hajmi2,15 Mb.
#750238
TuriПрактикум
1   ...   51   52   53   54   55   56   57   58   ...   83
Bog'liq
python

гх(ж,0) = г>(я), 0 < х < I.
Д
dyi
dt


к


Ух
-1 - 2j/i + Vi+1
h?


+ /(z/n£),
г = 1,2, ...,7V - 1,


0 < £ < Т,


ля численного решения этой краевой задачи будем использовать метод пря­мых. Дискретизацию по пространству проведем на равномерной сетке с h (Nh = I). Решение y^i = 0,1,...,N в узлах ж*, г = 0,1,...,7V определяется из следующей задачи Коши для системы обыкновенных дифференциальных уравнений:
Vo(t)=g0(t), yN(t)=g1{t), 0
Vi(0)=у(х{), i = 1,2,...,N - 1.
Правую часть зададим в виде
/(it, t) = su( 1 — it), s = const.
В
1, 0 < x < /0, 0, l
0 < x < 1.


этом случае рассматриваемое нелинейное уравнение диффузии-реакции известно как уравнение Фишера (Колмогорова—Петровского—Пискунова). Пусть
Поставленная задача характеризуются параметрами ft, s, /, N, Т. Эти пара­метры (а также число временных слоев для вывода графика решения) будем вводить с использованием диалога, который реализуется модулем Form Layout (функция f edit О) на основе списка параметров.
import numpy as np import matplotlib.pyplot as pit import scipy.integrate as integrate from foralayout import fedit datalist = [(None, ,Physical’),
d
(’diffusion’, 0.2),
(’souce’, 5.),

(None, ’Geometric9), (’lenth’, 10.),
(’10’, 1.),
(None, ’Calculated9), (’nodes*, 51),
(* tmax *, 4.),
(’ntime*, 5) ]

, s, 1, 10, m, tmax, ntime = fedit(datalist, title="Parameters") h = 1 / m def f(x):
return s*x*(l-x) def ff(y, t):
r = np.zeros((m+1), ’float’) for i in ranged, m):
r [i] = d*(y[i+l] - 2*y [i] + у [i-1]) / h**2 + f (y [i]) return r
t = np.linspace(0, tmax, ntime) x = np.linspace(0, 1, m+1)
v = np.zeros((m+1), ’float’) for i in range(0, m+1):


Рис. 3.58 Диалог ввода данных



if х[i] < 10: v[i] = 1.
Y, infodict = integrate.odeintCff, v, t, full_output=True) sglist = \ ’.’]
for n in range(0, ntime):
> r = Y[n, :] .T
st = ’time =’ + str(n*tmax/(ntime-l)) pit.plot(x, r, sglist[n], label=st) pit.Iegend(loc=0) pit.xlabel(’$x$’) pit.grid(True) pit. showO
Помимо реализованного здесь (см. рис. 3.58) ввода числовых параметров (ви­джеты QDateEdit и QSpinBox из PyQt) и надписей (QLabel) обеспечивается интерактивный ввод текстовой информации, распознается ввод списков (ре­ализация на основе виджета QComboBox), логических переменных — селек­торная кнопка (QCheckBox), информация о цвете и шрифтах. Параметры также можно группировать на отдельных вкладках.




N
\
\
\

1




т:— *

*
*

  • time =0.0

  • - time =1.0

time =2.0




Г
\

\







* ♦ *

time =3.0 time =4.0







1
\
\
\
\
\




0

*







\
\
\
\
\




*

*







\
\
\
\
\







0
0


х





Рис. 3.59 Решение задачи для уравнения Фишера
На рис. 3.59 представлены графики решения задачи при параметрах по умол­чанию. Само решение имеет вид бегущей волны со скоростью равной (Кол­могоров, Петровский, Пискунов) 2y/ks = 2. Для решения задачи Коши ис­пользуется модуль integrate пакета SciPy.


Прямые методы линейной алгебры
Одной из основных задач вычислительной математики является проблема решения систем линейных алгебраических уравнений с вещественными ко­эффициентами. Для нахождения приближенного решения систем уравнений используются прямые и итерационные методы. Математический аппарат ли­нейной алгебры базируется на понятиях нормы вектора и матрицы, числа обусловленности. Рассматриваются классические методы исключения неиз­вестных, отмечаются особенности решения задач с симметричной веществен­ной матрицей.

Основные обозначения

X = {Xi} = {хих2,...,хп}

— n-мерный вектор

А = {ay}

— матрица с элементами

Е

единичная матрица

D = diag{dx, d2, • • •, dn]

— диагональная матрица

INI

норма вектора х

N1

норма матрицы А

det(^)

определитель матрицы А

cond(A)

число обусловленности матрицы А







  1. Задачи решения систем линейных уравнений

Рассматривается задача нахождения решения системы линейных алгебраи­ческих уравнений
Ах = /. (4.1)
Здесь А — квадратная матрица п х п с вещественными коэффициентами hj 1,2, ...,n, / — заданный вектор с вещественными компонентами, х — искомый вектор. Будем считать, что определитель матрицы А отличен от нуля и поэтому система уравнений (4.1) имеет единственное решение. Для

его нахождения будем использовать прямые (точные) методы, в которых ре­шение находится за конечное число арифметических действий.
Входные данные (коэффициенты матрицы А и компоненты вектора/) заданы с погрешностью, т.е. вместо (4.1) решается система уравнений
Ах = /. (4.2)
Необходимо оценить влияние погрешностей в задании коэффициентов и пра­вой части па решение задачи. Близость решения задачи к решению зада­чи с точными входными данными связывается с числом обусловленности матрицы.

  1. Алгоритмы решения систем линейных уравнений

Рассматриваются основные понятия линейной алгебры: норма вектора, со­гласованная норма матрицы. Дается оценка погрешности решения системы линейных уравнений при возмущении правой части и коэффициентов мат­рицы на основе привлечения понятия числа обусловленности. Среди прямых методов выделяется метод Гаусса с и без выбора главного элемента, кото­рый связан с разложением матрицы на произведение треугольных матриц. Для задач с симметричными вещественными матрицами выделяется метод квадратного корня (метод Холецкого).
*
Обусловленность матрицы и оценки точности
Среди норм векторов наиболее употребительны нормы:
п
Nli = XNI>
4
1/2


Nb
=


хы2


=1

=
Мао
max I
1<г<п 1
Матричная норма ||А|| подчинена векторной норме ЦяЦ, если
P
ЕМ 11*11'

II
= max
х^О
Для квадратной невырожденной матрицы А
существует единственная мат­рица А-1, называемая обратной, для которой AA~l A~lA = Е. Число обусловленности матрицы А есть
cond(^) = |И||||Л_1||.
При рассмотрении близости решений уравнений (4.1), (4.2) для погрешности в задании матрицы, решения и правой части используем обозначения
= А - А, дх = х - х, 5f = / - /.
Если матрица А имеет обратную и выполнено условие
1ИНИ|<1,
тогда для относительной погрешности справедлива оценка lifall . cond(A) n\SA\\ ||g/||\
INI -1-сопс1(А)||М||||Л||-ЧМ1 ll/ll / 1 j
Оценка (4.3) выражает устойчивость решения при возмущении правой части и коэффициентов уравнения (4.1) (корректность задачи).
Метод Гаусса для решения систем линейных уравнений
Классический алгоритм исключения неизвестных (метод Гаусса) связывается с использованием представления исходной матрицы А в виде произведения треугольных матриц. Матрица А называется нижней (левой) треугольной матрицей, если ее элементы ац = 0 при г < j, для верхней (правой) треуголь­ной матрицы А — aij = 0, если г > j.
Е
Ф 0, det
\А\ ф О,


а
п ф О,


ап а\2
(221 &22

сли все главные миноры матрицы А отличны от нуля, т.е.
тогда матрица А представима в виде
A
(4.4)

= LU
,
где L нижняя треугольная матрица с единичной диагональю и U верхняя треугольная матрица с ненулевыми диагональными элементами.
Приведем рекуррентные формулы для определения треугольных матриц L и U:
ии — &1Ь aj 1
^1 j 5 Ijl 5 3 2,3,..., 72,
Un
i— 1
ицац ^ ^ i2,3,..., n,
k=1

Download 2,15 Mb.

Do'stlaringiz bilan baham:
1   ...   51   52   53   54   55   56   57   58   ...   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