我注意到,由于构造函数checkDuplicateNames
调用的单个函数,在Matlab中创建相当大的表(> 10,000行)可能会非常慢。但是,我通常确定我通过表的名称已经是唯一的。
以下说明问题。生成10,000个随机值的时间不到一毫秒,但生成一个带有字符串行名称的随机值表会花费一秒半的时间,通过检查重复的行名称来获取1.4秒:
profile on;
a = rand(10000,1);
strind = cellstr(num2str((1:10000)'));
b = table(a, 'RowNames', strind);
profile viewer
我很好奇,是否有另一种方法在Matlab中创建表而不调用checkDuplicateNames
函数?