将Matlab匿名函数转换为Scilab内联函数

时间:2014-10-31 05:06:51

标签: matlab anonymous-function scilab

除了包含anonymous functions的某些函数(例如mfile2sci)之外,我的大部分Matlab函数都可以使用f=@(x,y)sin(x)+log(y)函数转换为Scilab函数。有没有办法将匿名函数转换为Scilab inline functions(例如,对于前面的示例deff('[z]=f(x,y)','z=sin(x)+log(y)')),这样我就不必更改我的Matlab函数了?

1 个答案:

答案 0 :(得分:1)

是的,在当前状态下,Matlab到Scilab的翻译器mfile2sci无法翻译匿名函数,但是可以通过以下补丁来改善此行为:

https://codereview.scilab.org/#/c/20916/

但是,请注意,在使用诸如fsolveoptim之类的“求解器”或ode求解器(例如ode45ode15s等)时,匿名函数通常会出现。 ..),并且永远不会将使用这些语句的语句转换为有效的Scilab语句(会给出警告)。