我有一个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
是否有任何可以执行此操作的内置函数或任何建议
答案 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);