浮点数的单元格有效位-Matlab

浮点数的单元格有效位-Matlab,matlab,Matlab,如何更改浮点数的单元格(表_数据)有效位(例如,数字后面的2个数字) 代码: 试试这个: table_data=cellfun(@(x) sprintf('%0.2f', x), vertcat(num2cell(rand(25)),num2cell(rand(25))), 'UniformOutput',0); 如果要更改位数(例如,4,更改为'%0.4f')。通常的方法是乘以100,圆形/地板/天花板/固定,然后除以100 table_data = vertcat(num2cell(rou

如何更改浮点数的单元格(表_数据)有效位(例如,数字后面的2个数字)

代码:

试试这个:

table_data=cellfun(@(x) sprintf('%0.2f', x), vertcat(num2cell(rand(25)),num2cell(rand(25))), 'UniformOutput',0);

如果要更改位数(例如,4,更改为
'%0.4f'
)。

通常的方法是乘以100,圆形/地板/天花板/固定,然后除以100

table_data = vertcat(num2cell(round(rand(25) * 100) / 100), num2cell(round(rand(25) * 100) / 100));
当然,您可以先创建单元格数组,然后再进行更改:

table_data = cellfun(@(x) round(x * 100) / 100, vertcat(num2cell(rand(25)), num2cell(rand(25))), 'UniformOutput',0);

我不得不对这个问题投反对票,因为这里有问题。你接受了一个将数字单元格数组转换为字符数组单元格数组的答案。我没有投反对票。如果结果存储为字符,我没有问题,我看不出结果不正确。但是Stackoverflow是一个问答平台,旨在帮助将来使用rs,你的问题是如何更改浮点数的有效数字,而不是如何将浮点数转换为字符数组。我的否决票并不取决于你对我的否决票。它们只取决于一个问题或答案对未来其他用户的帮助程度。如果你问了一个问题并标记了一个答案,而这个答案并不代表你的否决票回答你的问题这是一个糟糕的问题。此外,我会否决这个问题,因为它没有显示任何努力或研究:
table_data = cellfun(@(x) round(x * 100) / 100, vertcat(num2cell(rand(25)), num2cell(rand(25))), 'UniformOutput',0);