在Matlab中创建具有行和列名的空表

在Matlab中创建具有行和列名的空表,matlab,rows,names,matlab-table,Matlab,Rows,Names,Matlab Table,我是Matlab新手,所以我遇到了一个需要创建具有特定行和列名称的表的问题 CameraCar = array2table(zeros(0,20), 'VariableNames',{"c1","c2","c3","c4","c5","c6","c7","c8","c9","c10","c11","c12","c13","c14","c15","c16","c17","c18","c19","c20"},'RowNames',{1:800}); 我曾尝试在代码上使用上述行,但在创建代码时,我遇

我是Matlab新手,所以我遇到了一个需要创建具有特定行和列名称的表的问题

CameraCar = array2table(zeros(0,20), 'VariableNames',{"c1","c2","c3","c4","c5","c6","c7","c8","c9","c10","c11","c12","c13","c14","c15","c16","c17","c18","c19","c20"},'RowNames',{1:800});
我曾尝试在代码上使用上述行,但在创建代码时,我遇到了下面提到的错误

错误使用 matlab.internal.tabular.private.rowNamesDim/validateAndAssignLabels 第109行RowNames属性必须是单元格数组,每个 包含一个非空字符向量的元素

matlab.internal.tablar.private.tablerDimension/setLabels中存在错误 第173行 obj=obj.validateAndAssignLabelsnewLabels、Index、fullAssignment、fixDups、fixEmpties、FixInlock

错误 matlab.internal.tablar.private.tablerDimension/createLike_impl line 355 obj=obj.setLabelsdimLabels,[]

matlab.internal.tablar.private.tablerDimension/createLike中存在错误 第62行 obj=obj.createLike_impldimLength,dimLabels

表格/INIT第206行出错 t、 rowDim=t.rowDim.createLikeRows,rowLabels

table.init第327行出错 t=initInternalst、vars、numRows、行标签、numvar、varnames

array2table第64行出错 t=table.initvars,nrows,rownames,nvars,varnames

CarMatrix第1行CameraCar=array2tablezeros0,20中的错误, ‘可变名称’,{c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,c20},'RowNames',{1:800}

试试这个:

% Get your row numbers (optional as the table already gives these numbers
% as default)
rowNumbers = 1:1:800;
% Convert to cellarray
myCellArray = num2cell(rowNumbers);
% Convert numbers to strings
myCellArray = cellfun(@num2str, myCellArray, 'UniformOutput', false);
% Set up table
CameraCar = array2table(zeros(800,20), 'VariableNames',{'c1','c2','c3','c4','c5','c6','c7',...
    'c8','c9','c10','c11','c12','c13','c14','c15','c16','c17','c18','c19','c20'},'RowNames',myCellArray);

有很多错误,但为什么要创建一个空表?我需要根据可用数据填充表,然后按编程方式填充,那么为什么需要空表?您可以用零或任何其他值填充它,然后只替换值。诀窍是使用cell2table或array2table,如果使用array2table,则必须使用零或nan数组来填充元素。单元格数组可以是空元素数组。如果要指定行名称,则单元格或数组必须具有正确的行数。虽然可以用空单元格填充,但最好用零或NaN或任何其他值填充。否则,稍后您将需要再次将矩阵转换为单元格,以便将元素存储在那些在我看来总体上似乎过于致命的位置