这对于Matlab用户来说应该是一个简单的问题。在Matlab用户函数中调用大小会导致错误
参数y是1 x 81矩阵(数组)。 我的函数如下:
function [ ] = test(y)
length(y)
end
然而,当呼叫测试中,我得到以下错误:“???试图引用非结构阵列的领域”
我做错了什么?
这对于Matlab用户来说应该是一个简单的问题。在Matlab用户函数中调用大小会导致错误
参数y是1 x 81矩阵(数组)。 我的函数如下:
function [ ] = test(y)
length(y)
end
然而,当呼叫测试中,我得到以下错误:“???试图引用非结构阵列的领域”
我做错了什么?
您需要指定返回参数!
function [size] = test (y) etc...
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
是决策树。
实际上,测试是一个函数一个添加的工具箱,所以如果他从当前路径调用测试,就没有名称空间冲突:) - 我写了数百个test()函数haha –
-1:虽然在另一个工具箱中可能有一个已经存在的具有相同名称的函数, _can_为函数使用重复名称。官方文档指出_“如果您复制函数名称,MATLAB将执行搜索路径中首先出现的函数名称_。 –
谢谢,帮助。 – Casbar77
@ Casbar77精彩!并且看起来很挑剔,请记住AGS的评论与命名空间冲突有关,因为代码变得非常复杂。虽然在大多数情况下你的代码将优先,你不会看到任何问题,但有一些nitpicky情况下,碰撞可能会导致问题(我花了几个小时调试这些:/) –