预订演示

请注意 : 本帮助页面不适用于最新版本的Enterprise Architect. 最新的帮助文档在这里.

前页 后页

MATLAB解算器

MATLAB是一个包含大量数学函数库的应用程序,每个数学函数都可以从用JavaScript编写的脚本中调用。 MATLAB是GNU Octave库的替代品,可以在与GNU Octave相同的所有上下文中使用。

您可以使用JavaScript编写的称为Solver类的简单构造,在运行时从MATLAB调用任意数学函数。用于MATLAB的求解器类可以通过其API调用外部MATLAB工具,并将强大的数学函数直接链接到正在运行的仿真中。例如:

var matlab = new Solver(“ matlab”);

var resultFromMatlab = matlab.exec(' complexMathsFunction ', parameter1parameter2 );

请参阅帮助主题“求解器类”

功能包括:

  • 从MATLAB检索向量,矩阵,数字和字符串
  • MATLAB向量返回为JavaScript一维数组(而JavaScript一维数组返回为MATLAB向量)
  • MATLAB矩阵返回为JavaScript二维数组(而JavaScript二维数组返回为MATLAB矩阵)
  • 您可以使用matlab.get(<name>)从MATLAB检索变量值
  • 您可以使用matlab.exec(<name>,[<arguments>])调用具有JavaScript值的任何MATLAB函数。
  • 所有参数都在JavaScript对象中传递
  • 您也可以在JavaScript中使用结果
  • 您可以使用matlab.exec(“ script”)执行任何MATLAB语句

设置和配置

安装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 =“这是一个示例字符串”;

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);
要么
  • 如果需要2个或更多参数,则将所有参数作为Javascript对象作为第二个参数传递;可以内联完成,例如:
    var result = matlab.exec('minus',{0:8,1:4.5});
    注意:参数的顺序由对象名称的字母顺序确定
可以在此处使用辅助函数来避免错误:

//将可变数量的参数包装到要传递给Solver.exec的对象中

函数args(){

var obj = {};

for(var i = 0; i <arguments.length; i ++){

obj [i] = arguments [i];

}

返回obj;

}

var result = matlab.exec('minus',args(8,4.5));

学到更多