有時候需要推導一些表示式,而對得到的表示式進行諸如求值、積分或者極值的運算。如果表示式不是很複雜的話,可以手動推導。但是很多時候手動推導非常煩瑣甚至根本不可能,這時候就要借助計算機來推導。在得到表示式後,再將其轉化成匿名函式,從而方便的進行後續
例1求下面函式三階導數在[0,1]的影象。
本例如果用手動計算的話,比較煩瑣。如果用符號運算得到三階導數的解析表示式,然後再轉化成匿名函式,則比較方便。
**如下
syms x
f=(x+tan(x))^(sin(x));
c=diff(f,3);
f3=eval(['@(x)'
vectorize(c)]);
x=linspace(0,1,100);
plot(x,f3(x),'r','linewidth',2)
title('y=(x+tan(x))\^(sin(x))三階導數影象')
xlabel('x');ylabel('y');
得到的圖形如圖
eval函式的功能是將字串轉換為matlab可執行語句
vectorize函式的功能是把乙個接受標量的函式(更準確的說,可呼叫物件)變為接受向量的函式
MATLAB匿名函式的應用1
匿名函式可以非常方便的表示所求的方程,並供fzero等求解函式呼叫。例1 求解下列方程的根 f x x x a 100 求解 如下 f x exp x x 2 x sqrt x 100 f 包含以下值的 function handle x exp x x 2 x sqrt x 100 format ...
MATLAB匿名函式
fhandle arglist expr其中,expr是具體的函式表示式,arglist是指定的函式自變數。具體請見下面示例 f x x.2 fx f 1 10 fx 1 4 9 16 25 36 49 64 81 100 g x,y x.2 y.2 gxy g 1 10,2 11 gxy 5 13...
matlab匿名函式
匿名函式 匿名函式 什麼是匿名函式?匿名函式是不儲存在程式檔案中 但與資料型別是 function handle 的變數相關的函式。匿名函式可以接受輸入並返回輸出,就像標準函式一樣。但是,它們可能只包含乙個可執行語句。例如,建立用於計算平方數的匿名函式的控制代碼 sqr x x.2 變數 sqr 是...