问题标签 [matrix-indexing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1814 浏览

matlab - Matlab 中是否有 splat 运算符(或等效运算符)?

如果我有一个数组(直到运行时长度未知),有没有办法以数组的每个元素作为单独的参数来调用函数?

像这样:

上下文:我有一个n-d 数组的索引列表,Q. 我想要的是类似的东西Q(a,b,:),但我只有[a,b]。由于我不知道n,我不能只对索引进行硬编码。

0 投票
2 回答
3445 浏览

matlab - 未知维度矩阵的索引

我有一个非固定维度矩阵 M,我想从中访问单个元素。元素的索引包含在向量 J 中。

例如:

这次 M 有 4 个维度,但这是事先不知道的。这取决于我正在编写的算法的设置。也可能是这样

所以我不能简单地使用

我正在考虑使用sub2ind,但这也需要它的变量逗号分隔..

@gnovice

这行得通,但我打算大量使用这种从矩阵中提取的元素McellJ因此,如果我每次访问时都必须创建一个临时变量M,这不会极大地减慢计算速度吗?

我也可以写一个单独的函数

并使其适应算法的不同配置。这当然是速度与灵活性的考虑,我的问题中没有包含。

但是:这仅可用于获取元素,用于设置除了实际使用索引(最好是线性索引)之外别无他法。我仍然认为 sub2ind 是一种选择。我想要的最终结果是这样的:


结果:

方法 2 比方法 1 快 20(少量索引集(=P)转换)到 80(大量索引集(=P))倍。容易选择

0 投票
2 回答
9288 浏览

arrays - MATLAB:选择给定范围内的所有数组除外

我想对不属于特定范围的数组内容执行度量。

例如,我有一个包含 1000 行和 2 列的数组。我想对一列(假设第 2 列)中不属于第 50-150、250-300、400-700 和 900-950 行的所有元素执行 mean() 计算。

因此,应根据第 1-49、151-249、301-399、701-899 和 951-1000 行计算平均值。

任何想法如何去做?

编辑:我应该指出,每次运行程序时,包含的那些项目都会改变。因此,我不能只硬编码包含的内容;它们需要根据排除项来制定。

0 投票
3 回答
2886 浏览

matlab - 用matlab中的其他值替换矩阵中的索引

假设现在我有一个矩阵

还有一个矩阵

A 中的第一行是 S 的唯一索引,第二行包含将替换第一行中的值的值。即S中所有的“1”都会被2替换,所有的“2”都会被4替换。最后得到一个矩阵

现在我正在做的是:

现在,我有一个相当大的矩阵,使用 for 循环有点慢。有没有更快的方法来做到这一点?

0 投票
3 回答
62175 浏览

matlab - 如何在 Matlab 中选择子矩阵(不是任何特定模式)

如何在 Matlab 中选择子矩阵(不是任何模式)?例如,对于一个大小为 10×10 的矩阵,如何选择由第 1 行第 2 行和第 9 行以及第 4 列和第 6 列的交集组成的子矩阵?

感谢您提供任何有用的答案!

0 投票
7 回答
186708 浏览

matlab - 如何在 MATLAB 中找到数组中的最大值及其索引?

假设我有一个数组,a = [2 5 4 7]. 返回最大值及其索引的函数是什么?

例如,在我的情况下,该函数应返回 7 作为最大值和 4 作为索引。

0 投票
1 回答
3018 浏览

matlab - Matlab 下标索引必须是实数正整数或逻辑数

我哪里做错了?问题出在:R = sqrt(bsxfun(@minus,XX,(XX)').^2+bsxfun(@minus,YY,(YY)').^2);

0 投票
2 回答
575 浏览

matlab - 使用索引矩阵检索具有否定精确索引的矩阵元素?

例如,我有A=[11 24 33 47 52 67]并且我有索引矩阵,I = [2 3]所以我想从索引中获取 A 的元素,而不是 I 给出的索引。所以我想要B = [11 47 52 67]. 我该怎么做并将 I 用作否定索引矩阵?

0 投票
3 回答
847 浏览

matlab - Mablab/Octave - 使用 cellfun 将一个矩阵与另一个矩阵索引

我有一个包含随机数矩阵的单元格,比如说a = {[300*20],....,[300*20]};。我有另一个相同格式的单元格,称为它b,其中包含nan术语在 中位置的逻辑a

我想用来cellfun循环遍历单元格,基本上让nan术语等于0ie a(b)=0

谢谢,j

0 投票
1 回答
256 浏览

arrays - 数组作为matlab中向量的索引

我偶然发现了一些matlab代码,其中一维向量(比如长度为100的“信号”)由一个3D矩阵(比如尺寸为10x10x10的“距离”)索引,结果(“信号(距离)”)是一个3D矩阵与索引的 3D 矩阵完全相同的尺寸 10x10x10。

matlab实际上在那里做什么?向量的元素去哪了?你知道要搜索的关键字吗?

我用“索引”等关键字搜索了stackoverflow和mathworks帮助页面,但我没有找到任何有用的东西......

谢谢!