1

我有以下数组

a = [ 1 10 3 4 68 2 34 8 10 ]

如果这个数字大于9,我需要除每个数字(/2)。这意味着1不必除,10必须除(/2)

结果数组应为:

a = [ 1 5 3 4 34 2 17 8 5 ]

我必须在不使用 FOR 函数的情况下做到这一点。所以我尝试了这个:

a = a./2;

这会划分数组的每个数字,我之前告诉过你,我只想划分大于 9 的数字。

谁能告诉我该怎么做?在该语句中添加“如果任何> 5”或其他内容?
提前致谢

4

1 回答 1

4

使用逻辑索引来仅划分符合您标准的数字并将结果分配给这些特定索引。

a = [ 1 10 3 4 68 2 34 8 10 ];
a(a>9) = a(a>9) ./ 2
于 2011-09-28T22:46:38.227 回答