- •Навчальний посібник
- •1 Основні принципи математичного і компютерного моделювання в сучасних екологічних дослідженнях.
- •1.1 Моделювання як методологія пізнання
- •1.2 Види моделювання
- •Математична модель – це відтворення будь-якого явища всесвіту за допомогою математичної символіки
- •1.3 Характеристики моделей
- •1.4 Особливості моделювання в екології
- •1.5 Значення моделювання в екології
- •2 Елементарні функціональні залежності в екології
- •2.1 Лінійна функціональна залежність
- •2.2 Пряма і обернена пропорціональні залежності
- •2.3 Дробово-лінійна функція. Рівняння Міхаеліса-Ментен
- •2.4 Степенева функція
- •2.5 Показникова та логарифмічна функції, їх застосування до опису розмноження популяцій
- •2.6. Тригонометричні функції та їх застосування до моделювання періодичних процесів
- •3 Моделювання екологічних cистем за допомогою диференційних рівнянь
- •3.1. Поняття похідної та її застосування до вивчення законів природи, операції диференціювання та інтегрування
- •3.2. Побудова емпіричних формул, метод найменших квадратів
- •3.3. Загальні принципи моделювання екологічних процесів за допомогою диференціальних рівнянь, стаціонарні розв'язки та їх стійкість
- •3.4 Моделювання динаміки чисельності окремих популяцій
- •5 «Жорсткі» та «м'які» математичні моделі динаміки популяцій
- •3.6 Динаміка біоценозів як наслідок міжвидових взаємовідносин
- •{Декларативна частина}
- •I,n: integer;
- •Var I,j,k: Integer;
- •I,m,n : integer;
- •Var I,j,k: Integer;
- •Var I, j : Integer;
- •11. Математичне моделювання – це моделювання,
- •12. Моделі із зосередженими значеннями (параметрами) описують …
- •Навчальний посібник
- •65082, Одеса, вул. Дворянська, 1/3
I,n: integer;
e : real;
a : ar1;
x :ar2;
PROCEDURE linequ (a : ar1; n : Integer; e : Real; VAR x :ar2);
{ заголовок процедури та опис локальних змiнних;}
label 1;
Var I,j,k: Integer;
y,w: Real;
BEGIN
FOR i:=1 TO n DO
{приведення матрицi системи (1) до трикутного виду (3)}
BEGIN
k:= i; y := a[i,i];
FOR j:= i+1 TO n DO
BEGIN w := a [j,i];
IF Abs (w) > Abs(y) THEN BEGIN k := j; y := w END
END;
IF Abs (y) <e THEN BEGIN Write ('НЕ ВИЗНАЧЕНО'); goto 1 END;
FOR j := i TO n+1 DO
BEGIN w := a[k,j]; a[k,j]:= a [i,j]; a[i,j] := w/y END;
FOR k := i+1 TO n DO
FOR j :=n+1 DOWNTO i+1 DO a[k,j] := a[k,j]-a[i,j]*a[k,i]
END;
FOR i := n DOWNTO 1 DO {Зворотний хд метода Гаусса}
BEGIN w := 0;
FOR j := i+1 TO n DO w := w+a[i,j]*x[j];
x[i] := a[i,n+1]-w
END;
1:
END{ linequ };
BEGIN{}
{Контрольний варiант 1}
n:= 4;{ - кiлькiсть рiвнянь i невiдомих}
e:= 0.0001;{ - точнiсть обчислень}
{а- коефiцiєнти розширеної матрицi системи;}
a[1,1]:=-2;a[1,2]:=3;a[1,3]:=4;a[1,4]:=1;a[1,5]:=6;
a[2,1]:=1; a[2,2]:=2; a[2,3]:=1;a[2,4]:=3;a[2,5]:=7;
a[3,1]:=-4;a[3,2]:=4; a[3,3]:=2 ;a[3,4]:=2;a[3,5]:=4;
a[4,1]:=1; a[4,2]:=2; a[4,3]:=-3;a[4,4]:=0;a[4,5]:=0;
linequ (a,n,e,x);{Звернення до процедури}
for i:=1 to 4 do
writeln(' Вiдповiдь x',i:1,'=',x[i]:2:6);
writeln('Press Enter');
readln;
END.
Приклад Д4. АПРОКСИМАЦІЯ ФУНКЦІЇ ПОЛІНОМОМ МЕТОДОМ НАЙМЕНШИХ КВАДРАТІВ
Нехай у вузлах хі задано значення уі, деякої функції у = f(x), i = 0, n, причому вузли хі можуть бути кратними. Методом найменших квадратів полягає у відшуканні серед поліномів m-го степеня,
(9)
такого, для якого вираз
(10)
набуває мінімального значення.
Як випливає з рівності (10) функція S(Pm) невід’ємна, отже icнye її мінімум. Застосовуючи необхідну умову мінімуму функції S(Pm), як функції від коефіцієнтів ai,
(11)
дістаємо систему лінійних алгебраїчних рівнянь з невідомими аі:
(12)
Введемо позначення Тоді система (12) матиме вигляд матричного рівняння
Са= d,
де
(13)
Середньоквадратична похибка апроксимації визначається за формулою:
(14)
Лістінг програмного коду
{У наступнiй програмi система (13) розв'язується методом Гауса.
У програмi використовуються змiннi: n - кiлькiсть вузлiв рiвна n+1;
m - степiнь шуканого полiнома; a[0:m] - масив коефiцiєнтiв шуканого полiнома;
х, у, - масиви вузлiв i значень функцiї;
t - середньоквадратична похибка апроксимацiї; u - робоча змiнна;
i, j, - змiннi циклiв; с - розширена матриця С в (13).
КОНТРОЛЬНИЙ ПРИКЛАД.
При n=5 у вузлах хi= (0, 1, ,2, 3, 4, 5) задано значення функцiї
уi=(2, 3, 7, 10, 18, 26).
Відповідь коефiцiєнтами апроксимуючого полiнома четвертого степеня (m=4) є а0= 1.916667:., а1 = 1.222222:, а2 = 0.062500:,
а3 = 0.236111:, а4 = -0.020833:,
Похибка t = 0.540062.}
Program APROX;
CONST dim = 20;
TYPE ar2 = ARRAY [0..dim+1] OF Real;
Var
I,m,n : integer;
t : real;
a,x,y :ar2;
PROCEDURE apr(m,n: Integer; x, y: ar2; VAR t: Real; VAR a: ar2);
{ заголовок процедури та опис локальних змiнних;}
TYPE ar1 = ARRAY [1..dim,1..dim+1] OF Real;
PROCEDURE linequ (a : ar1; n : Integer; e : Real; VAR x :ar2);
{ заголовок внутрішньоїпроцедури та опис локальних змiнних;}
{Процедура GAUSS. Розв'язування системи лiнiйних рiвнянь методом Гаусса Дивись додаток Д3
label 1;