Matlab中为表格列添加常量值的简便实现方法咨询
Matlab table 新增固定常量列的简化实现
以下是两种可同时适配x2、y2列赋值的短代码方案,无需手动重复写入常量值:
方案1:高版本最简写法(R2020a及以后版本适用)
Matlab R2020a及更高版本支持单个常量自动扩展为与表格其他列行数一致的列,直接赋值即可:
clc; clear all; x1 = [38;43;38;40;49;18;41;58;10;55]; y1 = rot90(11:20); % 无需手动写10次2,直接赋值常量即可 x2 = 2; y2 = 6; dTable = table(x1,y1,x2,y2);
如果是已经创建好的表格需要追加列,写法更简洁:
% 假设已创建基础表格 dTable = table(x1,y1); dTable.x2 = 2; dTable.y2 = 6;
方案2:全版本兼容写法
如果使用R2020a之前的版本,可通过repmat或者ones乘常量生成等长的列,自动匹配行数:
clc; clear all; x1 = [38;43;38;40;49;18;41;58;10;55]; y1 = rot90(11:20); % repmat(常量, 行数, 1) 生成指定行数的常量列 x2 = repmat(2, length(x1), 1); y2 = repmat(6, length(x1), 1); dTable = table(x1,y1,x2,y2);
追加列的兼容写法:
% height() 直接获取现有表格的行数,无需手动计数 dTable.x2 = repmat(2, height(dTable), 1); dTable.y2 = repmat(6, height(dTable), 1);
两种方案都可以根据你的Matlab版本灵活选择,修改对应常量值即可适配任意固定值的列赋值,不受表格行数变化影响。
内容的提问来源于stack exchange,提问作者hsi100
相关产品推荐
相关产品推荐

