Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
16
Добавлен:
05.06.2015
Размер:
23.56 Кб
Скачать

Практикум 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

Соседние файлы в папке МП-11_МА