我有一个矩阵,其中有许多随机值,范围从-600到+600。这些值在矩阵内相互混合。
我想要做的是将负值和正值分离到它们自己的矩阵中。甚至可能将大于400的值分离到它自己的矩阵中。
我对编码很新,所以我头脑中首先出现的是if语句。我正在使用Octave。我不知道是否有更好的方法可以解决这个问题,但我会感谢所有帮助。感谢
答案 0 :(得分:0)
执行此操作的最佳方法是使用逻辑索引。您可以根据所需的条件创建数据大小的逻辑矩阵。
例如,仅获取负值:
negatives = your_data(your_data < 0);
和正值
positives = your_data(your_data >= 0);
您可以更改用于生成逻辑矩阵的表达式以满足您的需求。
此外,如果你只是使用Octave,你可以停止标记C ++,因为它们是不同的语言。