前页 | 后页 |
MATLAB 求解器
MATLAB 是一种数值计算环境和编程语言,包含一个大型数学函数库,每个函数都可以从用JavaScript编写的脚本中调用。
您可以在运行时使用一个简单的构造(称为 Solver类)从 MATLAB 调用任意数学函数,该构造用JavaScript 。 MATLAB A Solver类可以通过其 API 调用外部 MATLAB 工具,并将数学函数直接链接到您正在运行的仿真中。例如:
var matlab = new Solver("matlab");
var resultFromMatlab = matlab.exec('complexMathsFunction', parameter1, parameter2);
请参阅模拟中的帮助器帮助主题。
特征包括:
- 从 MATLAB 检索向量、矩阵、数字和字符串
- MATLAB 向量作为JavaScript一维数组返回(而JavaScript一维数组作为 MATLAB 向量返回)
- MATLAB 矩阵作为JavaScript二维数组返回(而JavaScript二维数组作为 MATLAB 矩阵返回)
- 您可以使用以下方法从 MATLAB 中检索变量值:
matlab.get(<名称>) - 您可以使用以下方法调用任何带有JavaScript值的 MATLAB函数:
matlab.exec(<名称>, [<参数>]) - 所有参数都在JavaScript object中传递
- 您还可以在JavaScript中使用结果
- 您可以使用以下命令执行任何 MATLAB 语句:
matlab.exec("脚本")
注记:与 MATLAB集成需要 MATLAB R2018b 或更高版本。
设置和配置
安装 MATLAB 后, Enterprise Architect将从注册表中读取位置以提供自动集成。
如果 MATLAB 没有自动加载,请将路径(如配置SysML仿真窗口帮助主题)设置为通过在 MATLAB 控制台中运行“matlabroot”获得的值。
用途
使用 |
讨论 |
---|---|
建造 |
通过将“matlab”传递给 Solver 构造函数,创建一个连接到 MATLAB 的新 Solver。那是: var matlab = new Solver('matlab'); |
赋值 |
使用 matlab.set函数赋值。例如: matlab.set('simple_value', 3.14); 或者 var myString = "这是一个示例string "; matlab.set('myString', myString); |
检索值 |
使用 matlab.get函数从 MATLAB 中检索结果。例如: var simple_value = matlab.get('simple_value'); var myString = matlab.get('myString'); |
调用函数 |
将函数的名称作为第一个参数传递给 Solver.exec。 任何一个:
// 将可变数量的参数包装到要传递给solver.exec的object中 函数args() { 变量 obj = {}; for (var i = 0; i < arguments.length; i++) { obj[i] = 参数[i]; } 返回对象; } var 结果 = matlab.exec('减号', args(8, 4.5)); |
跟踪() |
跟踪(语句)方法允许您在模拟中的任意点打印出跟踪语句。这是在执行期间用附加输出信息补充仿真log的极好方法。 跟踪() 输出被写入仿真窗口。例如: matlab.set('simple_value', 3.14); var pi = matlab.get('simple_value'); 跟踪( "简单值 = " + pi ); |
视频
Sparx Systems提供了一个使用 MATLAB 控制台创建 MATLAB Solver 的 YouTube 视频。看:
另外两个视频说明了 MATLAB Solver 在执行状态机仿真中对疫苗试验和划的使用。看: