天天看點

matlab z變換離散化_基于MATLAB的傅裡葉級數可視化

matlab z變換離散化_基于MATLAB的傅裡葉級數可視化
V2.0程式已經釋出,加入FFT等算法,功能大幅提升,實用性更強,歡迎關注! 文章連結:

[V2.0]基于MATLAB的傅裡葉級數可視化

最近這份代碼受到很多朋友關注,在此一并感謝!由于寫這份代碼時的時間有限,當時的知識儲備也不甚完善,是以隻是做出了基本功能。

近期正在對這份代碼進行更新,意圖優化代碼結構,并加入FFT等算法讓其更具通用性,實作對不同函數傅立葉級數的實時計算。 完成代碼後會第一時間釋出2.0版本,十分感謝大家的支援!

去年有幸選到學校MATLAB的選修課,課程作業是利用MATLAB寫一個GUI程式,作為電類專業的國小生,當時正

學習《信号與系統》

,同時看到前輩們對于傅裡葉變換的各種精妙文章,就做了這樣一個

傅裡葉級數

可視化的小程式。

最近整理資料時候,寫此文章将其

開源

,希望對其他人有幫助啦。

程式是這樣紙的:

matlab z變換離散化_基于MATLAB的傅裡葉級數可視化

程式主界面

注:部分算法參考了網上關于傅裡葉級數展開的已有文章。

CSDN

代碼連結:https://download.csdn.net/download/sinat_38896294/10647356

============程式介紹=================

一、打開方式

運作

main.m

檔案 即可打開程式

二、選題背景
傅裡葉變換是電類專業研究“信号與系統“的核心内容,正确了解傅裡葉變換,首先應充分了解傅裡葉級數的實體意義,即:任何連續測量的時序或信号,都可以表示為不同頻率的正弦波信号的無限疊加。

本程式通過對傅裡葉級數展開過程的可視化分析,利用MATLAB在繪圖、計算方面的優勢,将傅裡葉的展開過程清晰地呈現出來,進而更好地幫助使用者了解傅裡葉級數,為電類專業未來的學習打下良好基礎。

三、程式介紹
  1. 程式核心為周期函數傅裡葉展開的三維可視化。從時域、頻域、相位等角度清晰地表現了傅裡葉展開的過程。
  2. 程式以方波信号為例,使用者可自主選擇展開級數,進而得到不同精度的拟合函數。
  3. 下方三個圖像更加清晰的展示了傅裡葉級數展開後的實體意義,幫助使用者了解傅裡葉展開的核心内容。
  4. 利用rotate3d,使用者可旋轉圖像,以從不同角度觀察傅裡葉展開細節。(三維圖中,為使幅頻特性更加清晰,對幅頻特性的強度作了等比放大,實際大小可從下方離散幅度譜檢視)
四、檔案結構介紹
  • ex_gui.m 為程式主架構
  • ex_fly_f(繪制離散幅頻圖)、ex_fly_dt(繪制動态拟合圖)、ex_fly_one(繪制三維圖)、ex_fly_nh(繪制拟合圖)、ex_fly_zz(繪制各次諧波疊加圖) 繪圖 核心程式。
  • draw_all(執行繪圖指令函數)、filesave(儲存圖像)、radio_one_Callback(radio_one的callback函數)、radio_two_Callback(radio_two的callback函數)、calledit(多數控件的callback函數) 為自定義輔助函數。
  • ex_words 為存放程式背景的容器。

著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

繼續閱讀