相关疑难解决方法(0)

在一行中多次递增一个MATLAB数组的值

这是一个关于在同一语句中多次递增MATLAB数组的一个值的问题,而不必使用for循环.

我将我的数组设置为:

>> A = [10 20 30];
Run Code Online (Sandbox Code Playgroud)

然后运行:

>> A([1, 1]) = A([1, 1]) + [20 3]

A =

    13    20    30
Run Code Online (Sandbox Code Playgroud)

显然,20被忽略了.但是,我希望它被包括在内,以便:

>> A = [10 20 30];
>> A([1, 1]) = A([1, 1]) + [20, 3]
Run Code Online (Sandbox Code Playgroud)

会给:

A =

    33    20    30
Run Code Online (Sandbox Code Playgroud)

是否有一个函数允许以一种漂亮的矢量化方式完成它?

(实际上,对数组的索引将包括多个索引,因此它可能是[1 1 2 2 1 1 1 1 3 3 3]等等,并且数字数组将以[20, 3]相同的长度递增(以上).)

arrays matlab increment vectorization

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

arrays ×1

increment ×1

matlab ×1

vectorization ×1