MATLAB Mobile 中的实时编辑器简介
此示例说明如何与结合输入代码和输出的实时脚本进行交互。
添加格式化文本以增强您的记叙脚本,并使用 MATLAB Drive™ 将实时脚本作为交互式文档与其他人共享。
在 iPad 或 Android 平板电脑上使用 MATLAB Mobile 中的实时脚本时,可以使用可用的工具条创建新实时脚本、格式化文本和运行代码。不支持高级插入项,包括插入交互式控件和任务。如果现有实时脚本包含交互式控件,您可以使用现有控件。
在 iPhone 或 Android 手机上,您可以在 MATLAB Mobile 中打开和编辑现有实时脚本,并使用可用的运行按钮运行它们。工具条不可用,并且不支持文本格式化。
打开实时脚本
您可以在 MATLAB Mobile 中打开和编辑现有实时脚本。要打开实时脚本,请转至文件视图或使用 edit
命令。在 iPad 或 Android 平板电脑上的 MATLAB Mobile 中,您也可以创建一个实时脚本。要创建实时脚本,请在实时编辑器工具条中,点击 。您也可以通过点击 并选择新建实时脚本,从文件视图创建实时脚本。
添加人口统计数据
将实时脚本划分为多个节。每一节均可以包含文本、代码和输出。MATLAB 代码显示为灰色背景,输出显示为白色背景。
要创建新节,请在实时编辑器工具条中,点击分节符 按钮。您也可以在实时脚本中键入两个百分号 (%%
),然后按 Enter 键。
添加 1900 至 2000 年间美国的人口统计数据。
years = (1900:10:2000); % Time interval pop = [75.995 91.972 105.711 123.203 131.669 ... % Population Data 150.697 179.323 213.212 228.505 250.633 265.422]
pop = 1×11
75.9950 91.9720 105.7110 123.2030 131.6690 150.6970 179.3230 213.2120 228.5050 250.6330 265.4220
以可视方式呈现一段时间内的人口变化
各节可独立运行。要运行某节中的代码,请在实时编辑器工具条中,点击“运行节” 按钮。您也可以点击在您点击某节左侧时显示的蓝条。运行节时,输出和图窗会随生成这些内容的代码一起内嵌显示。
绘制不同年份的人口数据图。
plot(years,pop,'bo'); % Plot the population data axis([1900 2020 0 400]); title('Population of the U.S. 1900-2000'); ylabel('Millions'); xlabel('Year') ylim([50 300])
是否可以预测 2010 年的美国人口?
拟合数据
向文本中添加支持信息。使用实时编辑器工具条中的选项来格式化文本。
下面我们尝试使用多项式拟合数据。
x = (years-1900)/50; coef1 = polyfit(x,pop,1)
coef1 = 1×2
98.9924 66.1296
coef2 = polyfit(x,pop,2)
coef2 = 1×3
15.1014 68.7896 75.1904
coef3 = polyfit(x,pop,3)
coef3 = 1×4
-17.1908 66.6739 29.4569 80.1414
绘制曲线图
创建具有任意数量的文本和代码行的节。
我们可以绘制用于拟合数据的线性、二次和立方曲线。我们使用 polyval
函数来计算在点 x
处的拟合多项式。
pred1 = polyval(coef1,x); pred2 = polyval(coef2,x); pred3 = polyval(coef3,x); [pred1; pred2; pred3]
ans = 3×11
66.1296 85.9281 105.7266 125.5250 145.3235 165.1220 184.9205 204.7190 224.5174 244.3159 264.1144
75.1904 89.5524 105.1225 121.9007 139.8870 159.0814 179.4840 201.0946 223.9134 247.9403 273.1753
80.1414 88.5622 101.4918 118.1050 137.5766 159.0814 181.7944 204.8904 227.5441 248.9305 268.2243
下面我们绘制每个多项式的预测值。
hold on plot(years,pred1) plot(years,pred2) plot(years,pred3) ylim([50 300]) legend({'Data' 'Linear' 'Quadratic' 'Cubic'},'Location', 'NorthWest') hold off
预测人口
您可以将您的实时脚本与其他 MATLAB 用户共享,这样他们可以使用 MATLAB Drive 重现您的结果。如果您打开包含滑块、下拉列表、复选框、编辑字段或按钮的实时脚本,则可以使用控件以交互方式更改变量值。MATLAB Mobile 不支持插入新控件。
我们现在可以通过以下滑块调整年份来计算预测的给定年份的人口:
year = 2027;
xyear = (year-1900)/50;
pred1 = polyval(coef1,xyear);
pred2 = polyval(coef2,xyear);
pred3 = polyval(coef3,xyear);
[pred1 pred2 pred3]
ans = 1×3
317.5703 347.3443 303.4082
以 2010 年为例,线性拟合和三次拟合的预测值相似,约为 2.84 亿人口,而二次拟合的预测值更高,约为 3 亿人口。