sortrows
很可能会完全满足您的需求。它将基于特定列进行排序,假设整个列中的数据类型是恒定的。
>> a ={'a',8,9;'b',5,6;'c',2,3};
>> a_sorted = sortrows(a,3)
a_sortred =
'c' [2] [3]
'b' [5] [6]
'a' [8] [9]
编辑
从下面的评论中可以看出,你可以先对数组进行排序,然后以与组合常规数组相同的方式向单元格数组添加一行。文档
>> a = {7,8,9;4,5,6;1,2,3};
>> a_sorted = sortrows(a,3);
>> headers = {'col1','col2','col3'};
>> a_header = [headers;a_sorted]
a_header =
'col1' 'col2' 'col3'
[ 1] [ 2] [ 3]
[ 4] [ 5] [ 6]
[ 7] [ 8] [ 9]
编辑 #2
您可以使用round函数的第二个参数来四舍五入要呈现的值。在进行四舍五入后,您可以更改显示方式的格式。通常设置为short
,即4位小数。如果将其设置为shortg
,则会尽可能显示少量小数,最多不超过4位。
>> a = [1.23456789;2.3456789;3.456789]
a =
1.2346
2.3457
3.4568
>> a_rounded = round(a,2)
a_rounded =
1.2300
2.3500
3.4600
>> format shortg
>> a_rounded
a_rounded =
1.23
2.35
3.46
如果更改格式不是一个选项,您可以将数字转换为字符串,然后显示它。这会变得有点复杂,但快速谷歌搜索会帮助您解决问题。
编辑 #3
我以前不知道这个存在,但显然您可以使用格式
style称为
bank
。即使它们为0,这将显示所有数字为两个小数点。
sortrows
函数。 - MZimmerman6