MATLAB匿名函式的應用1

2021-08-08 12:07:01 字數 1041 閱讀 4341

匿名函式可以非常方便的表示所求的方程,並供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 long

>> x0=fzero(f,3)

x0 =

4.163549956946139

>> f(x0)

ans =

2.842170943040401e-14

又上例可以看出,匿名函式在表達方程方面很簡潔。上例沒有引數,如果方程有引數而且要求對不同的引數一一求解方程相應的根

例1-1續

對於a=[0,0.01,0.02,…,2],求下列方程相應的x值,並畫出a和相應的x的影象。

f=@(a)@(x)exp(x)+x^a+x^(sqrt(x))-100;%建構函式控制代碼

format long

aa=0:0.01:2;

plot(aa,arrayfun(@(a) fzero(f(a),4),aa),'*-')%利用arrayfun求解不同的a對應的x

xlabel('$a$','interpreter','latex','fontsize',15)%標註x、y座標軸,按照latex語法

ylabel('$x$','interpreter','latex','fontsize',15)

title('$\mathrm^+x^}+x^a-100$','interpreter','latex',...

'fontsize',15)

生成的圖形如圖所示

MATLAB匿名函式的應用4

有時候需要推導一些表示式,而對得到的表示式進行諸如求值 積分或者極值的運算。如果表示式不是很複雜的話,可以手動推導。但是很多時候手動推導非常煩瑣甚至根本不可能,這時候就要借助計算機來推導。在得到表示式後,再將其轉化成匿名函式,從而方便的進行後續例1求下面函式三階導數在 0,1 的影象。本例如果用手動...

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 是...