
— Обчислення певного інтеграла методами трапецій та середніх прямокутників

Завантажити реферат: Обчислення певного інтеграла методами трапецій та середніх прямокутників | |||
Вступ, математичне обґрунтування та аналіз завдання
Відомо, що певний інтеграл функції типу
чисельно є площа криволінійної трапеції, обмеженої кривими x = 0, y = a, y = b і y =
(Рис. 1).
Існують два методи обчислення цієї площі або певного інтеграла: метод трапецій (рис. 2) та метод середніх прямокутників.
,
Рис. 1. Криволінійна трапеція
,
Рис. 2. Метод трапецій.
,
Рис. 3. Метод середніх прямокутників.
За методами трапецій і середніх прямокутників інтеграл дорівнює сумі площ прямокутних трапецій, де основа трапеції — яка-небудь мала величина (точність), сума площ прямокутників, де основа прямокутника — яка-небудь мала величина (точність), а висота визначається за точкою перетину верхнього основи прямокутника, яке графік функції повинен перетинати у середині. Відповідно, отримуємо формули площ.
Для методу трапецій:
,
Для методу середніх прямокутників:
,
Відповідно до цих формул і складемо алгоритм.
Алгоритм
,
Лістинг програми
Програма написана Tubro Pascal 6.0 для MS-DOS. Нижче наведено її лістинг:
program Integral;
uses
Crt, Dos;
var
dx, x1, x2, e, i: real;
функція Fx(x:real):real;
begin
Fx:=2+x; {У цьому місці запишіть функцію для обчислення інтеграла.}
end;
procedure CountViaBar;
var
xx1,xx2:real;
c:longint;
begin
writeln(‘———————————————— -‘);
writeln(‘—>Метод середніх прямокутників.’);
writeln(‘Всього ітерацій:’,round(abs(x2-x1)/e));
i:=0;
for c:=1 to round(abs(x2-x1)/e) do begin
write(‘Ітерація’, c,chr(13));
xx1:=Fx(x1+c*e);
xx2:=Fx(x1+c*e+e);
i:=i+abs(xx1+xx2)/2*e;
end;
writeln(‘———————————————— -‘);
writeln(‘Інтеграл=’,i);
end;
procedure CountViaTrap;
var
xx1,xx2,xx3:real;
c:longint;
begin
writeln(‘———————————————— -‘);
writeln(‘—>Метод трапецій.’);
writeln(‘Всього ітерацій:’,round(abs(x2-x1)/e));
i:=0;
for c:=1 to round(abs(x2-x1)/e) do begin
write(‘Ітерація’, c,chr(13));
xx1:=Fx(x1+c*e);
xx2:=Fx(x1+c*e+e);
якщо xx2>xx1 then xx3:=xx1 else xx3:=xx2;
i:=i+abs(xx2-xx1)*e+abs(xx3)*e;
end;
writeln(‘———————————————— -‘);
writeln(‘Інтеграл=’,i);
end;
begin
writeln(‘———————————————— -‘);
writeln(‘-=Програма обчислення певного інтеграла=-‘);
writeln(‘Введіть вихідні значення:’);
write(‘Початкове значення x(x1)=’);Readln(x1);
write(‘Кінцеве значення x(x2)=’);Readln(x2);
write(‘Точність обчислення (e)=’);Readln(e);
CountViaBar;
CountViaTrap;
writeln(‘———————————————— -‘);
writeln(‘Дякую за використання програми ;^)’);
end
Вихідні дані. Результати розрахунків та аналіз
Нижче наведено результат роботи написаної та відкомпільованої програми:
————————————————
-=Програма обчислення певного інтеграла=-
Введіть вихідні значення:
Початкове значення x(x1)=0
Кінцеве значення x (x2) = 10
Точність обчислення (e) = 0.01
————————————————
—>Метод середніх прямокутників
Всього ітерацій: 1000
————————————————
Інтеграл = 7.0100000000E+01
————————————————
—>Метод трапецій
Всього ітерацій: 1000
————————————————
Інтеграл = 7.0150000001E+01
————————————————
Дякуємо за використання програми ;^)
Розрахунок перевірявся для функції , А певний інтеграл брався від 0 до 10, точність 0,01
В результаті розрахунків отримуємо:
Інтеграл:
.
Методом трапецій:
.
Методом середніх прямокутників:
Також був проведений розрахунок з точністю 0,1:
Інтеграл:
.
Методом трапецій:
.
Методом середніх прямокутників:
Висновок та висновки
Вочевидь, що з обчисленні певних інтегралів методами трапецій і середніх прямокутників ми маємо не точне значення, лише наближене.
Чим нижче задається чисельне значення точності обчислень (основа трапеції або прямокутника, залежно від методу), тим точніше результат машини. У цьому число ітерацій становить обернено пропорційне від чисельного значення точності. Отже, для більшої точності необхідно більше ітерацій, що зумовлює зростання витрат часу обчислення інтеграла на комп’ютері обернено пропорційно точності обчислення.
Використання для обчислення одночасно двох методів (трапецій та середніх прямокутників) дозволило досліджувати залежність точності обчислень при застосуванні обох методів.
Отже, при зниженні чисельного значення точності обчислень результати розрахунків за обома методами прагнуть один до одного та точного результату
бібліографічний список
- Вольвачов А. Н., Крісевич В. С. Програмування мовою Паскаль для ПЕОМ ЄС. Мінськ, 1989 р.
- Зуєв Є. А. Мова програмування Turbo Pascal. М., 1992 р.
- Скляров В. А. Знайомтеся: Паскаль. М., 1988
© Реферат плюс

