我的大多数Matlab函数都可以使用mfile2sci函数转换为Scilab函数,但有些函数包含匿名函数(例如f=@(x,y)sin(x)+log(y))。是否有一种方法将匿名函数转换为Scilab内联函数(例如,对于上面的例子deff('[z]=f(x,y)','z=sin(x)+log(y)')),以便我不必更改我的Matlab函数?
是的,目前状态下Matlab到Scilab的翻译器mfile2sci无法翻译匿名函数,但是通过以下补丁可以改善这种行为: https://codereview.scilab.org/#/c/20916/ 然而,需要注意的是,当使用“求解器”(如fsolve、optim、ode求解器(例如ode45、ode15s等)时,匿名函数大多数情况下会发生。这些语句永远不会被转换为有效的Scilab语句(会给出警告)。
regexp
函数。我想知道是否可能将该模式提取出来。类似于validMatlabFunctionNanme\s?=\s?@(someText) MathematicalExpression... - Foad S. Farimani