Использование Live Editor, чтобы ускорить исследовательское программирование

Следующее является примером того, как использовать 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     

Вычисление коэффициентов смертности

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

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

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')

Нахождение корреляций в данных

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

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

varName = 'urbanPopulation';
scatter(fatalities.(varName),rate)         % Plot fatalities vs. selected variable
xlabel(varName)
ylabel('Percent Fatalities per Million Vehicle Miles') 

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

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

Обобщите свои результаты и совместно используйте свой live скрипт с вашими коллегами. Используя ваш live скрипт, они могут воссоздать и расширить ваш анализ. Можно также сохранить анализ как HTML или PDF для публикации.

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

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

Была ли эта тема полезной?