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

ПРАКТИКУМ 1.Лихоузов Кирилл

ДЗ

Упражнение 3.

интегральная сумма слева

function [sum]=intsum(f,a,b,n)

sum=0;

fori=1:n

sum=sum+(feval(f,(a+(b*((i-1)/n)))))*((i/n)-((i-1)/n));

end

end

суммы

прав

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

лев

function [sum]=darbuniz(f,n,a,b)

sh=(b-a)/n;

sum=0;

for i=1:n

sum=sum+sh*feval(f,(a+i*sh));

end

end

К понедельнику

интегральная сумма слева

>> intsum(@(x) x^2,0,1,10)

ans =

0.2850

>> intsum(@(x) x^2,0,1,100)

ans =

0.3283

>> intsum(@(x) x^2,0,1,1000)

ans =

0.3328

>> intsum(@(x) x^2,0,1,5)

ans =

0.2400

>>

> intsum(@(x) x+1,0,5,5)

ans =

3

>> intsum(@(x) x+1,0,5,10)

ans =

3.2500

>> intsum(@(x) x+1,0,5,100)

ans =

3.4750

>> intsum(@(x) x+1,0,5,1000)

ans =

3.4975

>>

суммы

>> darbu(@(x) x-1,5,0,5)

ans =

5

>> darbu(@(x) x-1,10,0,5)

ans =

6.2500

>> darbu(@(x) x-1,100,0,5)

ans =

7.3750

>> darbu(@(x) x-1,1000,0,5)

ans =

7.4875

>>

для x^2

>> darbu(@(x) x^2,5,0,1)

ans =

0.2400

>> darbu(@(x) x^2,10,0,1)

ans =

0.2850

>> darbu(@(x) x^2,100,0,1)

ans =

0.3284

>> darbu(@(x) x^2,1000,0,1)

ans =

0.3328

>>

нижняя

>> darbuniz(@(x) x-1,5,0,5)

ans =

10

>> darbuniz(@(x) x-1,10,0,5)

ans =

8.7500

>> darbuniz(@(x) x-1,100,0,5)

ans =

7.6250

>> darbuniz(@(x) x-1,1000,0,5)

ans =

7.5125

>>

для x^2

>> darbuniz(@(x) x^2,5,0,1)

ans =

0.4400

>> darbuniz(@(x) x^2,10,0,1)

ans =

0.3850

>> darbuniz(@(x) x^2,100,0,1)

ans =

0.3384

>> darbuniz(@(x) x^2,1000,0,1)

ans =

0.3338

>>

Упражнение 4. Создать М-функции, вычисляющие значения верхних и нижних сумм Дарбу на отрезке с равномерным разбиением на отрезков. Проверить работу М-функции для функции на отрезке при разбиении его на два равных элемента.

суммы дарбу

верхняя

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

нижняя

function darbyniz(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

end

>> darbuniz(@(x) x,2,1,2)

ans =

1.7500

>> darbu(@(x) x,2,1,2)

ans =

1.2500

>>

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