【发布时间】:2010-10-17 20:22:22
【问题描述】:
这是一个关于在同一语句中多次递增 MATLAB 数组的一个值,而不必使用 for 循环的问题。
我将数组设置为:
>> A = [10 20 30];
然后运行:
>> A([1, 1]) = A([1, 1]) + [20 3]
A =
13 20 30
显然 20 被忽略了。但是,我希望将其包含在内,以便:
>> A = [10 20 30];
>> A([1, 1]) = A([1, 1]) + [20, 3]
会给:
A =
33 20 30
是否有一个函数可以让这以一种很好的矢量化方式完成?
(实际上,对数组的索引将包括多个索引,因此它可能是[1 1 2 2 1 1 1 1 3 3 3] 等,其中一个数字数组以相同长度递增(上面的[20, 3])。)
【问题讨论】:
标签: arrays matlab increment vectorization