使用实时编辑器加快探索编程速度 -凯发k8网页登录
下面是如何使用实时编辑器加快探索编程速度的示例。以下示例演示如何使用实时编辑器:
随代码一起查看代码输出。
将您的程序划分为多个节以分别计算各个代码块。
纳入可视化内容。
使用控件对参数值进行试验。
汇总和共享您的发现。
加载高速公路死亡数据
实时编辑器随代码一起显示代码输出。要运行节,请转至实时编辑器选项卡,然后选择运行节按钮。您也可以点击在将鼠标移至节的左边缘时显示的蓝条。
在下面的示例中,我们将探索一些高速公路死亡数据。首先加载数据。变量显示为表的列标题。
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')