在这种未定义与 'table' 类型的输入参数相对应的函数 'LENGTH'。请改用 height、width 或 size 函数。 情况下怎么修改上述代码
时间: 2023-10-14 19:06:06 浏览: 169
深入理解javascript函数参数与闭包
这个错误提示是因为 `table` 类型的变量不支持 `length` 函数,需要使用 `height` 或 `width` 函数来获取行数或列数。因此,你可以按照下面的方式修改上述代码:
```matlab
% 假设 tbl 是一个 table 类型的变量,其中包含了 height 和 fx 两列数据
N = height(tbl); % 获取 table 中的行数
fs = 1/(tbl.time(2)-tbl.time(1)); % 获取时域信号的采样频率
f = (0:(N/2))*(fs/N); % 构造频率序列
fx_fft = fft(tbl.fx); % 对幅值序列进行傅里叶变换
fx_fft = fx_fft(1:N/2+1); % 取出正频率部分
fx_fft(2:end-1) = 2*fx_fft(2:end-1); % 对幅值进行修正
fx_abs = abs(fx_fft); % 取幅值谱
```
在上述代码中,`height` 函数用来获取 `tbl` 表格变量的行数,而 `tbl.time` 和 `tbl.fx` 分别用来获取表格中的 `time` 和 `fx` 两列数据。
阅读全文