在matlab中传递冒号作为函数的参数

时间:2012-01-05 17:04:54

标签: matlab syntax

我想知道是否可以使用冒号“:”作为函数的参数。

类似的东西:

function  y=func(x)
  if x is a colon
    do this
  else
    do that
  end

也可以将关键作品结束作为函数的参数传递,并且 1:结束 3:结束-5 等等...... 我怀疑这是可能的,但我想确定。

另外,当我将“1:end”作为函数的参数传递时,我得到一个奇怪的错误,它没有产生错误,但是在函数内部,没有赋值参数(甚至没有其他参数)。有人知道会发生什么吗?

2 个答案:

答案 0 :(得分:6)

您可以为自己的类覆盖两者:

classdef MyClass

properties(Access=public)
    data
end

methods
    function out = end(A,k,n)
         disp(A);
         disp(k);
         disp(n);
         out = [];
    end 

    function B = subsref(A,S)            
        disp(S);
        B = [];
    end
end
end

至于功能,我从来没有听说过这样的功能。

答案 1 :(得分:0)

不,不可能将冒号作为参数传递(它没有任何意义)。