在Octave中导入Java类

在Octave中导入Java类,第1张

在Octave中导入Java类

好消息是,将Java指令从matlab语法转换为八度语法非常容易。

坏消息是,您将不得不将matlab语法转换为八度语法。虽然这很简单,它意味着你可能必须寻找在提供M-文件的任何Java调用 ,以及
(在你自己的代码,而不是只)和适应的语法。(显然,您可能想出了一种自动完成该过程的好方法。)

这是使本教程在八度上工作的方式:

  • 我下载了
    matlab_examples
    zip文件并按照说明解压缩(我在桌面上解压缩了文件夹,即在我的计算机上,这导致了该文件夹
    /home/tasos/Desktop/matlab_examples
  • 我打开八度并
    cd
    进入该目录
  • 打开
    load_javaplex.m
    文件并删除所有
    import
    语句,然后运行它以“初始化” javaplex。
  • 现在您已经准备好

    api.Plex4.createExplicitSimplexStream()
    按照教程BUT中的指示运行命令,首先需要注意两点:

    1. Octave无法提供从包中导入Java类的方法,因此,所有类调用都必须由包 完全 限定。即包的

      Plex4
      api
      实际上需要被完全限定为
      edu.stanford.math.plex4.api.Plex4
      。您可以通过打开.jar文件并浏览其文件夹结构来确认它是包
      Plex4
      的类
      api
      ,它本身就是包的(子)包
      edu.stanford.math.plex4

    2. 在八度音阶中,创建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'])
在您的代码中调用,等等,这使得它的麻烦程度 有所 减轻。

玩得开心。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5498708.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存