
- Matlab 教程
- MATLAB - 首頁
- MATLAB - 概述
- MATLAB - 特性
- MATLAB - 環境設定
- MATLAB - 編輯器
- MATLAB - 線上版
- MATLAB - 工作區
- MATLAB - 語法
- MATLAB - 變數
- MATLAB - 命令
- MATLAB - 資料型別
- MATLAB - 運算子
- MATLAB - 日期和時間
- MATLAB - 數字
- MATLAB - 隨機數
- MATLAB - 字串和字元
- MATLAB - 文字格式化
- MATLAB - 時間表
- MATLAB - M 檔案
- MATLAB - 冒號表示法
- MATLAB - 資料匯入
- MATLAB - 資料匯出
- MATLAB - 資料歸一化
- MATLAB - 預定義變數
- MATLAB - 決策
- MATLAB - 決策語句
- MATLAB - if 語句
- MATLAB - if-else 語句
- MATLAB - if-elseif-else 語句
- MATLAB - 巢狀 if 語句
- MATLAB - switch 語句
- MATLAB - 巢狀 switch
- MATLAB - 迴圈
- MATLAB - 迴圈
- MATLAB - for 迴圈
- MATLAB - while 迴圈
- MATLAB - 巢狀迴圈
- MATLAB - break 語句
- MATLAB - continue 語句
- MATLAB - end 語句
- MATLAB - 陣列
- MATLAB - 陣列
- MATLAB - 向量
- MATLAB - 轉置運算子
- MATLAB - 陣列索引
- MATLAB - 多維陣列
- MATLAB - 相容陣列
- MATLAB - 分類陣列
- MATLAB - 元胞陣列
- MATLAB - 矩陣
- MATLAB - 稀疏矩陣
- MATLAB - 表格
- MATLAB - 結構體
- MATLAB - 陣列乘法
- MATLAB - 陣列除法
- MATLAB - 陣列函式
- MATLAB - 函式
- MATLAB - 函式
- MATLAB - 函式引數
- MATLAB - 匿名函式
- MATLAB - 巢狀函式
- MATLAB - 返回語句
- MATLAB - 無返回值函式
- MATLAB - 區域性函式
- MATLAB - 全域性變數
- MATLAB - 函式控制代碼
- MATLAB - 濾波函式
- MATLAB - 階乘
- MATLAB - 私有函式
- MATLAB - 子函式
- MATLAB - 遞迴函式
- MATLAB - 函式優先順序
- MATLAB - map 函式
- MATLAB - mean 函式
- MATLAB - end 函式
- MATLAB - 錯誤處理
- MATLAB - 錯誤處理
- MATLAB - try...catch 語句
- MATLAB - 除錯
- MATLAB - 繪圖
- MATLAB - 繪圖
- MATLAB - 繪製陣列
- MATLAB - 繪製向量
- MATLAB - 條形圖
- MATLAB - 直方圖
- MATLAB - 圖形
- MATLAB - 二維線圖
- MATLAB - 三維圖
- MATLAB - 格式化繪圖
- MATLAB - 對數座標軸圖
- MATLAB - 繪製誤差條
- MATLAB - 繪製三維等值線圖
- MATLAB - 極座標圖
- MATLAB - 散點圖
- MATLAB - 繪製表示式或函式
- MATLAB - 繪製矩形
- MATLAB - 繪製頻譜圖
- MATLAB - 繪製網格曲面
- MATLAB - 繪製正弦波
- MATLAB - 插值
- MATLAB - 插值
- MATLAB - 線性插值
- MATLAB - 二維陣列插值
- MATLAB - 三維陣列插值
- MATLAB - 多項式
- MATLAB - 多項式
- MATLAB - 多項式加法
- MATLAB - 多項式乘法
- MATLAB - 多項式除法
- MATLAB - 多項式的導數
- MATLAB - 變換
- MATLAB - 變換函式
- MATLAB - 拉普拉斯變換
- MATLAB - 拉普拉斯濾波器
- MATLAB - 高斯-拉普拉斯濾波器
- MATLAB - 逆傅立葉變換
- MATLAB - 傅立葉變換
- MATLAB - 快速傅立葉變換
- MATLAB - 二維逆餘弦變換
- MATLAB - 向座標軸新增圖例
- MATLAB - 面向物件
- MATLAB - 面向物件程式設計
- MATLAB - 類和物件
- MATLAB - 函式過載
- MATLAB - 運算子過載
- MATLAB - 使用者自定義類
- MATLAB - 複製物件
- MATLAB - 代數
- MATLAB - 線性代數
- MATLAB - 高斯消元法
- MATLAB - 高斯-約旦消元法
- MATLAB - 簡化行階梯形
- MATLAB - 特徵值和特徵向量
- MATLAB - 積分
- MATLAB - 積分
- MATLAB - 二重積分
- MATLAB - 梯形法則
- MATLAB - 辛普森法則
- MATLAB - 其他
- MATLAB - 微積分
- MATLAB - 微分
- MATLAB - 矩陣求逆
- MATLAB - GNU Octave
- MATLAB - Simulink
- MATLAB - 有用資源
- MATLAB - 快速指南
- MATLAB - 有用資源
- MATLAB - 討論
MATLAB - 繪製正弦波
在 MATLAB 中繪製正弦波可以幫助你將週期性訊號視覺化並研究其特性。正弦波是訊號處理、通訊系統和許多其他領域的基礎。MATLAB 提供了簡單而強大的函式來生成和視覺化正弦波。
在 MATLAB 中,有多種函式可用於繪製正弦波,包括:
- plot() 函式
- fplot() 函式
- ezplot() 函式
- stem() 函式
- polarplot() 函式
使用 plot() 函式
MATLAB 中的 plot() 函式是建立二維資料圖的基本工具。它允許你透過繪製點並將它們用線連線起來來視覺化資料中的關係和模式。使用 plot(),你可以建立各種型別的圖,包括線圖、散點圖等等,這使得它成為資料分析和視覺化的多功能工具。
語法
plot(X, Y)
MATLAB 中使用 **plot(X,Y)** 建立二維圖,其中 X 和 Y 是表示要繪製點的 x 和 y 座標的向量。X 和 Y 中每一對對應的元素定義圖上的一個點。plot() 函式用線連線這些點,從而建立線圖。
示例 1:使用 plot() 繪製正弦波
程式碼如下:
t = 0:0.01:2*pi; y = sin(t); plot(t, y);
- 在這個例子中,我們首先使用冒號運算子 (:) 定義一個時間向量 t,生成從 0 到 2*pi 的值,步長為 0.01。
- 接下來,我們使用 sin() 函式計算與 t 中每個時間值對應的正弦值 y。
- 最後,我們使用 plot() 函式繪製正弦波,其中 t 為 x 值,y 為 y 值。這將建立一個以時間為 x 軸、幅度為 y 軸的正弦波圖。
在 MATLAB 命令視窗中執行程式碼後,輸出結果如下:

