将 Lua 和 MATLAB 结合起来
2016-8-10 22:18:10
收藏:0
阅读:157
评论:1
我现在的情况是,代码库的一部分是用 MATLAB 写的,另一部分是用 Lua 写的(用于一个第三方程序的脚本)。目前它们之间的数据交换是临时的,使用文件 I/O 系统。尽管当时并没有计划,但这演变成了代码的重要部分。
该程序的结构是这样的:运行一些 Lua 脚本,然后根据 MATLAB 的评估运行更多的 Lua 脚本等等。它处理模拟和评估(科学代码),并基于此创建新的模拟。它处理成千上万的文件和模拟。
为了简化流程,我开始研究改变数据 I/O 的可能性,并进行简单的调用。
我想听听如何解决这个问题的一些意见,最优解是我可以从 MATLAB 或 Lua 中调用所有内容,并以更一致和易于访问的方式组织大型数据集。
解决方案:
使用 Lua C API 为 Lua 模块创建绑定,并将其作为 C 库添加到 MATLAB 中。通过这种方式,我希望能够实现我的目标并减少系统复杂性。
一些更智能的数据格式用于数据集交换(HDF?),以及一些读取所需工作区变量的函数。这样,程序的各个部分仍然保持独立,但数据交换得到解决。
为 Lua/MATLAB 函数创建包装器,以便更轻松地调用它们。可通过函数的返回参数进行数据交换。
有什么建议吗?
点赞
评论区的留言会收到邮件通知哦~
推荐文章
- Lua 虚拟机加密load(string.dump(function)) 后执行失败问题如何解决
- 我想创建一个 Nginx 规则,禁止访问
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?

我建议选择方案 1,或者如果你不介意花大笔的钱,可以使用 MATLAB coder 从 MATLAB 端生成 C 函数,将生成的代码编译成共享库,使用 LuaJIT FFI 导入库,并从 Lua 运行所有内容。使用此解决方案,您不需要更改任何 MATLAB 代码,也不需要修改太多 Lua 代码,这得益于 LuaJIT 对于数组索引的语义。方案 1 是免费的,但由于两种语言的数据结构之间的常量切换,它的效率并不高。而且编写接口也需要很多工作。但是,任何一种解决方案都比文件 I / O 更有效率。
作为一种简单的性能提升,您尝试使用 RAM 磁盘或 tmpfs 将文件保留在内存中了吗?