Встроенная функция intg (a,b,f) в программе SciLab позволяет вычислять определенные интегралы, при условии, что подынтегральная функция на заданном интервале не имеет разрывов. В программе SciLab набирать натуральный логарифм lnx как log(x).
Табл.7.2
Листинг программы
| // Функция, написанная на языке Scilab function y= f (x),y=sqrt(x)*exp(-x),endfunction I=intg(0.1,1.1, f) |
Решение:
1. Имеем a=1.2, b=2.2,
, n=10.
Тогда
.
Вычислим значение функции по формуле
:











По формуле прямоугольников с недостатком получаем:


По формуле прямоугольников с избытком получаем:


Применяя формулу трапеций, получим



Выполним проверку расчета с помощью программы. Для этого:
- определяем интегрируемую функцию:
// интегрируемая функция
function y = f (x)
y =2.6*(x. ^2).*log(x)
endfunction
- определяем отрезок и шаг интегрирования:
a=1.2; b=2.2; // отрезок интегрирования
n=10;
h=(b-a)/n;
- вычисляем таблицу значений функции с заданным шагом:
// таблица значений х
x=a:h:b;
// таблица значений y
y=f(X);
- вычисляем значение интеграла по формулам прямоугольников (с недостатком и избытком, трапеций и с помощью встроенной функции intg:
// формула прямоугольников с недостатком
I1=h*sum(y(1:n))
// формула прямоугольников с избытком
I2=h*sum(y(2:n+1))
// формула трапеций
I3=h*((y(1)+y(n+1))/2+sum(y(2:n)))
// встроенная функция intg
I4=intg(a,b,f)
В результате выполнения программы получим:


2. Сравним точность полученных результатов. Для этого найдем точное значение интеграла:




и вычислим относительную погрешность значений, полученных численными методами. Используем для этого программу
// оценка погрешности
// точное значение интеграла
I0=2.6*(b^3*(3*log(b)-1)-a^3*(3*log(a)-1))/9
// отн. погрешности полученных значений
d1=abs(I1-I0)*100/I0
d2=abs(I2-I0)*100/I0
d3=abs(I3-I0)*100/I0
d4=abs(I4-I0)*100/I0
В результате выполнения программы получаем:

- для метода прямоугольников с недостатком:

- для метода прямоугольников с избытком:

- для метода трапеций:

- для встроенной функции intg:

Заметим, что значение, полученное с помощью встроенной функции intg, во всех знаках совпадает с точным аналитическим значением интеграла.






