问题标签 [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 投票
2 回答
900 浏览

matlab - 使用冒号索引未知维度的矩阵

在 MATLAB 中索引矩阵时,我可以只指定第一个或最后n 个维度,并让所有其他维度“自动选择”吗?

例如,我正在编写一个接收图像的函数,并用 显示它imshow,它可以显示 3-D 彩色图像(例如 1024×768×3)或 2-D 单色阵列(例如1024x768)。
我的函数不关心图像有多少颜色通道,imshow会处理这个问题。我要做的就是传递参数来选择一个区域:

我用什么代替最后一个冒号来表示“包括所有其他维度”?

0 投票
2 回答
97 浏览

matlab - Matlab:如何从向量 v=[1,2] 中得到 M(1,2)?

说我有:

M(v) 给出[1 3]但我想得到 is M(1, 2)= 3。

有没有办法做到这一点?当然,我可以这样做,M(v(1), v(2))但我需要为 M 一个N维数组和v一个长度为N的向量工作。

非常感谢

0 投票
2 回答
1932 浏览

c++ - memcpy 函数在 mex 中调用

我有一个有趣的问题。也就是这样;我正在尝试通过 mex 函数在内部使用 std::memcpy 函数,并像这样在 MATLAB 中调用该 mex 函数;

当我复制整个图像时,效果很好;

但是当我尝试复制图像的某些部分时

它没有给出正确的图像部分,而是给出了无意义的像素值。

那么这里发生了什么?

0 投票
2 回答
1650 浏览

matlab - 从图像中提取 3x3 矩阵

我需要从图像中提取一个 3x3 矩阵并将其单独存储,它应该像这样一直持续到图像结束。例如,我的图像是以下矩阵:

输出应该是这样的:

等等....

您能否为此建议我的代码或内置函数?

0 投票
1 回答
1362 浏览

matlab - MATLAB 使用行和列索引向量访问稀疏矩阵中的多个元素

我觉得应该有一个简单的解决方案,但我找不到:

我有A B相同维度的稀疏矩阵n*n。我想创建一个矩阵,C它复制非零的值。AB

这是我的方法:

以下是更多细节:

  • 我的矩阵非常大,因此解决方案需要高效。C(B~=0) = B(B~=0); 不幸的是,不会这样做。
  • 由于矩阵太大(Matrix is too large to return linear indices.),线性索引也不起作用。

真的没有办法使用二维索引吗?

谢谢你的帮助!

0 投票
2 回答
241 浏览

matlab - matlab中二维数组的索引

我有一个M1只包含零的 6X4 矩阵。我还有两个一维数组Y1Y2每个数组的长度为 4。这两个数组包含所需的索引值。现在,我想设置(转换为 1)矩阵的元素,M1使其 M1(Y1:Y2)等于 1

例如:Y1=[1 2 2 1]然后Y2=[3 4 5 3]
M1应该是

我可以使用 for 循环来做到这一点。但是有没有优化的方法呢?(我打算使用更大的矩阵)

0 投票
3 回答
9238 浏览

python - 列表理解和逻辑索引

从 Matlab 慢慢过渡到 Python...

我有这个表格清单

和另一个具有相同数量项目的列表

我正在尝试提取 list1 中不包含任何 nan 值的元素,以及 list2 中的相应元素,即结果应该是:

在 Matlab 中,这很容易通过逻辑索引来完成。

在这里,我感觉某种形式的列表理解可以解决问题,但我被困在:

这显然对list2没有用。

或者,以下逻辑索引尝试不起作用(“索引必须是整数,而不是列表”)

我敢肯定这是微不足道的,但我无法弄清楚,感谢帮助!

0 投票
3 回答
171 浏览

matlab - 在 MATLAB 矩阵中查找元素的有效方法

我想知道如何在给定的代码中处理瓶颈。

目前对于N ~ 10^6,np ~ 1000number of calls to this part of code = 1000,bottleneck 语句总共需要大约 10 秒,与我的其他代码相比,这是一个很大的时间。

分析结果

@EitanT 要求的仅用于索引语句的示例代码的更多屏幕截图

分析示例代码 分析示例代码

0 投票
2 回答
221 浏览

arrays - 在matlab中消除部分数组

假设我们有一个 100*4 的数组。

我们还有一个 1 和 0 的 100*1 数组。假设有 n 个 1。

我们想从 100*4 数组创建一个*4 数组,其中我们只包含第二个数组为 1 的列。

一种方法是通过双 for 循环。有没有更简单的方法?

所以,我们有

我们想要

0 投票
3 回答
1669 浏览

matlab - 从 3d 矩阵中提取几列

我目前有一个数组 A,其维度为 N xtx t。我想创建一个二维矩阵 N xt,其形式为:

显然,我可以做到这一点的两种方法是完整地写出来(因为 t 很大,所以不切实际)和循环(可能很慢)。有没有办法在没有循环的情况下做到这一点。我想如果我这样做会起作用:

但这只是给了我原始矩阵。