Matlab如何删除可变长度table表格的最后一行
Matlab删除动态长度table最后一行的方法
针对长度动态变化的table,最稳妥的实现方式不需要绑定任意列的长度,直接使用Matlab为table设计的行数查询方法即可,步骤如下:
- 用
height()函数实时获取当前table的总行数,该函数会自动适配table的动态增删操作,返回实时的实际行数 - 直接索引最后一行赋值为空数组,即可完成删除
正确可运行的示例代码
% 初始化测试table(可替换为自己动态生成的table) x = 1:10; y = 11:20; t = table(x,y); % 核心删除逻辑,适配所有动态长度变化的table场景 t(height(t), :) = [];
补充说明
- 你提供的参考代码存在两个问题:
- 语法错误:行索引部分多写了一个左中括号,
t([lastrow,:) = []会直接报错,正确写法应为t(lastrow,:) = [] - 兼容性差:用
length(x)获取行数的方式仅在x和table行数完全同步时有效,table动态增删行后如果x没有同步更新,会出现删错行、索引越界的问题
- 语法错误:行索引部分多写了一个左中括号,
- 如果你使用的是没有
height()函数的老版本Matlab,也可以用size()函数获取行数,写法如下:
t(size(t,1), :) = [];
内容的提问来源于stack exchange,提问作者alirazi
相关产品推荐
相关产品推荐

