假设srcHoughMatrix是3维矩阵:

代替

    if (currentRadius >= MINIMUM_ALLOWED_RADIUS )
    % we're using only radiuses that are 6 or above
        currentHough = srcHoughMatrix(index,jindex,currentRadius);
        srcHoughMatrix(index,jindex,currentRadius) = currentHough + 1;
    end

如果条件为true,如何在不使用临时变量的情况下向每个单元格添加1有无
srcHoughMatrix(index,jindex,currentRadius)  = srcHoughMatrix(index,jindex,currentRadius)  + 1;

谢谢

最佳答案

不是说我不会按照@Jonas的建议去做,而是要使用 operator 呢?它用于定义新的用户定义的运算符或删除它们(不过您将需要符号工具箱)。
operator(symb, f, T, prio)定义了一个类型为symb(前缀|后缀|二进制| Nary)的新运算符T(优先级prio)。函数f使用new运算符对表达式求值。

给定运算符符号“++”,例如,使用评估函数f,解析器将根据运算符的类型构建以下表达式,其中:

前缀:输入++ x导致f(x)。

后缀:输入x++导致f(x)。

二进制:输入x++ y++ z得出f(f(x(y,y),z)。

Nary :输入x++ y++ z得出f(x,y,z))。

在matlab的documentation上查看更多信息。

10-02 03:47