Any way to accomplish i++ in matlab?

后端 未结 2 643
礼貌的吻别
礼貌的吻别 2020-12-19 11:11

Assuming that srcHoughMatrix is a 3-dimensional matrix :

Instead of

    if (currentRadius >= MINIMUM_ALLOWED_RADIUS )
    % we\'re          


        
相关标签:
2条回答
  • 2020-12-19 11:50

    Matlab doesn't have the ++ operator.

    However, if you would like to shorten your statement and avoid the temporary variable, you can at least write

    srcHoughMatrix(index,jindex,MINIMUM_ALLOWED_RADIUS:end) = ... 
        srcHoughMatrix(index,jindex,MINIMUM_ALLOWED_RADIUS:end) + 1;
    

    (assuming that currentRadius takes on all values from 1 through the 3rd-dimension-size of the array).

    0 讨论(0)
  • 2020-12-19 11:55

    Not that I wouldn't do what @Jonas suggested, but what about using operator ? it is used to define new user-defined operator symbols or to delete them (you will need the symbolic toolbox though).

    operator(symb, f, T, prio) defines a new operator symbol symb of type T (Prefix | Postfix | Binary | Nary) with priority prio. The function f evaluates expressions using the new operator.

    Given the operator symbol "++", say, with evaluating function f, the following expressions are built by the parser, depending on the type of the operator, where :

    Prefix: The input ++x results in f(x).

    Postfix: The input x++ results in f(x).

    Binary: The input x ++ y ++ z results in f(f(x, y), z).

    Nary: The input x ++ y ++ z results in f(x, y, z)).

    see more at matlab's documentation.

    0 讨论(0)
提交回复
热议问题