示例 2:繪製頻率為 10 Hz 的正弦波
程式碼如下:
f = 10; a = 1; phi = 0; t = 0:1/(f*100):1; y = a * sin(2*pi*f*t + phi); plot(t, y);
在上例中:
- 程式碼定義了一個頻率為 10 Hz (f = 10),幅度為 1 伏特 (a = 1),相位為 0 弧度 (phi = 0) 的正弦波。
- 它生成一個從 0 到 1 秒的時間向量 t,步長對應於頻率,確保正弦波在一個指定的時間範圍內完成一個週期。
- 正弦波方程 y = a * sin(2*pi*f*t + phi) 計算 t 中每個時間點的正弦波值,同時考慮頻率、幅度、相位和時間向量。
- 最後,使用 plot() 函式繪製正弦波,並新增標籤和標題以提高畫質晰度。
執行程式碼後,輸出結果如下:

使用 fplot() 函式
MATLAB 中的 fplot() 函式用於在一個指定範圍內繪製函式。它對於視覺化數學函式(包括正弦波等三角函式)特別有用。與需要顯式計算函式值的 plot() 函式不同,fplot() 可以直接繪製 y = f(x) 形式的函式。
語法
fplot(fun, [xmin, xmax])
fplot(fun, [xmin, xmax]):其中 fun:要繪製的函式。它可以是匿名函式或函式控制代碼。[xmin, xmax]:應繪製函式的 x 值範圍。
示例:使用 fplot() 繪製正弦波
程式碼如下:
fun = @(x) sin(2*pi*60*x); fplot(fun, [0, 1/60]);
在上例中
- 我們有一個表示頻率為 60 Hz 的正弦波的匿名函式 fun。
- fplot() 函式用於在一個週期 (0 到 1/60 秒) 內繪製正弦波。
- x 軸表示時間(秒),y 軸表示正弦波的幅度。
執行程式碼後,輸出結果如下:

