- •3.Написати процедуру метода Гауса по блок-схемі.
- •2.Розкладання періодичної функції в ряд Фур'є (теорія)
- •3.Написати программу методу половинного ділення за блок-схемою:
- •4.Програма множення матриці на вектор.
- •3.Програма табулювання функції із записом результатів у масив і виведення на текстовий екран
- •4.Знаходження визначеного інтеграла методом Сімпсона
- •3.Програма табулювання функції із записом результатів у масив і виведення на текстовий екран.
- •1.Оператори циклів з відомою кількістю повторень. Ітераційні цикли. Процедури дострокового завершення циклу.
- •3.Запрограмувати метод крамера
- •4.Написати функцію побудови і табулювання ряду Фур’є(за блок схемою)
- •4. Інтеграли з заданою точністю.
- •Функції
- •3.Програма розв’язання квадратного рів-ня (консольна)
- •4.Програма Методу половинного ділення
- •3.Програма Методу половинного ділення
- •4 Метод Ньютона (Консольний)
- •1.Масив (Array) – це обмежена, впорядкована сукупність однотипних пронумерованих
- •4.Програма переглядач графічних файлів
- •1.Метод Ньютона для розвязання нелінійних рівнянь.
- •4. Програма розв’язання квадратного рівняння.
- •1.Компонента tChart та приклад.
- •2.Вказівники
- •3. Програма множення матриці на вектор.
- •4.Метод Ньютона(вік)
- •3.Програма трикутник
- •3.Програма знаходження мінімального і максимального елемента матриці!!!!
- •4.«Елементи_управління»
- •3.Метод Ньютона
- •4.Метод Монте Карло
- •1.Алгоритми
- •3.Фурьє Фурьє
- •3.Запрограмувати метод Крамера (Delphi).
- •2.Функції вводу/виводу мови с
- •4.Метод прямокутників(вкладений файл)
- •4.Табулювання функції із виведенням результатів на екран
- •3.Множення матриці на вектор Делфі
- •3.Трикутник
- •4.Функція методу гАуса
- •1 Метод Крамера та його недоліки
- •3 Програма знаходження мінімального максимального елемента матриці
- •4 Метод половинного ділення
2.Розкладання періодичної функції в ряд Фур'є (теорія)
Ряд
Фур’є дає змогу представити періодичний
процес
сумою гармонічних коливань, частоти
яких є кратні основній частоті
.
(1)
де
–
кругова частота.
У фізиці коливань і хвиль для означення простих рухів, поряд із терміном гармоніка, використовують термін мода .
Для
визначення коефіцієнтів ряду помножимо
вираз (1) на
(
–
ціле число) і проінтегруємо його на
відрізку [0, TP]. Враховуючи ортогональність
системи функцій {
},
одержимо:
(2)
(3)
Помножимо
(1) на
і проінтегруємо добуток на відрізку
[0, TP]. Одержимо:
,
де k = 1,2,3... (4)
Ряд (7.2.1) можна записати по іншому:
, (5)
де
, (6)
. (7)
Набори
величин {
}
i {
}
залежать від
.
Їх називають, відповідно, амплітудним
і фазовим спектром функції
.
Графіки
залежностей
i
від
є дискретними. Їх зображають на площині
відрізками ліній, які розташовані
перпендикулярно до осі абсцис у точках,
кратних
.
Наприклад, для функції
, (8)
графік якої зображено на рис. 1, амплітудний спектр набуде вигляду, як на рис. 2.
Рис. 1. Графік функції Рис. 2. Амплітудний спектр функції
Примітки.
1. Якщо значення періоду ТР збільшувати,
то частота
зменшується і густина ліній зростає.
При
дискретний спектр стає неперервним і
ряд Фур’є переходить в інтеграл Фур’є.
2. У спектрі функції (8) відсутні парні гармоніки (їхні амплітуди дорівнюють 0, оскільки функція (8) є парною).
Виходячи
з поняття визначеного інтеграла і
властивості парності чи непарності
функції, можна довести, що для парних
функцій
ряд (1) містить тільки косинусні гармоніки,
а для непарних
– тільки синусні.
Інтеграли
(2), (3) і (4) обчислимо, застосовуючи формулу
правих прямокутників. Позначимо через
– крок дискретизації функції
на періоді
.
Дискретизацію виконаємо шляхом
табулювання заданої функції. Тоді в
масив
будуть записані дискретні значення
аргументу
(тобто
),
а в масив
– дискретні значення функції
.
Враховуючи сказане, із виразу (2) одержимо:
. (9)
Відповідно
; (10)
. (11)
Частинна
сума
членів ряду (1) (гармонік) набуде вигляду:
,
. (12)
3.Написати программу методу половинного ділення за блок-схемою:
Рис. 2.21. Блок-схема алгоритму МПД
Program XIO_MPD;{Навчальна програма (див. рис. 2.21)}
Uses Crt ; {Пўдключення стандартного модуля Crt }
Label 1 ;
Var Eps,a,b,c,Fa,Fb,Fc : Real;{Eps - Точнiсть обчислень
a b - Межi локалiзацi∙ кореня;
с - Середина ўнтервалу [a, b];
Fa Fb Fc - Значення функцi∙ в точках a b c}
Lich : Integer; { Lich - Лiчильник повторень}
Function f(x : Real) : Real ;
Begin
f := x * x - 4 { Рўвняння x*x-4 = 0 }
End;
BEGIN {Початок головно∙ програми }
Lich := 0; {Занулення лўчильника спроб вводу даних}
ClrScr; { Очищення екрана}
Repeat {Повторення введення значень a b Eps, доки не виконаються умови,
якў задано у виразў Until (див. нижче)}
Write ('Введiть коректнi межi a b i точнiсть Eps=');
Readln (a, b, Eps) ; { Введення з клавўатури a b Eps}
Fa := f(a) ;
Fb := f(b) ;
If Abs (Fa) <= Eps then { Чи лўва межа ўнтервалу а - корўнь?}
Begin
c := a ;
Goto 1
End else
If Abs (Fb) <= Eps then { Чи права межа ўнтервалу b - корўнь?}
Begin
c := b ;
Goto 1
End ;
If Lich > 2 then { Чи вичерпана максимальна кўлькўсть (2)
спроб введення початкових умов?}
Begin
Writeln ('Протабулюйте функцiю. Good Bye !');
Readln ;
Exit { Закўнчення роботи ў вихўд з програми }
End ;
Lich := Lich + 1; { Збўльшення лўчильника спроб введення даних}
Until ( b > a ) and ( Fa * Fb < 0 ) and ( Eps > 0 ) ;
Lich := 0; { Занулення лўчильника подўлу ўнтервалу [a, b] навпўл }
While (b-a) > Eps do {Цикл подўлу ўнтервалу [a,b] пополам}
Begin
c := a + 0.5*(b - a) ;
Lich := Lich + 1; {Збўльшення лўчильника подўлу ўнтервалу [a,b] }
Fc := f(c);
If Abs (Fc) < Eps then Goto 1 ; {Чи середина ўнтервалу c - корўнь ?}
If Fa * Fc > 0 then
Begin
Fa := Fc ; a := c
End else
b:=c
End;
c := a + 0.5 * (b - a) ;
1: Writeln ('Знайдено коpiнь х=', c:10:3 ,' за N=', Lich ,' подiлiв') ;
Writeln ('Tочнўсть Ерs=',Eps);
Repeat Until KeyPressed {Затримання показу вўкна Output}
END.
