exponenta event banner

Интерактивное исчисление в редакторе Live Editor

В этом примере показано, как можно добавить интерактивные элементы управления для решения задачи исчисления в живом сценарии.

Добавление интерактивных элементов управления в сценарий

Для изменения значений переменных в живом сценарии можно использовать интерактивный элемент управления. Чтобы добавить числовой ползунок, перейдите на вкладку «Вставка», нажмите кнопку «Управление» и выберите «Числовой ползунок». Дополнительные сведения см. в разделе Добавление интерактивных элементов управления в интерактивный сценарий.

Инициализация переменных и функции

Вычислить интеграл

∫0xMaxcx2dx

используя аппроксимацию суммы Римана.

Сумма Римана - численная аппроксимация аналитического интегрирования конечной суммой прямоугольных областей. Используйте интерактивные ползунки, чтобы задать верхнюю границу интеграла, количество прямоугольников и постоянный коэффициент функции.

syms x;
xMax = 4;
numRectangles = 30;
c = 2.5;
f(x) = c*x^2;
yMax = double(f(xMax));

Визуализация площади под кривой с использованием сумм Римана

Постройте график интеграла f.

fplot(f);
xlim([0 xMax]); ylim([0 yMax]);
legend({}, 'Location', 'north', 'FontSize', 20);
title('Riemann Sum', 'FontSize', 20);

Вычислите прямоугольные области, аппроксимирующие площадь под кривой интеграла. Постройте график прямоугольников.

width = xMax/numRectangles;
sum = 0;
for i = 0:numRectangles-1
    xval = i*width;
    height = double(f(xval));
    rectangle('Position', [xval 0 width height], 'EdgeColor', 'r');
    sum = sum + width*height;
end
text(xMax/10, yMax/3, ['Area = ' num2str(sum)], 'FontSize', 20);

Figure contains an axes. The axes with title Riemann Sum contains 32 objects of type functionline, rectangle, text.

Аналитическое вычисление интеграла

Вычислите интеграл аналитически. Использовать vpa численно аппроксимировать точный символический результат до 32 значащих цифр.

fInt = int(f,0,xMax)
fInt = 

1603sym(160/3)

vpa(fInt)
ans = 53.333333333333333333333333333333vpa('53.333333333333333333333333333333')