Политех в Сети

Сайт для Учебы

Решение интегралов численными методами

Рейтинг пользователей: / 0
ХудшийЛучший 

Цель: используя численные методы решить заданный условием интеграл. Вывести графически нужную зависимость (Р[Т]);

Условие задачи:

«Дневная» спектральная чувствительность η(λ) человеческого глаза может быть аппрок-

Симирована выражением:

(1)

Где λ 0 = 558 нм. Построить график зависимости полной мощности

(2)

Регистрируемой глазом, как функцию температуры нагретого тела.

(3)

Анализ условия:

Решение: Путем подстановки (1) и (3) в (2) получаем интеграл вида:

Упростим полученное выражение:

Реуе:= (Вт)

Где: х= λ

L0= λ0

Выбор численного метода решения и анализ его сходимости:

Для решения задачи я использовал метод Гаусса, используя для расчетов формулу Гаусса-Лаггера:

График искомой зависимости (проверка с помощью программы Matematica):

Обоснование выбора метода:

Формула Гаусса-Лаггера хороша тем, что с ее помощью можно решать неопределенные интегралы с пределами интегрирования от 0 до ∞. Заметим, что (весовая функция). Значения множителя и значения узлов xk возьмем из следующей таблицы:

N(количество узловых точек)=5

0,26356

1,41340

3,59642

7,08581

12,64080

Мой же интеграл как раз имеет такие границы интегрирования (0, ∞) и явно выраженную весовую функцию е-х

Анализ сходимости метода:

Формула Гаусса-Лаггера позволяет вычислять несобственные интегралы от 0 до + бесконечности. При использовании этой формулы необходимо преобразовать подынтегральное выражение, выделив весовую функцию в явном виде.

Выбор той или иной квадратурной формулы определяется видом подынтегральной функции и пределами интегрирования. Для несобственных интегралов правильный выбор во многом зависит от поведения функции при . Необходимо стремиться к тому, чтобы функция f(x) была, по возможности, более гладкой.

Алгоритм решения уравнения

Описание алгоритма:

Общий вид квадратурной формулы для вычисления определенных интегралов:

(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.

Графически было определено, что с ростом температуры растет и мощность (физический смысл решенного интеграла).

Было установлено, что для корректного решения данного интеграла требовалось применить метод Гаусса (формула Гаусса-Лаггера).