MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   资料存档 (https://www.labfans.com/bbs/forumdisplay.php?f=72)
-   -   如何将Java对象作为参数传递给MATLAB函数? (https://www.labfans.com/bbs/showthread.php?t=22622)

poster 2019-12-10 16:49

如何将Java对象作为参数传递给MATLAB函数?
 
我编写了一个Matlab类,以使用JDBC和java.sql中的内容实现数据库。

我需要知道ResultSet中有多少个结果,因此我编写了以下Matlab静态函数:

methods (Static) function [numRecords] = numRecords(resultSet) numRecords = 0; if (~isempty(resultSet)) row = resultSet.getRow(); resultSet.beforeFirst(); resultSet.last(); numRecords = resultSet.getRow(); resultSet.absolute(row); end end end 但是当我尝试调用它时,出现以下错误消息:

???类型为“ org.apache.derby.impl.jdbc.EmbedResultSet40”的输入参数的未定义函数或方法“ numRecords”

没有其他函数称为numRecords。


回答:
当我写原始问题时,我意识到自己的错误。

显然,在Matlab类中,调用静态函数需要将封闭的类添加到该函数的前面...即使在同一类中调用也是如此!

我替换了该行:

trials = zeros(numRecords(rs)); 与

trials = zeros(CMAPSigSimResultsDB.numRecords(rs)); 而且有效。 (虽然没有,但是至少调用了该函数。)

这是一个令人困惑的错误消息,因为不应输入Matlab,但听起来像是...



[url=https://stackoverflow.com/questions/662502]更多&回答...[/url]


所有时间均为北京时间。现在的时间是 23:26

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.