以下我們用一個例子說明如何擷取圖形資料:
syms x %使用 symbolic toolbox 定義變數 $x$
f = ezplot( x^2, [-1,1] ); %使用 ezplot 繪製 $x^2$ 且限定 區間 $[-1,1]$
f_xaxis = get(f, 'xdata' ); %從 ezplot 提取 圖形 $x$ 軸資料
f_yaxis = get(f, 'ydata'); %從 ezplot 提取 圖形 $y$ 軸資料
那麼上述中的 f_xaxis 即為我們原函數在ezplot 的x軸資料, f_yaxis 為我們原函數在ezplot 的y軸資料。一旦擷取完畢,要做剩餘的運算會變得相當容易,比如說要找ezplot 圖中的最大值,我們可以直接針對剛剛截取到的 y軸資料使用
max(f_yaxis)
NOTE:
由於我們是從 ezplot 的 x軸與 y軸資料來擷取最大值,故此法不保證取得的結果為 "真正" 的極值。僅是一種簡便的方法。如果讀者目的在於要找極值,則建議使用 fmincon 或者 fminunc 等函數會更為精準。
沒有留言:
張貼留言