Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти та науки України
Національний університет «Львівська політехніка»
Інститут телекомунікацій, радіоелектроніки та електронної техніки
Кафедра теоретичної радіотехніки та радіовимірювань
Звіт з лабораторної роботи №8
Тема «Табулювання функції, заданої рядом фур’є»
з дисципліни «Інформатика та обчислювальна техніка»
Мета роботи - засвоїти методику та виробити практичні навики застосування вкладених циклів.
Варіант 10
ЗАВДАННЯ.
Протабулювати функцію y=f(t) для М значень аргумента на інтервалі [a,b]. Функція задана аналітично та у вигляді ряду Фур’є:
.
ВИКОНАННЯ ЗАВДАННЯ.
Варіанти завдань до лабораторної роботи подано. При розрахунку врахувати N перших членів ряду. Не вказані в таблиці коефіцієнти ak, bk дорівнюють нулеві.
№
f(t)
ak, bk
a
b
M
N
10
t((((t)(sign(t)
bk=
(парні k) (непарні k)
-((2
((2
20
8
ПОСТАНОВКА ЗАДАЧІ.
Необхідно перетворити функцію s(t) з урахуванням конкретних значень ak і bk, щоб привести цю функцію до зручного для обчислень вигляду. При описі виводу, чи в ескізі таблиці, передбачити виведення для кожного значення аргументу значень функції f(t) та s(t). Значення М для всіх варіантів обрані таким чином, що не виникає необхідності в поекранному виведенні даних.
РОЗРОБКА АЛГОРИТМУ
Оскільки кількість членів ряду та точок табулювання є заданою, то для програмування обчислень зручно використати вкладені цикли з параметрами: внутрішній для обчислення суми ряду і зовнішній для зміни аргументу в заданих межах та виведення аргументу і результатів. Для обчислення коефіцієнтів ak і bk, f(t) використовують підпрограми-функції.
ТЕКСТ ПРОГРАМИ.
Program L8;
uses Crt;
const
N=8;M=20;a=-pi/2;b=pi/2;
var
Ak:{array [1..N] of }real;
Bk:{array [1..N] of }real;
t,ft{y},d,s:real;
K:byte;
function sign(x:real):integer;
begin
if x<0 then sign:=-1 else sign:=1
end;
Begin
ak:=0;
d:=(abs(a)+abs(b))/m;
t:= a;
while t<=b do
begin
s:=0;
for k:=1 to n do
begin
if {k mod 2<>0} odd(k) then bk:=8/(pi/k/k/k) else bk:=0;
s:= s+(ak*cos(k*t)+bk*sin(k*t));
end;
ft:=t*(pi-t)*sign(t);
t:=t+d;
writeln('t = ',t:5:2,' y = f(t) =',ft:5:2,' s(t) = ',s:10:2)
end;
Readln;
End.
НАЛАГОДЖЕННЯ ТА РЕЗУЛЬТАТИ ТЕСТУВАННЯ.
Висновок: - на лабораторній роботі я засвоїв методику та виробив практичні навики застосування вкладених циклів.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!