我正在使用 Matlab 中的矩阵,它有五列和几百万行。我有兴趣挑选这些数据的特定组。目前我正在使用 plot3() 和画笔/选择数据工具来执行此操作。
我将矩阵的前三列绘制为 X、Y、Z 并突出显示我感兴趣的矩阵区域。然后我使用画笔/选择工具的“创建变量”工具将该区域导出为新矩阵。
问题是,当我这样做时,原始较大矩阵的剩余两列将被删除。我明白为什么 - 它们没有被绘制,因此图形工具不知道它们。不过,为了继续处理管道,我需要该子区域的所有五列。
我正在使用可怕的嵌套 if 循环方法将适当的第 4 列和第 5 列值添加到导出的矩阵中 - 如果原始矩阵和导出矩阵中的第 1、2 和 3 列都匹配,则将原始矩阵的 4/5 列附加到出口了一个。这是糟糕的设计和令人痛苦的缓慢。我知道必须有一个 Matlab 函数/技巧 - 任何人都可以帮忙吗?
谢谢!
这可能会有所帮助:
1. I start with matrix 1 with columns X,Y,Z,A,B
2. Using the brush/select tool, I create a new (subregion) matrix 2 with columns X,Y,Z
3. I then loop through all members of matrix 2 against all members of matrix 1. If X,Y,Z match for a pair of rows, I append A and B
from that row in matrix 1 to the appropriate row in matrix 2.
4. I become very sad as this takes forever and shows my ignorance of Matlab.