Main Content

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 亿人口。