Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Алгоритм решения уравненияОписание алгоритма: Общий вид квадратурной формулы для вычисления определенных интегралов: (1) Потребуем, чтобы (1) была точна для любого алгебраического многочлена степени m. Это эквивалентно требованию, чтобы формула была точна для функций . Отсюда получаем условия (2) которые представляют собой нелинейную систему m+1 уравнений относительно 2n неизвестных . Для того, чтобы число уравнений равнялось числу неизвестных, надо потребовать m=2n-1. Доказано, что полученная таким образом система имеет единственное решение. (Это доказательство, а также методы его нахождения можно найти в учебных пособиях по численным методам). Обратите внимание: при построении квадратурной формулы типа Гаусса неизвестными являются не только весовые множители , но и узлы . Это позволяет построить квадратурную формулу по n точкам, которая точна для любых полиномов степени 2n-1. В моём случае применяется формула Гаусса-Лаггера и квадратура формулы строится по 5-ти точкам.
Блок-схема:
Программный код Delphi: Function Fu(x:double):double; begin Fu:=0.265*(4.774-((x*x)))*exp(-101.4*(1-(x))*(1-(x)))/(exp(h*c/k/T/x/L0)-1); end; procedure TForm1.Button1Click(Sender: TObject); var i:integer; begin Series1.Clear; h:=6.63*intpower(10,-34); c:=3*intpower(10,8); k:=1.38*intpower(10,-23); T:=400; Tk:=1000; L0:=558*intpower(10,-9); a:= 2*h*c*c/L0/L0/L0/L0/L0; While T<Tk do begin T:=T+1; S:=0; for i:=0 to 4 do begin S:=S+Ck[i]*Fu(Xk[i]); end; S:=S*a; Series1.ADDXY (T,S); end; end; end. Полученный график функции (с помощью программы Delphi):
Вывод: В результате проделанной работы были изучены численные методы решения интегралов. Так же были изучены типичные проблемы, возникающие при программировании данных методов в Delphi. Графически было определено, что с ростом температуры растет и мощность (физический смысл решенного интеграла). Было установлено, что для корректного решения данного интеграла требовалось применить метод Гаусса (формула Гаусса-Лаггера).
|