matlab java接口_在MATLAB中实现Java接口

如果我错了,请告诉我,但看起来你基本上想要拦截XBee对PacketListener.processResponse(XBeeResponse x)的调用,并让MATLAB处理传入的XBeeResponse对象的内容.我不是一个MATLAB大师,但是甚至可以使用MATLAB代码实现Java类,然后将该类传递回Java?我的猜测可能不是,但我可能是错的.

我认为你在这里遇到的问题源于这样一个事实:很容易对Java对象进行MATLAB调用,而不是相反.我要做的是使用Java代码实现PacketListener的一个非常简单的实现,然后使用像matlabcontrol这样的第三方库将Java PacketListener实现的函数调用返回给MATLAB.

我不得不在一个大型软件项目上处理这个问题,这个项目需要用Java编写的GUI来调用用MATLAB编写的后端代码,所以我可以保证matlabcontrol的功能.从Java中控制MATLAB的另一个重要资源,你应该走这条路线,是undocumentedmatlab.com.

编辑

另一件要警惕的事情是在Java方面进行线程化.您可以同时使用任意数量的Java线程进行MatLab调用,但MatLab将“顺序化”来自Java的所有调用.假设Java需要调用MatLab函数“f1”和“f2”.您设置了两个Java线程,每个线程同时调用f1或f2.在开始第二个函数调用之前,MatLab将强制一个人等待另一个完成,并且完全不确定哪一个实际上会被调用.

我说这个的原因是,无论Java Thread调用了processResponse(XBeeResponse x)函数,如果它调用MatLab并且MatLab已经忙于做其他事情,它将被阻止.最好让PacketListener缓存传入的XBeeResponse实例,这样XBee就不会等待MatLab处理数据.请记住一些事情.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值