在scos / scicos中包含Scilab函数/脚本作为块

问题描述 投票:0回答:1

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

enter image description here

the functions非常有限:

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中是否存在这样的块,我将不胜感激。

scilab xcos
1个回答
0
投票

感谢Rupak and Anuradha from Spoken-Tutorial IIT Bombay我找到了解决方案。创建Scilab函数:

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

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

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

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

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

然后在您的程序框图中使用Scilab function block

enter image description here

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

enter image description here

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

enter image description here

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

有关更详细的示例,您可以关注this YouTube tutorial

© www.soinside.com 2019 - 2024. All rights reserved.