matlab函数调用报错Function 'filter' is not defined for values of class 'cell'.

代码如下:

function e = filter(rvca)
%输入存放向量的元胞数组rvca,删除其中长度小于3或等于3的向量,生成一个新的长度更小的元胞数组
e=[];
n=1;
for temp = 1:length(rvca)
t = rvca{temp};
if length(t)>3
e{n}=t;
n=n+1;
end
end

========
然后在command窗口调用就报错了……求解。

第1个回答  2011-03-27
一般参考书都是给出这样定义函数的,然后大家就把他直接COPY到command命令行中运行,就会出错。其实一般用到函数都是现在matlaB中打开一些已经写好了头的程序(灰色的,在哪里打开你查一下书,我忘记了),然后把这个Function 函数 插进去就能用了。追问

不是这个问题,因为我其他函数(调用的都是同一个元胞数组)都没出错,就这个有问题。而且错误信息是说filter函数不能使用元胞数组中的值……

第2个回答  2011-03-28
成这样就可以了
Abs=eval(stra)追问

加在哪里?

第3个回答  2011-03-28
换个名字 不要用filter追问

名字不能改,题目要求就是要用这个名字

追答

那时不可能的 因为matlab 本身有这个名字 那你可以把这个名字的matlab程序删掉

本回答被网友采纳