使用实时编辑器加快探索编程速度
下面是如何使用实时编辑器加快探索编程速度的示例。以下示例演示如何使用实时编辑器:
随代码一起查看代码输出。
将您的程序划分为多个节以分别计算各个代码块。
纳入可视化内容。
使用控件对参数值进行试验。
汇总和共享您的发现。
加载高速公路死亡数据
实时编辑器随代码一起显示代码输出。要运行节,请转至实时编辑器选项卡,然后选择运行节按钮。您也可以点击在将鼠标移至节的左边缘时显示的蓝条。
在下面的示例中,我们将探索一些高速公路死亡数据。首先加载数据。变量显示为表的列标题。
load fatalities
fatalities(1:10,:)ans=10×8 table
-107.5556 43.0327 164 380.1800 671.5290 9261 54 65.2257
-77.0269 38.8921 43 349.1220 240.4030 3742 12 100
-72.5565 44.0435 98 550.4620 551.5160 7855 20 38.1964
-99.4998 47.4691 100 461.7800 721.8350 7594 35 55.8072
-99.6790 44.2720 197 563.2980 882.7690 8784 76 51.9228
-75.4942 39.1071 134 533.9430 728.5240 9301 48 80.0211
-110.5763 46.8671 229 712.8800 1.0567e+03 11207 100 54.0310
-71.4337 41.5887 83 741.8410 834.5010 8473 41 90.9356
-71.5591 43.9080 171 985.7750 1.2446e+03 13216 51 59.1811
-69.0811 44.8858 194 984.8290 1.1068e+03 14948 58 40.2057
计算死亡率
使用实时编辑器可以将您的程序划分为包含文本、代码和输出的多个节。要创建新的节,请转至实时编辑器选项卡,然后点击分节符按钮。节中的代码可以独立运行,这使得可轻松了解您在编写程序时的想法。
计算每一百万行车里程的死亡率。从这些值中,我们可以发现具有最低和最高死亡率的州。
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')

