提问人:Dante 提问时间:10/31/2014 最后编辑:Dante 更新时间:4/2/2019 访问量:1309
将 Matlab 匿名函数转换为 Scilab 内联函数
Converting Matlab anonymous functions to Scilab inline functions
问:
我的大多数Matlab函数都可以与该函数一起转换为Scilab函数,但一些包含匿名函数的函数除外(例如)。有没有办法将匿名函数转换为 Scilab 内联函数(例如,对于前面的示例),这样我就不必更改我的 Matlab 函数?mfile2sci
f=@(x,y)sin(x)+log(y)
deff('[z]=f(x,y)','z=sin(x)+log(y)')
答:
1赞
Stéphane Mottelet
4/2/2019
#1
是的,在当前状态下,Matlab 到 Scilab 转换器无法翻译匿名函数,但可以通过以下补丁来改善此行为:mfile2sci
https://codereview.scilab.org/#/c/20916/
但是,请注意,匿名函数在使用“求解器”(如 、 、 ,...)时,大多数时候都会发生匿名函数,并且使用这些函数的语句永远不会转换为有效的 Scilab 语句(给出警告)。fsolve
optim
ode45
ode15s
评论
0赞
Foad S. Farimani
4/3/2019
多谢。您愿意分享您在这里使用的正则表达式吗?
1赞
Stéphane Mottelet
4/3/2019
是的,您可以在 codereview.scilab.org/#/c/20916/2/scilab/modules/m2sci/macros/ 修补文件的代码中找到...
上一个:溢出与 Inf
下一个:IEEE 754 舍入或斩波
评论
regexp