MATLAB解算器
MATLAB是一个包含大量数学函数库的应用程序,每个数学函数都可以从用JavaScript编写的脚本中调用。 MATLAB是GNU Octave库的替代品,可以在与GNU Octave相同的所有上下文中使用。
您可以使用JavaScript编写的称为Solver类的简单构造,在运行时从MATLAB调用任意数学函数。用于MATLAB的求解器类可以通过其API调用外部MATLAB工具,并将强大的数学函数直接链接到正在运行的仿真中。例如:
var matlab = new Solver(“ matlab”);
var resultFromMatlab = matlab.exec(' complexMathsFunction ', parameter1 , parameter2 );
请参阅帮助主题“求解器类” 。
功能包括:
从MATLAB检索向量,矩阵,数字和字符串
MATLAB向量返回为JavaScript一维数组(而JavaScript一维数组返回为MATLAB向量)
MATLAB矩阵返回为JavaScript二维数组(而JavaScript二维数组返回为MATLAB矩阵)
您可以使用matlab.get()从MATLAB检索变量值
您可以使用matlab.exec(,[])调用具有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
obj [i] = arguments [i];
}
返回obj;
}
var result = matlab.exec('minus',args(8,4.5));
学到更多