python - matlab数组索引问题

标签 python matlab

我有一个名为 data 的 matlab 数组

34.6237 78.0247 0 30.2867 43.8950 0 35.8474 72.9022 0 60.1826 86.3086 1.0000 79.0327 75.3444 1.0000 45.0833 56.3164 0 61.1067 96.5114 1.0000 75.0247 46.5540 1.0000 76.0988 87.4206 1.0000 84.4328 43.5334 1.0000

这是三个字段。现在我想将值放入两个变量中,例如 A 和 B,但 A 应该包含第三列具有条目 1 的值,B 应该包含第三列具有条目 0 的值

因此本例的示例输出为

A = 60.1826 86.3086 79.0327 75.3444 61.1067 96.5114 75.0247 46.5540 76.0988 87.4206 84.4328 43.5334

类似地,其余条目将用于 B

B = 34.6237 78.0247 30.2867 43.8950 35.8474 72.9022 45.0833 56.3164

我不想通过编写循环并提取它们来做到这一点。 我试过 tempVariable = 数据(y > 0)

其中变量y = data(:, 3)

有人可以推荐一个单线来完成这项工作吗?

最佳答案

试试这个:

maskA = data(:,3) == 1;
A = data( maskA, [1 2]);
B = data(~maskA, [1 2]);

我们在这里做的是:

  1. 创建一个 N×1 逻辑向量,该向量对于所有 A 行都为 true
  2. A 定义为所有 maskA 行和列 [1 2]
  3. B 定义为所有 NOT maskA 行和列 [1 2]

关于python - matlab数组索引问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28778650/

相关文章:

Python在特定目录中创建文件

用于矩阵修改的python双循环

python - pyspark:网格搜索为空后获取最佳模型的参数{}

python - 如何使用 kazoo 包在 Python 中添加子节点数据更新监视

MATLAB:嵌套函数和结构

function - 存在两个时如何选择特定的 .m 函数?

matlab - 在曲线 MATLAB 中找到增加和减少的趋势

javascript - 使用 Node 打开 MATLAB GUI

python - 如何基于迭代另一个 df 的所有行值来对 pandas 数据框进行子集化?

matlab - 有没有办法控制 Matlab 的 3D 查看器中的失真?