好消息是,将Java指令从matlab语法转换为八度语法非常容易。
坏消息是,您将不得不将matlab语法转换为八度语法。虽然这很简单,它意味着你可能必须寻找在提供M-文件的任何Java调用 ,以及
(在你自己的代码,而不是只)和适应的语法。(显然,您可能想出了一种自动完成该过程的好方法。)
这是使本教程在八度上工作的方式:
- 我下载了
matlab_examples
zip文件并按照说明解压缩(我在桌面上解压缩了文件夹,即在我的计算机上,这导致了该文件夹/home/tasos/Desktop/matlab_examples
- 我打开八度并
cd
进入该目录 - 打开
load_javaplex.m
文件并删除所有import
语句,然后运行它以“初始化” javaplex。 现在您已经准备好
api.Plex4.createExplicitSimplexStream()
按照教程BUT中的指示运行命令,首先需要注意两点:Octave无法提供从包中导入Java类的方法,因此,所有类调用都必须由包 完全 限定。即包的
Plex4
类api
实际上需要被完全限定为edu.stanford.math.plex4.api.Plex4
。您可以通过打开.jar文件并浏览其文件夹结构来确认它是包Plex4
的类api
,它本身就是包的(子)包edu.stanford.math.plex4
。在八度音阶中,创建Java对象,调用Java方法等的语法与在MATLAB中不同。有关详细信息,请参见八度音程手册中的相关页面。
因此
api.Plex4.createExplicitSimplexStream(),旨在调用(不带参数)包中类的
createExplicitSimplexStream方法的,将按八度调用,如下所示:
Plex4``edu.stanford.math.plex4.api
javaMethod( 'createExplicitSimplexStream', 'edu.stanford.math.plex4.api.Plex4')
然后将其输出为教程中描述的答案。
说了这么多,请注意,虽然您不能
import直接对类或(子)包进行保存,以免您一直不得不重写长的包字符串,但是octave的java接口似乎 确实非常
依赖字符串,这意味着相当简单将如此长的字符串存储为变量,并在必须访问类时重用它们。因此,例如,您可以将字符串保存
'edu.stanford.math.plex4.'到一个名为的变量中,
plex4而只需
javaMethod('createExplicitSimplexStream',[plex4, 'api.Plex4'])在您的代码中调用,等等,这使得它的麻烦程度 有所 减轻。
玩得开心。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)