2012-09-14 61 views
2

这对于Matlab用户来说应该是一个简单的问题。在Matlab用户函数中调用大小会导致错误

参数y是1 x 81矩阵(数组)。 我的函数如下:

function [ ] = test(y) 

length(y) 

end 

然而,当呼叫测试中,我得到以下错误:“???试图引用非结构阵列的领域”
我做错了什么?

回答

1

您需要指定返回参数!

function [size] = test (y) etc... 
+0

谢谢,帮助。 – Casbar77

+0

@ Casbar77精彩!并且看起来很挑剔,请记住AGS的评论与命名空间冲突有关,因为代码变得非常复杂。虽然在大多数情况下你的代码将优先,你不会看到任何问题,但有一些nitpicky情况下,碰撞可能会导致问题(我花了几个小时调试这些:/) –

-2

test是已经内置的函数。

>> help test 
--- help for classregtree/test --- 

test Compute error rate for tree. 
COST = test(T,'resubstitution') computes the cost of the tree T 

其中T是决策树。

+2

实际上,测试是一个函数一个添加的工具箱,所以如果他从当前路径调用测试,就没有名称空间冲突:) - 我写了数百个test()函数haha –

+0

-1:虽然在另一个工具箱中可能有一个已经存在的具有相同名称的函数, _can_为函数使用重复名称。官方文档指出_“如果您复制函数名称,MATLAB将执行搜索路径中首先出现的函数名称_。 –

相关问题