这里是新的八度音阶。
我有一个矩阵X,想要更改所有元素(作为数字),如下所示:如果元素的值大于10,则将其更改为10,否则保持相同的值。
理论上我可以做两个循环并遍历每个元素。不知道有没有一种简单的方法可以做到这一点。
答案 0 :(得分:6)
答案 1 :(得分:0)
修改强>
我认为这样做的惯用方法是使用logical indexing:
A(A>10)=10
使用Function Application (@arrayfun
):
> A=[10, 20, 30; 9, 13, 8]
> arrayfun (@(x) ifelse (x>10, 10, x), A)
ans =
10 10 10
9 10 8