循环变量的函数

时间:2014-10-10 22:20:33

标签: matlab variables

例如,如果您有3pi并使用wrapTo2Pi(3pi),则会给出pi。

我想要的只是这个,而不是0到2pi,我希望从1到12(一年中的几个月)。

所以,如果我有17,我想要function(17) = 5

有这样的功能吗?

1 个答案:

答案 0 :(得分:4)

您可以使用mod

如果你想要一个base 1系统(你的第一个值是1),就像月号一样,你必须做一个1偏移(在函数之外),比如这样:

mod(17-1,12)+1
ans =
     5

特别感谢Luis Mendo更正并注重细节。


如果你使用base 0系统(三角,小时等等),你不必做偏移,你可以简化为:

mod( 3*pi , 2*pi )
ans =
   3.141592653589793

或一天中的几个小时:

mod( 36 , 24 )
ans =
    12