使用 ezplot() 函式
MATLAB 中的 ezplot() 函式用於繪製二維隱式和顯式方程。它對於視覺化數學表示式特別有用,無需顯式定義函式。ezplot() 可以處理單變數和引數表示式,使其成為各種繪圖任務的多功能工具。
語法
ezplot(equation) ezplot(equation, [xmin, xmax])
- **方程** - 要繪製的方程。它可以是顯式方程 y = f(x) 或隱式方程 f(x, y) = 0。
- **[xmin, xmax]** - (可選)應繪製方程的 x 值範圍。
示例:使用 ezplot() 繪製正弦波
程式碼如下:
ezplot('sin(x)', [0, 2*pi])
上面的程式碼是:
- ezplot() 函式用於在 [0, 2*pi] 範圍內繪製正弦波 y = sin(x)。
- 方程 'sin(x)' 表示正弦函式 sin(x),其中 x 是自變數。
- 範圍 [0, 2*pi] 指定繪製正弦波的 x 軸限制,涵蓋正弦函式的一個完整週期。
執行程式碼後,輸出結果為:

僅使用 ezplot('sin(x)'),輸出結果如下:

使用 stem() 函式
MATLAB 中的 stem() 函式用於建立莖圖,它類似於傳統圖,但將資料表示為基線上的離散點。莖圖通常用於視覺化離散資料,例如時間序列資料或訊號樣本。
語法
stem(Y) stem(X, Y)
**Y** - 要繪製的資料值的向量。
**X** - 與 Y 中的資料值對應的 x 座標的可選向量。
示例:正弦波的簡單莖圖
程式碼如下:
t = 0:0.1:2*pi; y = sin(t); stem(t, y);
在這個例子中,我們建立一個時間向量 t 並計算正弦值 y。
- stem() 函式用於繪製正弦波,其中 t 為 x 座標,y 為 y 座標。
- 該圖將正弦波的離散樣本表示為從 x 軸每個時間點上升的莖。
程式碼執行後的輸出如下:

使用 polarplot() 函式
MATLAB 中的 polarplot() 函式用於創建極座標圖,這是一種使用極座標而不是笛卡爾座標的圖表。極座標圖尤其適用於視覺化週期性函式(例如正弦波)或以極座標形式自然表示的資料。
語法
polarplot(theta, rho)
- theta − 每個資料點的角度向量(以弧度為單位)。
- rho − 每個資料點到原點的徑向距離向量。
示例:使用 polarplot() 繪製正弦波
程式碼如下:
theta = 0:0.01:2*pi; rho = sin(theta); polarplot(theta, rho);
在這個例子中:
- 我們定義一個角度向量 theta,其範圍從 0 到 2*pi(完整旋轉一圈),步長很小。
- 我們將徑向距離 rho 計算為與 theta 中每個角度對應的正弦值。
- polarplot() 函式用於在極座標中繪製正弦波,其中 theta 為角度,rho 為徑向距離。
- 生成的圖將正弦波顯示為圍繞原點的螺旋線,其中到原點的距離表示每個角度下正弦波的幅度。
執行程式碼後,輸出結果如下:
