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

2024-02-26

这是一个关于在同一语句中多次递增 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]上面)相同的长度。)


您想要做的事情可以使用该功能来完成ACCUARRAY http://www.mathworks.com/help/techdoc/ref/accumarray.html,像这样:

A = [10 20 30];            %# Starting array
index = [1 2 2 1];         %# Indices for increments
increment = [20 10 10 3];  %# Value of increments
A = accumarray([1:numel(A) index].',[A increment]);  %'# Accumulate starting
                                                      %#   values and increments

这个例子的输出应该是:

A = [33 40 30];


EDIT: If A是一个很大的值数组,并且只需添加一些增量,以下内容可能比上面的计算效率更高:

B = accumarray(index.',increment);  %'# Accumulate the increments
nzIndex = (B ~= 0);               %# Find the indices of the non-zero increments
A(nzIndex) = A(nzIndex)+B(nzIndex);  %# Add the non-zero increments
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在一行中多次递增 MATLAB 数组的一个值 的相关文章

  • 在 C# 中按元素相乘数组具有意想不到的性能

    我想找到按元素相乘两个数组的最佳方法 这是更广泛项目的一部分 其中性能而不是唯一的考虑因素 我今天开始用 C Linqpad 编写一些函数 因此它还没有以任何方式进行优化 下面代码的输出如下 Environment ProcessorCou
  • 指向特征矩阵的指针数组

    我在代码中使用 Eigen 的 MatrixXd 矩阵 在某个时刻我需要一个 3D 矩阵 由于 Eigen 没有三维矩阵类型 因为它仅针对线性代数进行了优化 因此我创建了一个 MatrixXd 类型的指针数组 Eigen MatrixXd
  • 如何在 perl 中合并两个数组,交替每个数组中的值

    假设我有 2 个如下所示的数组 a1 Vinay Raj harry b1 dude rock 合并后我想要这样的结果 Vinay dude Vinay rock Raj dude Raj rock harry dude harry roc
  • let/var 如何解决可变性? [复制]

    这个问题在这里已经有答案了 我没有任何问题 我只是想对有关可变性的问题进行一些澄清 在 Objective C 中我们会使用例如NSMutableArray得到一个可变数组和NSArray得到一个不可变的 我对两者的内部运作了解不多 但据我
  • C# 中的 strstr() 等效项

    我有两个byte 我想找到第二个的第一次出现byte 在第一个byte 或其中的一个范围 我不想使用字符串来提高效率 翻译第一个byte to a string会效率低下 基本上我相信就是这样strstr 在 C 中做 最好的方法是什么 这
  • 在多个数组中搜索字符串,然后设置 var - jQuery

    我正在寻找基于字符串存在于哪个数组中设置一个变量 例如 var primary red blue yellow var secondary orange purple green 然后检查 purple 并返回它在 secondary 数组
  • 如何在javascript中动态向对象数组添加值?

    这是一个对象数组 var data label 1 value 12 label 1 value 12 label 1 value 12 label 1 value 12 我如何动态地为这些添加值 我尝试了以下代码但没有成功 var lab
  • 命令 A(~A) 在 matlab 中的真正作用是什么

    我一直在寻找找到矩阵非零最小值的最有效方法 并在论坛上找到了这个 设数据为矩阵A A A nan minNonZero min A 这是非常短且高效的 至少在代码行数方面 但我不明白当我们这样做时会发生什么 我找不到任何关于此的文档 因为它
  • for 循环中的绘图没有可见点

    我正在努力解决我想使用 for 循环制作的情节 我知道当我在循环之后添加它时它会起作用 只是一个简单的图 但我想用另一种方式尝试一下 fib ones 1 10 for k 3 10 hold on fib k fib k 1 fib k
  • Numpy 相当于 MATLAB 的 hist [重复]

    这个问题在这里已经有答案了 由于某种原因 Numpy 的 hist 总是返回比 MATLAB 的 hist 少 1 个 bin 例如在 MATLAB 中 x 1 2 2 2 1 4 4 2 3 3 3 3 Rep Val hist x un
  • 高效创建抗锯齿圆形蒙版

    我正在尝试创建抗锯齿 加权而不是布尔 圆形掩模 以制作用于卷积的圆形内核 radius 3 no of pixels to be 1 on either side of the center pixel shall be decimal a
  • 将 int 复制到 byte[] 的最简单方法

    我有一个 byte 我正在迭代 int 列表 和其他数据 我想将 int 复制到我的 byteArray index 4 我该怎么做 BitConverter http msdn microsoft com en us library sy
  • 如何初始化一个最初大小未知的数组?

    假设我有这个 int x int x State Determined By Program const char pArray const int x 在使用 pArray 之前如何初始化它 因为Array的初始大小是由用户输入决定的 T
  • 搜索深度嵌套数组以更新对象

    我有一个深层嵌套的数据结构 我有兴趣匹配数组 和数组数组 中的某个值 然后将一些数据推送到随附的数组中 例如以下是我的数组colors并伴随着的是更多颜色数组可能存在也可能不存在 var myData color green moreCol
  • 将 numpy 代码点数组与字符串相互转换

    我有一个很长的 unicode 字符串 alphabet range 0x0FFF mystr join chr random choice alphabet for in range 100 mystr re sub W mystr 我想
  • 泛型、数组和 ClassCastException

    我想这里一定发生了一些我不知道的微妙事情 考虑以下 public class Foo
  • C 中函数参数中的固定数组或指针之间的区别?

    之间有区别吗 void draw line float p0 2 float p1 2 float color 4 和这个 void draw line float p0 float p1 float color in C 项目清单 C 和
  • 将 NumPy 数组按元素映射到更多维度的数组

    我想要地图anumpy array从 NxM 到 NxMx3 其中三个元素的向量是原始条目的函数 lambda x f1 x f2 x f3 x 然而 像这样的事情numpy vectorize不允许改变尺寸 当然 我可以创建一个零数组并进
  • strtok - 如何避免换行并放入字符串数组?

    如果我欺骗了主题 我真的很抱歉 我在这里搜索但没有结果 我有代码 void split char str char splitstr char p char splitbuf 32 int i 0 p strtok str while p
  • 从 n,k 维矩阵数组中减去 n,k 维矩阵

    如果我有一个数组A A lt array 0 c 4 3 5 for i in 1 5 set seed i A i lt matrix rnorm 12 4 3 如果我有矩阵 B set seed 6 B lt matrix rnorm

随机推荐

  • UITableView 顶部和底部具有透明渐变

    我搜索过这个论坛 谷歌和其他论坛 但没有找到我的特定问题的答案 基本上 我有一个UIView其中包含UITableView 我跟着这个tutorial http www cocoanetics com 2011 08 adding fadi
  • 事件网格吞吐量限制

    我是天蓝色事件网格概念的新手 目前正在研究事件网格以在我们的项目中实现 任何人都可以告诉我们事件网格的吞吐量吗 每秒我可以推送多少个事件以及每秒事件网格的出口是多少 意味着每秒从事件网格输出事件的数量 我向微软询问了这个话题 他们的回应是
  • Java中的抽象类和方法,继承

    我有类 B 它继承自类 A 超类 A 是抽象的 包含一个抽象方法 我不想在类 B 中实现抽象方法 因此我也需要将类 B 声明为抽象方法 声明 B 类抽象 有两件事对我有用 程序正确编译和运行 1 我没有在类 B 中声明任何抽象方法 即使该类
  • MongoDB 唯一索引不允许覆盖

    我在 Mongo 文档中的一个字段上创建了一个 unique true 索引 这按预期工作 它通过覆盖现有条目来禁止重复 我想禁止覆盖 而是在尝试插入重复项时出现错误或异常 有什么办法可以做到这一点吗 我该如何使用 Spring Data
  • 如何重用/重置 ZipInputStream?

    我想重置 ZipInputStream 即回到起始位置 以便按顺序读取某些文件 我怎么做 我好卡住 ZipEntry entry ZipInputStream input new ZipInputStream fileStream item
  • CSS 中是否可以使用表示行的元素来构建网格?

    我正在尝试使用 HTML CSS 为现代浏览器复制此设计 它本质上是一个包含行和列的表格 这意味着如果一行的名称单元格变大 那么所有行的名称单元格都应该变大 我看到两种可能性 表格和 CSS 网格 据我所知 表格中的行的样式不够 例如它们不
  • .Net框架中是否有系统错误代码的枚举?

    我有一个返回 GetLastError 代码的库函数 像这样的事情 http msdn microsoft com en us library ms681381 28v vs 85 29 aspx 我需要将它们与特定错误进行比较 例如ERR
  • 在unix中查找两个字符串的最长公共子串的shell命令是什么?

    在unix中查找两个字符串的最长公共子串的shell命令是什么 例如 foo abcdefghi abjklmdefnop 打印 def 我不确定是否有一个命令可以为您完成这项工作 但以下 bash 脚本应该可以完成这项工作 bin bas
  • 动态加载图像到div中

    我有一个个人资料图像列表 这些图像出现在 菜单下拉 div 中 该 div 最初通过 CSS 隐藏 我想在选择每个菜单项时动态加载这些图像 作为列表 以减少页面加载时间 这怎么可能 尝试使用 divID html img src path
  • GDB 如何处理大(>1 Gb)调试文件?

    我在使用远程 GDB 会话调试 C 应用程序时遇到问题 代码库很大 因此它包含 当使用 O2 g DNDEBUG 标志编译时 一个包含调试信息的大文件 1 1 Gb 不幸的是 我不能在调试期间只使用部分符号表 因为调试器始终会跳过应用程序的
  • for循环中的倒数

    我相信 根据一些研究阅读 for 循环中的倒计时实际上在运行时更高效 更快 我的完整软件代码是 C 我目前有这个 for i 0 i
  • 在 R 中使用 strsplit(),忽略括号中的任何内容

    我正在尝试使用strsplit 在 R 中根据逗号将字符串分成几部分 但我不想在括号中拆分任何内容 我认为答案是正则表达式 但我正在努力使代码正确 例如 x lt This is it isn t it well yes gt strspl
  • AngularJS 控制器和“严格使用”

    我最近开始使用 JSHint 它要求我使用 use strict 的函数形式 从那时起 AngularJS 就会抛出错误 错误 参数 webAddressController 不是函数 未定义 当我删除 use strict 的函数形式时
  • 从协议扩展调用选择器

    我正在构建简单的主题引擎 并且希望有一个扩展 可以添加UISwipeGestureRecognizer to UIViewController 这是我的代码 protocol Themeable func themeDidUpdate cu
  • 如何在flutter中读取XML文件?

    我正在尝试读取 flutter 中的 XML 文件 但每次我尝试读取该文件时 它只会引发错误 这是我读取 xml 文件的地方 我的 XML 文件很大 convertXMLtoJSON async File file File assets
  • 如何在 MVVM 中绑定到 PasswordBox

    我遇到了绑定到的问题PasswordBox 这似乎是一个安全风险 但我正在使用 MVVM 模式 所以我希望绕过这个 我在这里发现了一些有趣的代码 有人使用过这个或类似的东西吗 http www wpftutorial net Passwor
  • 为什么ItemTouchHelper.Callback的onChildDraw会在clearView之后被调用

    问题是我想在 RecyclerView 中拖动该项目时对其执行提升 根据文档所述 我应该在以下位置自定义拖动视图的行为ItemTouchHelper Callback onChildDraw https developer android
  • Typescript - 当传入多个键值时缩小函数中的 T[K]

    我正在尝试编写一个钩子 它接受对象的多个键并根据当前应用的过滤器过滤数据 所以 大致如下 interface IFilterable
  • 具有可变行高的 SWT 表:适用于 Linux,但不适用于 Mac/Windows

    问题 我需要一个具有可变行高的 SWT 表 JFace TableViewer 事实上 我在我的开发机器上解决了这个问题 运行 Ubuntu 10 10 不幸的是 这在 Windows 和 Mac 上都不起作用 最初 我以为我没有正确使用这
  • 在一行中多次递增 MATLAB 数组的一个值

    这是一个关于在同一语句中多次递增 MATLAB 数组的一个值而无需使用 for 循环的问题 我将数组设置为 gt gt A 10 20 30 然后运行 gt gt A 1 1 A 1 1 20 3 A 13 20 30 显然 20 被忽略了