前页 | 后页 |
GNU Octave求解器
GNU Octave是一个数学函数库,特别强调序列和矩阵。您可以将每个函数调用到用JavaScript编写的脚本中。
您可以在运行时从运行调用任意数学函数,使用一个名为 Solver类的简单构造,用JavaScript ;用于 Octave 的 Solver类可以调用外部 Octave 工具并将高级数学函数直接链接到您正在运行的模拟中。例如:
var octave = new Solver(octave);
var resultFromOctave = octave.exec('complexMathsFunction', parameter1, parameter2);
请参阅模拟中的帮助主题求解器。
特征包括:
- 从 Octave 调用向量、矩阵、数字和字符串
- Octave 向量作为JavaScript一维数组返回(而JavaScript一维数组作为 Octave 向量返回)
- Octave 矩阵作为JavaScript二维数组返回( JavaScript二维数组作为 Octave 矩阵返回)
- 您可以使用以下方法从 Octave 检索变量值:
octave.get(<名称>) - 你可以使用JavaScript值调用任何 Octave函数:
octave.exec(<name>, [<arguments>], 0/ 1 ) - 所有参数都在JavaScript数组中传递
- 您也可以在JavaScript中使用结果;如果你想要一个结果,传递1 ,如果你不想要结果,传递 0
- 您可以使用以下命令执行任何 Octave 语句:
octave.exec("脚本", <语句>, 0/ 1 )
设置和配置
安装 Octave 后, Enterprise Architect将从注册表中读取位置以提供自动集成。
用途
任务 |
描述 |
---|---|
赋值 |
使用命令;例如: octave.set("simple_value", 3.14); octave.set("example_sequence", [0, 1 , 2]); octave.set("身份", [[ 1 , 0], [0, 1 ]]); |
建造 |
在JavaScript编辑器中,通过将“octave”传递给 Solver 构造函数,创建一个连接到 Octave 的新 Solver。 var octave = new Solver("octave"); |
检索值 |
使用命令;例如: var simple_value = octave.get("simple_value"); var example_sequence = octave.get("example_sequence"); var identity=octave.get("identity"); |
调用函数 |
将函数的名称作为第一个参数传递给 Solver.exec。 将所有参数作为第二个参数传递给数组中的那个函数。 当你想要一个JavaScript内部函数返回的值时,传递一个非零值作为第三个参数。例如: var序列= octave.exec("linspace", [0, 10, 1001], 1 ); |
执行语句 |
将“脚本”作为第一个参数的名称传递给 Solver.exec。 将string中的整个 Octave 语句作为第二个参数传递。 八度。执行( '脚本' , 't = 0:0。 1 :6.3;' ); 八度。 exec ( '脚本' , 'plot (t, cos (t), "-; cos (t);", t, sin (t), "-b; sin (t);");' ); |
跟踪() |
跟踪(语句)方法允许您在模拟中的任意点打印出跟踪语句。这是在执行期间用附加输出信息补充仿真log的极好方法。 跟踪() 输出被写入仿真窗口。 这是使用跟踪() 方法的示例: octave.set('simple_value', 3.14); var pi = octave.get('simple_value'); 跟踪( "PI = " + pi ); // 将该值输出到仿真窗口 |
视频
Sparx Systems提供了一个使用 Solver 通过 Octave 生成绘图的 YouTube 视频。看: