exponenta event banner

Введение в интерактивный редактор

Этот пример представляет собой введение в Live Editor. В интерактивном редакторе можно создавать сценарии, отображающие выходные данные вместе с кодом, который их создал. Добавление форматированного текста, уравнений, изображений и гиперссылок для улучшения повествования и совместного использования сценария в реальном времени с другими пользователями в качестве интерактивного документа.

Создайте сценарий в интерактивном редакторе. Чтобы создать сценарий в реальном времени, на вкладке Главная щелкните Создать сценарий в реальном времени.

Добавление данных переписи

Разделите сценарий на разделы. Разделы могут содержать текст, код и выходные данные. Код MATLAB отображается с серым фоном, а выходные данные - с белым. Чтобы создать новый раздел, перейдите на вкладку «Интерактивный редактор» и нажмите кнопку «Разрыв раздела».

Добавьте данные переписи населения США за 1900-2000 годы.

years = (1900:10:2000);                                  % Time interval
pop = [75.995 91.972 105.711 123.203 131.669 ...         % Population Data
   150.697 179.323 213.212 228.505 250.633 265.422]
pop = 1×11

   75.9950   91.9720  105.7110  123.2030  131.6690  150.6970  179.3230  213.2120  228.5050  250.6330  265.4220

Визуализация изменений населения с течением времени

Секции могут выполняться независимо. Чтобы запустить код в разделе, перейдите на вкладку Live Editor и нажмите кнопку Run Section. Можно также щелкнуть синюю полосу, которая появляется при перемещении мыши влево от раздела. При выполнении раздела выходные данные и рисунки отображаются вместе с кодом, который их создал.

Постройте график данных о населении по отношению к году.

plot(years,pop,'bo');                                    % Plot the population data
axis([1900 2020 0 400]);
title('Population of the U.S. 1900-2000');
ylabel('Millions');
xlabel('Year')
ylim([50 300])

Figure contains an axes. The axes with title Population of the U.S. 1900-2000 contains an object of type line.

Можем ли мы предсказать население США в 2010 году?

Подбор данных

Добавьте в текст вспомогательную информацию, включая уравнения, изображения и гиперссылки.

Попробуем подобрать данные с помощью полиномов. Мы будем использовать MATLAB polyfit функция для получения коэффициентов.

Уравнения подгонки:

y = ax + blineary = ax2 + bx + cquadraticy = ax3 + bx2 + cx + d.cubic

x = (years-1900)/50;
coef1 = polyfit(x,pop,1) 
coef1 = 1×2

   98.9924   66.1296

coef2 = polyfit(x,pop,2)
coef2 = 1×3

   15.1014   68.7896   75.1904

coef3 = polyfit(x,pop,3)
coef3 = 1×4

  -17.1908   66.6739   29.4569   80.1414

Печать кривых

Создание разделов с любым количеством текстовых и кодовых строк.

Мы можем построить график линейных, квадратичных и кубических кривых, соответствующих данным. Мы будем использовать polyval функция для вычисления аппроксимированных многочленов в точках в x.

pred1 = polyval(coef1,x);
pred2 = polyval(coef2,x);
pred3 = polyval(coef3,x);
[pred1; pred2; pred3]
ans = 3×11

   66.1296   85.9281  105.7266  125.5250  145.3235  165.1220  184.9205  204.7190  224.5174  244.3159  264.1144
   75.1904   89.5524  105.1225  121.9007  139.8870  159.0814  179.4840  201.0946  223.9134  247.9403  273.1753
   80.1414   88.5622  101.4918  118.1050  137.5766  159.0814  181.7944  204.8904  227.5441  248.9305  268.2243

Теперь давайте построим график прогнозируемых значений для каждого полинома.

hold on
plot(years,pred1)
plot(years,pred2)
plot(years,pred3)
ylim([50 300])
legend({'Data' 'Linear' 'Quadratic' 'Cubic'},'Location', 'NorthWest')
hold off

Figure contains an axes. The axes with title Population of the U.S. 1900-2000 contains 4 objects of type line. These objects represent Data, Linear, Quadratic, Cubic.

Предсказание численности населения

Вы можете поделиться сценарием в реальном времени с другими пользователями MATLAB, чтобы они могли воспроизвести результаты. Результаты также можно опубликовать в формате PDF, Microsoft ® Word или HTML. Добавьте элементы управления в интерактивные сценарии, чтобы показать пользователям, как важные параметры влияют на анализ. Чтобы добавить элементы управления, перейдите на вкладку «Интерактивный редактор», нажмите кнопку «Управление» и выберите один из доступных параметров.

Теперь мы можем рассчитать прогнозируемое население данного года, используя наши три уравнения.

year = 2018;
xyear = (year-1900)/50;
pred1 = polyval(coef1,xyear);
pred2 = polyval(coef2,xyear);
pred3 = polyval(coef3,xyear);
[pred1 pred2 pred3]
ans = 1×3

  299.7517  321.6427  295.0462

Например, в 2010 году линейные и кубические подгонки предсказывают сходные значения около 284 миллионов человек, в то время как квадратичная подгонка предсказывает гораздо более высокое значение около 300 миллионов человек.

Связанные темы