Matlab 数组函数

Matlab arrayfun

我这样做:

A = [pi/2 3*pi/2 3*pi/2 pi];
B = arrayfun(wrapToPi, A);

期待乙:

[pi/2 -pi/2 -pi/2 pi]

但是,我收到了一条错误消息:

Not enough input arguments.

Error in wrapToPi (line 13)
q = (lambda < -pi) | (pi < lambda);

Error in PSK (line 19)
x = arrayfun(wrapToPi,indices2);

问题出在哪里?

arrayfun与这里无关

正确的做法是:

A = [pi/2 3*pi/2 3*pi/2 pi];
wrapToPi(A)

给出:

ans =

    1.5708   -1.5708   -1.5708    3.1416

与以下内容相同:[pi/2 -pi/2 -pi/2 pi]