exponenta event banner

Ускорение исследовательского программирования с помощью редактора Live Editor

Ниже приведен пример использования Live Editor для ускорения поискового программирования. В этом примере показано, как можно использовать Live Editor для:

  • Просмотрите выходные данные вместе с кодом, который их создал.

  • Разделите программу на разделы, чтобы оценить блоки кода по отдельности.

  • Включить визуализации.

  • Экспериментируйте со значениями параметров с помощью элементов управления.

  • Подведите итоги и поделитесь своими выводами.

Загрузка данных о летальном исходе магистрали

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

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

load fatalities
fatalities(1:10,:)
ans=10×8 table
                            longitude    latitude    deaths    drivers    vehicles    vehicleMiles    alcoholRelated    urbanPopulation
                            _________    ________    ______    _______    ________    ____________    ______________    _______________

    Wyoming                  -107.56      43.033      164      380.18      671.53         9261              54              65.226     
    District_of_Columbia     -77.027      38.892       43      349.12       240.4         3742              12                 100     
    Vermont                  -72.556      44.043       98      550.46      551.52         7855              20              38.196     
    North_Dakota               -99.5      47.469      100      461.78      721.84         7594              35              55.807     
    South_Dakota             -99.679      44.272      197       563.3      882.77         8784              76              51.923     
    Delaware                 -75.494      39.107      134      533.94      728.52         9301              48              80.021     
    Montana                  -110.58      46.867      229      712.88      1056.7        11207             100              54.031     
    Rhode_Island             -71.434      41.589       83      741.84       834.5         8473              41              90.936     
    New_Hampshire            -71.559      43.908      171      985.77      1244.6        13216              51              59.181     
    Maine                    -69.081      44.886      194      984.83      1106.8        14948              58              40.206     

Расчет коэффициентов летального исхода

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

Рассчитайте коэффициент смертности на миллион миль транспортного средства. Из этих значений мы можем найти штаты с самым низким и самым высоким уровнем смертности.

states = fatalities.Properties.RowNames;
rate = fatalities.deaths./fatalities.vehicleMiles;
[~, minIdx] = min(rate);                  % Minimum accident rate
[~, maxIdx] = max(rate);                  % Maximum accident rate
disp([states{minIdx} ' has the lowest fatality rate at ' num2str(rate(minIdx))])
Massachusetts has the lowest fatality rate at 0.0086907
disp([states{maxIdx} ' has the highest fatality rate at ' num2str(rate(maxIdx))])
Mississippi has the highest fatality rate at 0.022825

Распределение смертельных случаев

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

Мы можем использовать гистограмму, чтобы увидеть распределение показателей смертности между штатами. В 11 штатах уровень смертности превышает 0,02 на миллион миль транспортного средства.

histogram(rate,10)
xlabel('Fatalities per Million Vehicle Miles')
ylabel('Number of States')

Поиск корреляций в данных

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

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

dataToPlot = "urbanPopulation";
close                                      % Close any open figures
scatter(fatalities.(dataToPlot),rate)         % Plot fatalities vs. selected variable
xlabel(dataToPlot)
ylabel('Percent Fatalities per Million Vehicle Miles') 

hold on
xmin = min(fatalities.(dataToPlot));
xmax = max(fatalities.(dataToPlot));
p = polyfit(fatalities.(dataToPlot),rate,1);  % Calculate & plot least squares line
plot([xmin xmax], polyval(p,[xmin xmax]))

Планирование смертельных случаев и урбанизации на карте США

Подведите итоги и поделитесь сценарием в реальном времени с коллегами. С помощью сценария в реальном времени они могут воссоздать и расширить анализ. Можно также сохранить анализ в формате HTML, Microsoft ® Word или PDF для публикации.

На основе этого анализа мы можем обобщить наши результаты, используя график показателей смертности и городского населения на карте континентальной части Соединенных Штатов.

load usastates.mat
figure
geoplot([usastates.Lat], [usastates.Lon], 'black')
geobasemap darkwater
hold on
geoscatter(fatalities.latitude,fatalities.longitude,2000*rate,fatalities.urbanPopulation,'filled')
c = colorbar;
title(c,'Percent Urban')

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