stify"> Текст програми = 0; = 1;
n = 5; = 1; = (Xn-x0)/n; x, y: array [1 .. 100] of real;, j: integer;: integer;: text;, k2, k3, k4, deltay: real; f (x, y: real): real;: = 2 * y-2 * x +1;
{f: = exp (2 * x) + x;}; (t, 'H: Phoenix runge-kut.txt'); (t); [1]: = x0 ; y [1]: = y0; (x [1]: 2:5, '', y [1]: 2:5); i: = 2 to n +1 do ', Y [i]: 2:5);; i: = 1 to n +1 do (t, x [i]: 2:5,' ', y [i]: 2:5);
close (t);.
Результати
Висновок
Метод Рунге-Кутта досить точний і за малу кількість ітерацій приходить до відповіді, недоліки в тому, що потрібні великі і незручні вирази для обчислень.
Загальний висновок
Якщо при вирішенні диференціальних рівнянь потрібна точність обчислень, то краще використовувати метод Рунге-Кутта, якщо ж досить приблизною точності, то можна скористатися методом Ейлера. За рівнем складності написання тексту завдання однакові. br/>
6. Ряди Фур'є
Теоретичні відомості
Ряд Фур'є є окремим випадком функціональних рядів. Функціональним рядом називається вираз виду
В
де U 1 (x), U 2 (x), ... , U k (x), ... - Функції, що залежать від однієї змінної х або від декількох змінних (тоді через х позначають точку в просторі: х = (х 1 , ..., x n )).
Текст завдання
const
ee = 1e-3;
a = 0; = 3; = ba; = 20; = 1e-3; k: integer;: text;, t, dt, st, Ampl, phi, i: real;, bk : array [1 .. n] of real; f (t: real): real; (t> = 0) and (t <1) then f: = t; (t> = 1) and (t <2) then f: = 1; (t> = 2) then f: = 6-2 * t;; si (c, k: integer): real; t, dt, e, ss, s: real; z: integer; : = (ba)/50;: = s;: = dt/2; c of
: s: = f (a) + f (b);
: s: = f (a) * cos (2 * Pi * k * a/period) + f (b) * cos (2 * Pi * k * b/period); p>
: s: = f (a) * sin (2 * Pi * k * a/period) + f (b) * sin (2 * Pi * k * b/period); p>
: s: = sqr (f (a)) + sqr (f (b));;: = a + dt;: = -1; t
: s: = s + f (t) * (3 + z);
: s: = s + f (t) * cos (2 * Pi * k * t/period) * (3 + z);
: s: = s + f (t) * sin (2 * Pi * k * t/period) * (3 + z);
: s: = s + sqr (f (t)) * (3 + z);;: ...