[討論] 畫頻譜圖

看板MATLAB作者 (ReiFu)時間11年前 (2014/03/26 22:04), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
clc data=sin(1:0.01:1000); %模擬data t2=10; %取前10秒的資料 fs=500; %每秒紀錄500個數據 即頻率為500 y=data(1:fs*t2); Y=fft(y,1024); %計算1024點的fft f=linspace(0,fs/2,1024/2+1); %設定一個頻率向量,到達Nyquist freq figure(1),plot([1:length(y)]/fs,y) xlabel('秒') figure(2),semilogy(f,abs(Y(1:1024/2+1))) 網路上找到的程式 想要畫出頻譜圖 跑程式會出現兩張圖 一張是sin波模擬數據圖 10秒鐘有接近8個全波長(頻率接近0.8) 第二張圖是頻譜圖 會發現頻譜的尖峰出現在x為0.976左右的位置 而非接近0.8 請問是哪裡需要修正呢? 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.35.57.176 ※ 文章網址: http://www.ptt.cc/bbs/MATLAB/M.1395842666.A.8E4.html
文章代碼(AID): #1JCjvgZa (MATLAB)
文章代碼(AID): #1JCjvgZa (MATLAB)