您的位置:首页 > 编程语言 > MATLAB

[Matlab]Attempt to reference field of non-structure array

2012-05-09 21:45 344 查看
MATLAB是一个非常强悍的数学应用软件。其最大的亮点是能把自身的命令编译成JAVA、C#、C++等代码,把其应用嵌入到里面,使各类编程语言能够调用其功能。但在其编译过程经常出现各类问题,我在应用过程中把一些问题总结了一下,如下:

1.Attempt to reference field of non-structure array

这个问题最有可能是MATLAB中存在两个相同名字的方法,但是调用的参数不同。在编译过程中,MATLAB把其中的相同名字的一个方法给编译进去,但是在代码里面却调用了另外一个相同名字的方法,造成参数引用类型出错。这种错误最常见是当MATLAB有LIBSVM的时候,因为LIBSVM的SVMTRAIN跟MATLAB的SVMTRAIN名字是相同的,但参数输入是不同的,所以在编译的时候要注意,要么更改当前默认目录然后再编译,要么就把LIBSVM删掉。

2.像EVAL、LOAD这些命令应用时,返回的值记得不要用字符作变量,一定要声明变量作变量。也就是不要调用LOAD(FILENAME,'VAR'),要用VAR = LOAD(FILENAME)。这样子在MATLAB编译成DLL时才能在代码里生成引用变量的代码。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