需求:创建一个以字符串为行名的table
name = {"zhangsan"; "list"; "wangwu"};
ID = {100; 408; 504};
Chinese = {87; 98; 67};
Eng = {87; 75; 94};
table(name, ID, Chinese, Eng);
table(ID, Chinese, Eng, "RowNames", name)
报错1:错误使用 table(第233行)所有表变量必须具有相同的行数
原因:您可能打算使用"RowNames"指定参数名称。但是,表构造函数要求必须将参数名称指定为字符向量。请改用’RowNames’
报错2:RowNames属性必须为字符串数组或元胞数组,每个名称都包含一个或多个字符
修改
name = {'zhangsan'; 'list'; 'wangwu'};
ID = {100; 408; 504};
Chinese = {87; 98; 67};
Eng = {87; 75; 94};
table(name, ID, Chinese, Eng)
table(ID, Chinese, Eng, 'RowNames', name)
思考:
- name为什么不能用双引号?
- RowNames为什么用单引号?
MATLAB中双引号和单引号有什么区别?
table中增加行或列报错
name = {'zhangsan'; 'list'; 'wangwu'};
ID = {100; 408; 504};
Chinese = {87; 98; 67};
Eng = {87; 75; 94};
table(name, ID, Chinese, Eng)
% 增加列
% t_data.total = t_data.Chinese + t_data.Eng
% 报错:'cell' 类型的操作数不支持运算符 '+'。
% 增加行
% t_data(4, :) = {'zhaoliu', 418, 97, 57}
% 报错:赋值中的表变量数目必须匹配。