预订演示
前页 后页

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 可作为GNU Octave库的替代品,并且可以在与GNU Octave相同的所有上下文中使用。

注记:与 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。

任何一个:

  • 对于采用单个参数的函数,只需将值作为第二个参数传递即可;例如:
    var result = matlab.exec(' ceil ', 7.4);
或者
  • 如果需要两个或多个参数,则将所有参数作为JavaScript物件作为第二个参数传递;这可以内联完成,例如:
    var 结果 = matlab.exec('减号', {0: 8, 1 : 4.5});
    注记:参数的顺序由object名称的字母顺序决定
可以在这里A帮助函数来避免错误:

// 将可变数量的参数包装到要传递给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 在执行状态机仿真中对疫苗试验和划的使用。看:

了解更多