使用 RESTful API、JSON 和 JavaScript 创建基于 Web 的工具
此示例展示如何创建一个通过简单公式计算债券价格的 Web 应用程序。它使用 MATLAB® Production Server™ RESTful API 和 MATLAB 数据类型的 JSON 表示 来描述使用 MATLAB Production Server 的端到端工作流。通过在 Web 界面中输入以下已知值来运行此示例:
票面价值(或到期债券价值)-
M优惠券支付 -
C支付次数 -
N利率 -
i
该应用程序根据以下公式计算价格(P):
P = C * ( (1 - (1 + i)^-N) / i ) + M * (1 + i)^-N
步骤 1:编写 MATLAB 代码
在 MATLAB 中写入以下代码来为债券定价。使用文件名 pricecalc.m 保存代码。
function price = pricecalc(face_value, coupon_payment,... interest_rate, num_payments) M = face_value; C = coupon_payment; N = num_payments; i = interest_rate; price = C * ( (1 - (1 + i)^-N) / i ) + M * (1 + i)^-N;
步骤 2:使用 Production Server 存档编译器创建可部署存档
要为此示例创建可部署存档:
在 App 选项卡上,选择 Production Server 存档编译器。
在 Exported Functions 字段中,添加
pricecalc.m。将存档重命名为
BondTools。点击打包。
生成的可部署存档 BondTools.ctf 位于工程的输出文件夹中。
步骤 3:将可部署存档放在服务器上
如果需要,请从 https://www.mathworks.com/products/compiler/mcr 下载 MATLAB Runtime。有关详细信息,请参阅MATLAB Production Server 支持的 MATLAB Runtime 版本。
使用
mps-new创建服务器。有关详细信息,请参阅使用命令行创建服务器实例。如果您尚未设置服务器环境,请参阅mps-setup以了解更多信息。如果尚未指定 MATLAB Runtime 的位置,请编辑服务器配置文件
main_config并指定--mcr-root的路径。有关详细信息,请参阅 Server Configuration 属性。使用
mps-start启动服务器,并使用mps-status验证它是否正在运行。将
BondTools.ctf文件复制到服务器上的auto_deploy文件夹进行托管。
步骤 4:在服务器上启用跨源资源共享 (CORS)
通过编辑服务器配置文件 main_config 并指定可向服务器发出请求的域源列表来启用跨域资源共享 (CORS)。例如,将 cors-allowed-origins 选项设置为 --cors-allowed-origins * 可允许来自任何域的请求访问服务器。有关详细信息,请参阅cors-allowed-origins和Server Configuration 属性。
步骤 5:使用 RESTful API 和 JSON 编写 JavaScript 代码
使用 RESTful API 和 MATLAB 数据类型的 JSON 表示形式作为指南,编写以下 JavaScript® 代码。将此代码保存为名为 calculatePrice.js 的 JavaScript 文件。
代码:
步骤 6:在 HTML 代码中嵌入 JavaScript
使用以下语法将上一步中的 JavaScript 嵌入到以下 HTML 代码中:
<script src="calculatePrice.js" type="text/javascript"></script>
将此代码保存为名为 bptool.html 的 HTML 文件。
代码:
步骤 7:运行示例
确认部署了 MATLAB 函数的服务器正在运行。在 Web 浏览器中打开 HTML 文件 bptool.html。默认债券价格为 NaN,因为尚未输入任何值。尝试使用以下数值对债券进行定价:
面值 = 1000 美元
息票支付 = 100 美元
支付次数 = 5
利率 = 0.08 (相当于 8%)
最终债券价格为 1079.85 美元。
使用工具中的滑块为不同的债券定价。改变利率会导致债券价格发生剧烈的变化。

