我有一个尺寸为5000x6的MATLAB表。我想根据原始表中第6列的某些条件,向MATLAB表中添加新列。
我想要以下内容: 1.如果第6列的值小于x或大于y:将1附加到MATLAB表的新的第7列 2.否则,将0附加到MATLAB表的新的第7列
因此,最后,我将得到一个5000x7的表,基于原始(第6列)中的值,last(第7列)由0和1组成。我不熟悉在MATLAB中使用表和迭代,并且尝试查看关于Stackoverflow的其他问题,但对如何做到这一点一无所知。在这方面的任何帮助将不胜感激。 谢谢!
答案 0 :(得分:2)
在下面,我想您已经从数据矩阵中提取了第六列。我称它为A。然后您为逻辑1索引定义上限和下限。
然后通过对照边界检查向量中的每个元素来创建新列,最后将其添加到矩阵中。
% Sixth column
A = [1; 2; 3; 4; 5; 3; 1; 2; 8];
y= 4; % Upper boundary
x= 2; % Lower boundary
% Create logical column vector by information of sixth column
new_column = (A<x) | (A>y);
% Add new column to Matrix
A = [A new_column];
我刚刚为您的向量创建了一些随机范围和值。