Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
РОЗРАХУНКОВА РОБОТА №1
З дисципліни : Алгоритмізація і програмування.
Визначення зміни в часі температури металевої заготовки при нагріванні в печі.
Варіант №2
Виконав :
студент групи АВ-2
Перевірив :
Львів – 2008
Завдання : Зміна в часі температури металевої заготовки при нагріванні в печі описується наступною залежністю
де а – початкова температура печі і заготовки; b – температура печі через годину. При різниці температур Т заготовки і печі метал нагрівається із швидкістю k*T градусів за хвилину, k – коефіцієнт пропорційності.
Визначити : за який час t (за скільки хвилин) температура заготовки досягне 150 °С, коли а=50 °С, b=500 °С, k=0,85 хв.‾ ¹; (14,5098 хв.)
Розв’язання
Зведемо задане рівняння до вигляду :
Виділимо корінь (знайдемо інтервал, в якому знаходиться корінь) заданого рівняння шляхом : табулювання f(t);
Програма табулювання функції мовою С
Результати табулювання функції мовою С
Табулювання функції в середовищі MATLAB
Графік табулювання функції f(t) в середовищі MATLAB
Висновок : в результаті табулювання функції і побудови графіка видно, що корінь нелінійного рівняння знаходиться на інтервалі [12;16 ].
1) Метод половинного ділення
Блок-схема алгоритму
SHAPE \* MERGEFORMAT ПОЧАТОК
f(a)*f(t0)>0
a=t0
b=t0
ні
так
|a-b|>ε
так
ні
Друк t0, ε, k
КІНЕЦЬ
ВВІД а, b, ε
Програма мовою С
Результат виконання програми
Наближення кореня в середовищі MATLAB
Результат виконання програми
2) Mетод простих ітерацій
У цьому методі рівняння f(t) замінюється еквівалентним йому рівнянням t=φ(t).
Q = 7.4999 → k = 4
q = 0.87499
Блок-схема алгоритму
SHAPE \* MERGEFORMAT ПОЧАТОК
t=t0–f(t0)/4
|t-t0|>ε*(1-q)/q
i=i+1
t0=t
так
ні
Друк t0, ε, k
КІНЕЦЬ
ВВІД t0, ε, q
Програма мовою С
Результат виконання програми
Наближення кореня в середовищі MATLAB
Результат виконання програми
3) Метод хорд
Із запису функцій f'(t) та f''(t) видно що обидві ці функції завжди більші за нуль, отже x0=a a xф=b.
Блок-схема алгоритму
ПОЧАТОК
ВВІД t0, tf ,ε
так
ні
|t-t0|>ε*m/(M-m)
Друк t0, ε, k
t0=t
КІНЕЦЬ
i=i+1
Програма мовою С
Результат виконання програми
Наближення кореня в середовищі MATLAB
Результат виконання програми
4) Метод дотичних (Метод Ньютона)
Вибираємо початкове наближення так, щоб виконувалась умова f(t0)* f''(t0)>0.
t0=16;
Блок-схема алгоритму
SHAPE \* MERGEFORMAT ПОЧАТОК
t=t0–f(t0)/f'(t0)
i=i+1
t0=t
так
ні
Друк t0, ε, k
КІНЕЦЬ
ВВІД t0, ε, M, m
Програма мовою С
Результат виконання програми
Наближення кореня в середовищі MATLAB
Результат виконання програми
5) Комбінований метод
Блок-схема алгоритму
SHAPE \* MERGEFORMAT ПОЧАТОК
z=z0-f(z0)/fs(z0)
|z-r|> ε
r0=r
z0=z
так
ні
Друк t
КІНЕЦЬ
ВВІД r0, z0, ε
r=r0-f(r)*(z-r0)/(f(z)-f(r0))
t=(r+z)/2
Програма мовою С
Результат виконання програми
Наближення кореня в середовищі MATLAB
Результат виконання програми
Порівняльна таблиця результатів