如何将矩阵拆分为两个矩阵,其中包含所有整数值和其他浮点值

时间:2015-10-10 17:51:35

标签: matlab

我有一个double类型的矩阵,其中一些列是整数值,其他列是浮点值,如下所示

X =

a_1  a_2  a_3  a_4
1.0   1    2   2.1
2.2   2    2   3.5
4.1   3    4   4.1

我想将此矩阵拆分为两个矩阵,其中包含所有整数列,另一个包含浮点值的所有列。结果应该看起来像

x_1 =
 1    2   
 2    2   
 3    4   

x_2 = 
1.0   2.1
2.2   3.5
4.1   4.1

是否有任何可以执行此操作的内置函数或任何建议

1 个答案:

答案 0 :(得分:1)

您可以使用round(x)==x检查数字是否为整数。使用此测试,您可以拆分矩阵:

 int_cols = all( round(x)==x, 1 ); %// logical indexing into integer columns
 x_1 = x(:,int_cols);
 x_2 = x(:,~int_cols);