0

正如标题所说,我想包含一个块,在给定某些输入的情况下,我可以在其中运行 scilab 表达式/函数/脚本。我可以看到 xcos/scicos 可以包括 C、Fortran 和 Modelica。有一个表达式块:

在此处输入图像描述

功能非常有限:

sin,cos,tan,exp,log,sinh,cosh,tanh,int,round,ceil,floor,sign,abs,max,min,asin,acos,atan,asinh,acosh,atanh,atan2,log10。

ax^2+bx+c=d例如,如果我想求解没有sqrtpower/运算符/函数的二阶方程^!理想情况下,我只想运行一个可以完全自由的 Scilab 脚本/函数。如果您能帮助我了解 xcos 或 scicos 中是否存在这样的块,我将不胜感激。

4

1 回答 1

0

感谢来自 Spoken-Tutorial IIT Bombay 的 Rupak 和 Anuradha,我找到了解决方案。创建一个 Scilab 函数为:

function [y1, y2, ...] = myFunction(u1, u2, ...)
    // some commands ...
    yi = // return value;
endfunction

并将其保存myFunction.sci在您的首选位置。

然后执行一次函数(在编辑器中)或运行命令:

exec('path\to\myFunction.sci', -1)

在控制台中,因此它将在 Scilab 内存中。

然后在您的框图中使用Scilab 功能块:

在此处输入图像描述

Scilab Multiple Values Request通过块上的双时钟打开, Ctrl+B或右键单击并选择Block Parameters ...

在此处输入图像描述

您可以在此处指定输入和输出矩阵的大小。例如[1,1;2,3]指两个具有1×12×3大小的矩阵。通过选择OKScilab Input Value Request打开:

在此处输入图像描述

在这里,您可以放置​​您刚刚定义的函数y=myFunction(u);或使用任何其他 Scilab 内置语法。现在只需选择OK四次,直到设置完成。

对于更详细的示例,您可以遵循这个 YouTube 教程

于 2019-02-21T21:41:14.077 回答