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