Визначення зміни в часі температури металевої заготовки при нагріванні в печі.

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2008
Тип роботи:
Розрахункова робота
Предмет:
Алгоритмізація і програмування
Група:
АВ-1
Варіант:
1

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти та науки України Національний університет «Львівська політехніка»  EMBED Word.Picture.8  РОЗРАХУНКОВА РОБОТА №1 З дисципліни : Алгоритмізація і програмування. Визначення зміни в часі температури металевої заготовки при нагріванні в печі. Варіант №1 Виконав: ст. гр. АВ-1 Перевірив: Львів-2008 р. Завдання : Залежність, якою описують процес випаровування води із вільної поверхні посудини в акритому приміщенні об’ємом V має вигляд: mt=m0-V*q*(1-e-k τ/V) де m0 i mt- відповідно початкова і залишкова маса води в посудині; q- маса водяної пари яку може увібрати 1 м3 повітря приміщення, τ- час. Знйти об’єм приміщення якщо залилося 1а ) 78г. води за час τ =165xв. , m0=80 г. ;q=13.5 г/m3 ; коефіцієнт к=9*10-4 м3/хв Розв’язання Зведемо задане рівняння до вигляду : f(v)=V*q*(1-e-k τ/V)+ mt-m0 підставивши значення q, mt,m0,к, τ, отримаємо: f(v)= V*14*(1-e-0,286/V)-4 Виділимо корінь (знайдемо інтервал, в якому знаходиться корінь) заданого рівняння шляхом табулювання f(t): Програма табулювання функції мовою С Результати табулювання функції в середовищі ТС Програма табулювання функцій f(V) в середовищі MATLAB Результати виконання програми середовищі MATLAB z = 31.287888322744607 Графік табулювання функції f(t) в середовищі MATLAB Рис1. Графік функції y=f(V)  Висновок : в результаті табулювання функції і побудови графіка видно, що корінь нелінійного рівняння знаходиться на інтервалі [31;32 ]. Метод половинного ділення Формула методу: vi=(ai-1+bi-1); vi=ai-1; bi=bi-1 коли f(a)*f(vi)>0; vi=bi-1; ai=ai-1 коли f(a)*fvi)<0 Умова виходу: │ ai - bi │<ε Блок-схема алгоритму  SHAPE \* MERGEFORMAT ПОЧАТОК v0=(a+b)/2 f(a)*f(v0)>0 a=v0 b=v0 ні так |a-b|>ε так ні Друк v0, ε, i КІНЕЦЬ a=31;b=32;i=0; ε=10-6; ε<=10-4 Δε= ε*10 ε=10ε<=10-4  Програма мовою С Результат виконання програми Наближення кореня в середовищі MATLAB Результат виконання програми 2) Mетод простих ітерацій У цьому методі рівняння f(t) замінюється еквівалентним йому рівнянням v=φ(v). φ(v)=v-f(v)/p; |p|>Q/2; Q=max|f’(v)|. [a;b] Умова виходу : |xn-xn+1|<ε*(1-q)/q; q=max|φ’(v)|. [a;b] Умова збіжності: |φ’(v)|<q<1. p =58 q = 0.8275862 Блок-схема алгоритму  SHAPE \* MERGEFORMAT ПОЧАТОК v=v0–f(v0)/780 |v-v0|>ε*(1-q)/q i=i+1 v0=v так ні Друк v0, ε, i КІНЕЦЬ ВВІД v0, q ε=10-6; ε<=10-4 Δε= ε*10 ε=10ε<=10-4  Програма мовою С Результат виконання програми Наближення кореня в середовищі MATLAB Результат виконання програми 3) Метод хорд Умови застосування методу: f’(v), f’(v), f’’(v)- неперервні на [a;b] f’(v)≠0 та f’’(v)≠0 на [a;b]– видно з рис2 та рис3. Формула методу: v=v0-f(v0)*((v0-vf)/(f(v0)-f(vf))); Умова виходу з ітераційного процесу: |v-v0|<ε*m/(M-m), де M=max|f’(v)|= 115, m=min|f’(v)|=49, [a;b] [a;b] Вибір нульового наближення та фіксованої точки: v=(b-a)/2; f(a)*f(v)>0 то v0=a; vf=b; f(a)*f(v)<0 то v0=b; vf=a; Блок-схема алгоритму  SHAPE \* MERGEFORMAT ПОЧАТОК a=31,b=32,M=115,m=49 ε=10-6; ε<=10-4 v=(b-a)/2; і=0 f(a)*f(v)>0 v0=a; vf=b; v0=b; vf=a; v=v0-(f(v0)*(v0-vf))/(f(v0)-f(vf)); |v-v0|>ε*m/(M-m) так ні v0=v Друк v, ε, i Δε= ε*10 ε=10ε<=10-4 КІНЕЦЬ i=i+1 так ні  Програма мовою С Результат виконання програми Наближення кореня в середовищі MATLAB Результат виконання програми 4) Метод дотичних (Метод Ньютона) Вибираємо початкове наближення так, щоб виконувалась умова f(v0)* f''(v0)>0. Умови застосування методу: f’(v), f’(v), f’’(v)- неперервні на [a;b] f’(v)≠0 та f’’(v)≠0 на [a;b]. Формула методу: v=v0-f(v0)/f’(v0); Умова виходу : |v-v0|< √(2*m* ε /M) де M=max|f’’(v)|= 565, m=min|f’(v)|=49, [a;b] [a;b] Вибір нульового наближення: f'(a)*f’’(a)<0 v0=a; f'(a)*f’’(a)<0 v0=b; Блок-схема алгоритму  SHAPE \* MERGEFORMAT ПОЧАТОК v=31,b=32,M=565,m=49 ε=10-6; ε<=10-4 і=0 f'(a)*f’’(a)<0 ні v0=a; v0=b; vf=a; v=v0-f(v0)/fp1(v0); |v-v0|>|v-v0|<√(2*m*ε /M) так v0=v ні Друк v, ε, i Δε= ε*10 ε=10ε<=10-4 КІНЕЦЬ i=i+1 так так  k0=k Програма мовою С #include<stdio.h> #include<conio.h> #include<math.h> float f(float v) {return v*13.5*(1-exp(-9e-4*165/v))-2;} float fp1(float v) { return 13.5.*(1-exp(-9e-4*165/v))+v*13.5.*(-exp(-9e-4*165/v))*(-165/v*v*v);} float fp2(float v) {return exp(-9e-4*165/v))*(-165/v))+13.5*((-exp(-9e-4*165/v))*(-165/v))+v*13.5*((-exp(-9e-4*165/v))*(-165/v).*(-165/v)+(-exp(-9e-4*165/v))*(-1653*2.*v/(v*v*v*v)));} main() {clrscr(); float eps=1e-4,a=31,b=32,v,v0,M=565,m=49; int i; for(eps=0.000001;eps<=0.0001;eps=eps*10) {i=0;if (fp1(a)*fp2(a)<0) v0=a; else v0=b; v=v0-f(v0)/fp1(v0); A: if(fabs(f(v0)/fp1(v0))>sqrt(2*m*eps/M)) {v0=v; v=v0-f(v0)/fp1(v0); i=i+1; goto A;} printf("\n v=%.7f \n i=%d eps=%.6f",v,i,eps); } } getchar(); return 0; } Результат виконання програми Наближення кореня в середовищі MATLAB %Dotuchni clear,clc m=49 M=565 disp(' v i eps'); for eps=[1e-4 1e-5 1e-6] a=31;b=32;i=0; if (bro_fan41 (a)* bro_fan42 (a)<0) v0=a; else v0=b; end; v=v0- bro_fan4 (v0)/ bro_fan41(v0); while abs(v0-v)>sqrt(2*m*eps/M); v0=v; v=v0- bro_fan4 (v0)/ bro_fan41(v0); i=i+1; end; format long; disp( [v i eps]) Результат виконання програми 5) Комбінований метод У комбінованому методі довжину інтервалу скорочують за допомогою формул методів хород і дотичних. Блок-схема алгоритму  SHAPE \* MERGEFORMAT ПОЧАТОК a=a0-f(a0)/f’(a0); |a-b|> ε b0=b a0=a Друк v,i,ε КІНЕЦЬ b=b0-(f(b0)*(b0-a))/(f(b0)-f(a)); v=(a+b)/2 a0=31;b0=32;i=0; ε=10-6; ε<=10-4 i=i+i Δε= ε*10 ε=10ε<=10-4  Програма мовою С Результат виконання програми Наближення кореня в середовищі MATLAB Результат виконання програми Таблиця порівняння результатів Висновок:для даного рівняння кращу збіжність дають Метод дотичних та Комбінований метод Об’єм приміщення в якому стояла посудина з водою є близько 31м3 .
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!