求用MATLAB做FFT,需要傅里叶变换的数据我保存在“输出数据.txt“中,回答对的加分求完整程序
答案:2 悬赏:60
解决时间 2021-02-16 19:19
- 提问者网友:刪除丶後
- 2021-02-16 09:56
求用MATLAB做FFT,需要傅里叶变换的数据我保存在“输出数据.txt“中,回答对的加分求完整程序
最佳答案
- 二级知识专家网友:旧事诱惑
- 2021-02-16 10:20
matlab中一般把数据存为.mat文件,例如存fft的数据的话可以这样
a=fft(b);
save fft.mat 'a'
fft.mat中的fft是文件名,可以符合命名格式的前提任意取,而‘.mat’是文件格式,后面的'a'就是要存的变量,这样的话就会在当前路径下看到fft.mat这个文件了
如果要调用fft.mat里面的数据的话就使用load命令,如:
load fft.mat
这样就相当于把上面存好的数据调出来。至于你说的“输出数据.txt“我没试过,不知道可不可以
a=fft(b);
save fft.mat 'a'
fft.mat中的fft是文件名,可以符合命名格式的前提任意取,而‘.mat’是文件格式,后面的'a'就是要存的变量,这样的话就会在当前路径下看到fft.mat这个文件了
如果要调用fft.mat里面的数据的话就使用load命令,如:
load fft.mat
这样就相当于把上面存好的数据调出来。至于你说的“输出数据.txt“我没试过,不知道可不可以
全部回答
- 1楼网友:爱情是怎么炼成的
- 2021-02-16 10:27
fs=128;%%采样频率
n=512;%%采样点数
dt=1/fs;%%时域最小间隔,即时域分辨率
t=(0:n-1)*dt;%%采样时间长度
df=fs/n;%%频域最小间隔,即频域分辨率
f=(-n/2+1:n/2)*df;
x=5*sin(2*pi*20*t)+3*sin(2*pi*30*t);
y=fft(x);
y=fftshift(y);
a=abs(y);
a=a/(n/2);%%还原真实幅值
figure(1)
subplot(121)
plot(t,x)
xlabel('时间t')
ylabel('幅值x')
grid on
subplot(122)
plot(f,a)
xlabel('频率f')
ylabel('幅值a')
grid on
你那句就是错的,有问题,一般不那么写,因为频率有一半是负的。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |