您好,登錄后才能下訂單哦!
這篇文章主要介紹“matlab匿名函數怎么用”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“matlab匿名函數怎么用”文章能幫助大家解決問題。
在Matlab7.0以后的版本中
出現了一種新的函數類型–匿名函數
不但能夠完成原來版本中
內聯函數(inline)的功能
還提供了其他更方便的功能
1,匿名函數的基本用法
handle = @(arglist)anonymous_function
其中handle為調用匿名函數時使用的名字
arglist為匿名函數的輸入參數
可以是一個,也可以是多個,用逗號分隔
anonymous_function為匿名函數的表達式
舉個例子如下:
>> f=@(x,y)x^2+y^2;
>> f(1,2)
ans =
5
當然輸入的是數組也是可以的:
>> f=@(x,y)x.^2+y.^2; %注意需要點(.)運算
>> a=1:1:10;
>> b=10:-1:1;
>> f(a,b)
ans =
101
85
73
65
61
61
65
73
85
101
匿名函數的表達式中也可以有參數的傳遞,比如:
>> a=1:5;
>> b=5:-1:1;
>> c=0.1:0.1:0.5;
>> f=@(x,y)x.^2+y.^2+c;
>> f(a,b)
ans =
26.1000
20.2000
18.3000
20.4000
26.5000
c作為表達式中的參數,進行了數據傳遞
上面都是單重匿名函數
也可以構造多重匿名函數,如:
>> f=@(x,y)@(a) x^2+y^+a;
>> f1=f(2,3)
f1 =
@(a)x^2+y^+a
>> f2=f1(4)
f2 =
85
每個@后的參數從它后面開始起作用
一直到表達式的最后。
2.使用匿名函數實現符號函數的賦值運算
在老版本的Matlab中
這個功能是由inline函數完成的
現在用匿名函數完成此功能
比如:知道z=2x^3+4x+5
求z在x=3處的2階導數值
可以先用符號函數算出z的2階導數的表達式
然后通過匿名函數,把x賦予3的值
得到最后結果:
>> syms x; %定義符號變量
>> z=2*x^3+4*x+5;
%定義表達式
>> z1=diff(z,2)
%求z的2階導數的表達式 z1 = 12*x
>> z2=eval_r(['@(x)' vectorize(z1)]);
%vectorize函數的功能是
%使內聯函數適合數組運算的法則
>> z2(3)
ans =
36
關于“matlab匿名函數怎么用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。