
sss / Задание для МП_11,17,П_12 / учет успеваемости_к_20_02_12 / МП-11_МА / 18_semenkin_01_2
.docxПрактикум 1. Семёнкин Денис.
Упражнение
3. Создать М-функции, вычисляющие
значения интегральных сумм на отрезке
с
равномерным разбиениемна
отрезков для точек, взятых на:
а) левом
б) правом конце элемента разбиения;
с*)
делящих их в произвольном заданном
отношении
а)
function [sum] = darbu(f,n,a,b)
sh=(b-a)/n;
sum=0;
for i=0:n-1
sum=sum+sh*feval(f,(a+i*sh));
end
end
>> darbu(@(x) x+1,5,0,5)
ans =
15
>> darbu(@(x) x+1,10,0,5)
ans =
16.2500
>> darbu(@(x) x+1,100,0,5)
ans =
17.3750
>> darbu(@(x) x+1,1000,0,5)
б)
function [sum] = darbu(f,n,a,b)
sh=(b-a)/n;
sum=0;
for i=1:n
sum=sum+sh*feval(f,(a+i*sh));
end
end
>> darbu(@(x) x+1,5,0,5)
ans =
20
>> darbu(@(x) x+1,10,0,5)
ans =
18.7500
>> darbu(@(x) x+1,100,0,5)
ans =
17.6250
>> darbu(@(x) x+1,1000,0,5)
ans =
17.5125
Упражнение
4. Создать М-функции, вычисляющие
значения верхних и нижних сумм Дарбу
на отрезке
с равномерным разбиением на
отрезков. Проверить работу М-функции
для функции
на отрезке
при разбиении его на два равных элемента.
function darbuniz(f,n,a,b)
syms x;
in=0;
for i=0:1:n-1
[xmin,ymin]=fminbnd(f,a+(b-a)/n*i,a+(b-a)/n*(i+1));
in=in+ymin*(b-a)/n;
end
in
end
>> darbuniz(@(x)x,2,1,2)
in =
1.2501
function darbuniz(f,n,a,b)
syms x;
in=0;
for i=0:1:n-1
[xmin,ymin]=fminbnd(f,a+(b-a)/n*i,a+(b-a)/n*(i+1));
in=in+ymin*(b-a)/n;
end
-in
end
>> darbuniz(@(x)-x,2,1,2)
ans =
1.7499