请问matlab如何把一个变量的取值规定在一定区间内?

例如:a=sinx,x∈(-10,10),这样a的取值就在[-1,1]这个区间,如果规定a只能在[-0.5,0.5]这个区间应该如何设定?原本大于0.5的区间全归为上限0.5,小于-0.5的区间全归为下限-0.5

这个可以这样做

x = (-10:0.01:10);
a = sin(x).*(abs(sin(x))<=0.5) + 0.5.*sign(sin(x)).*(abs(sin(x))>0.5);
plot(x,a)

img