【发布时间】:2021-01-19 07:44:41
【问题描述】:
我正在尝试将 FFT 应用于一组数据。我正在使用这个脚本
filepath = 'C:\Users\notmyname\Desktop\note.txt';
data = importdata(filepath);
dt=data(2,1)-data(1,1);
Fs=1/dt;
L=length(data(:,2));
data_fft_full=abs(fft(data(:,2))/L);
data_fft=data_fft_full(1:L/2+1);
f=Fs*(0:(L/2))/L;
figure
plot(f,data_fft)
xlabel('f (Hz)')
我收到错误“位置 2 的索引超出数组边界(不得超过 1)。
Untitled2 中的错误(第 5 行) L=长度(数据(:,2));
这是什么意思?笔记文件包含一列数字,每个数字之间有一个空格,
【问题讨论】:
-
当您使用
data(:,2)时,这意味着data是一个至少有 2 列的矩阵,而您说“便笺文件包含单列数字”。显然这是一个超出范围的索引 -
所以用 1 替换 2 似乎可行。谢谢
-
在修复它之前,你最好知道你或某人为什么写这个
data(:,2)以及2是什么意思。为了使错误消息消失,我冒昧地建议使用data而不是data(:,2) -
根据你的代码,我猜第一个和第二个数据是计算
Fs,其余的都是另一种类型。所以用data(3:end)代替data(2,:)