如何在MATLAB中将单元格数组值拆分为两列?

如何在MATLAB中将单元格数组值拆分为两列?,matlab,split,cell-array,Matlab,Split,Cell Array,我在单元格数组中有如下数据: 我想将其拆分为两列,其中包含两个小数点,如下所示: 2.13 56.95 1.98 50.41 通过删除大括号和分号,如[;] 要像Excel中的文本那样处理列。您应该使用cell2mat A={2.14,1.99;56.95,50.41}; B=cell2mat(A); 至于舍入,您可以执行以下操作: B=round(100*B)/100; 你应该使用cell2mat A={2.14,1.99;56.95,50.41}; B=cell2mat(A)

我在单元格数组中有如下数据:

我想将其拆分为两列,其中包含两个小数点,如下所示:

2.13   56.95 
1.98   50.41
通过删除大括号和分号,如[;]
要像Excel中的文本那样处理列。

您应该使用cell2mat

A={2.14,1.99;56.95,50.41};
B=cell2mat(A);
至于舍入,您可以执行以下操作:

B=round(100*B)/100;

你应该使用cell2mat

A={2.14,1.99;56.95,50.41};
B=cell2mat(A);
至于舍入,您可以执行以下操作:

B=round(100*B)/100;
根据您的环境设置,在前两个十进制数字之后,您可能仍然会看到许多尾随的零。。。但别担心,从精确的角度来看,一切都很好。如果只想显示数字的实数,请使用以下命令:

format short g;
根据您的环境设置,在前两个十进制数字之后,您可能仍然会看到许多尾随的零。。。但别担心,从精确的角度来看,一切都很好。如果只想显示数字的实数,请使用以下命令:

format short g;

如果N元素单元格数组C的每个单元格中都有2×1的数字数据,则可以使用函数将每个元素四舍五入为2位有效数字,轻松地将其转换为N×2的数字矩阵M,如下所示:

M = round([C{:}].', 2);

语法C{:}创建了C的内容的一个集合,相当于C{1},C{2}。。。C{N}。这些都使用[…],然后结果使用。“。

如果N元素单元格数组C的每个单元格中都有2×1的数字数据,您可以轻松地将其转换为N×2的数字矩阵M,就像使用函数将每个元素四舍五入为2个有效数字一样:

M = round([C{:}].', 2);

语法C{:}创建了C的内容的一个集合,相当于C{1},C{2}。。。C{N}。这些都是使用[…],然后结果是使用。“。

OP data是一个列向量的单元格数组。。。您的代码将生成一个新的列向量,其中所有值混合在一起。另外,当您可以指定函数中的位数时,为什么要使用这种舍入方法呢?OP data是列向量的单元格数组。。。您的代码将生成一个新的列向量,其中所有值混合在一起。另外,当您可以指定函数中的位数时,为什么要使用这种舍入方法?