matlab里inline定义矩阵,Matlab中的inline函数_matlab中inline函数
Matlab中的inline函數(shù)
1.有時(shí)為了描述某個(gè)數(shù)學(xué)函數(shù)的方便,可以用inline()函數(shù)來(lái)直接編寫(xiě)該函數(shù),形式相當(dāng)于M-函數(shù),但無(wú)編寫(xiě)一個(gè)真正的MATLAB文件,就可以描述出某種數(shù)學(xué)關(guān)系。其調(diào)用格式為fun=inline(‘函數(shù)內(nèi)容’,自變量列表)
2. 匿名函數(shù)是MATLAB 7.0版提出的一種全新的函數(shù)描述形式,其基本格式為f=@(變量列表)函數(shù)內(nèi)容,例如,f=@(x,y)sin(x.^2+y.^2)。更重要的,該函數(shù)允許直接使用MATLAB工作空間中的變量。
許多Matlab函數(shù)(特別是數(shù)值計(jì)算方面的)可以函數(shù)句柄(function handle)或內(nèi)聯(lián)對(duì)象(inline object)作為參數(shù)。我們以quad函數(shù)為例,這個(gè)函數(shù)使用Simpson算法求函數(shù)的數(shù)值積分。它的一種調(diào)用形式是:
quad(fun, a, b)
其中,fun可以是指向被積函數(shù)的函數(shù)句柄,或者含有被積函數(shù)的內(nèi)聯(lián)對(duì)象;a和b分別是被積區(qū)間的上、下限。考慮以下積分:
使用函數(shù)句柄的方法:
% 將下面到”% EOF”的代碼保存為f.m
function y = f(x)
y = sin(x) ./ x;
% EOF
quad(@f, 1, 2)
ans =
0.6593
使用內(nèi)聯(lián)對(duì)象的方法:
quad( inline( ‘sin(x)./x’ )), 1, 2 )
ans =
0.6593
由于使用內(nèi)聯(lián)對(duì)象不需要另外建立m文件,所以比較方便,建議使用這種方法
再例如,在使用ode45函數(shù)的時(shí)候,定義函數(shù)往往需要編輯一個(gè) .m文件來(lái)單獨(dú)定義,這樣不便于管理文件,這里可以使用 inline定義函數(shù),例子如下:
ff=inline(‘[y(2);c2*sin(x*pi*3/4)-y(2)/2-sin(y(1))]’,…
‘x’,’y’,’flag’,’c2′);
[T,Y]=ode45(ff,[0,12],[0.1;0],[],c2);
喜歡 (2)or分享 (0)
總結(jié)
以上是生活随笔為你收集整理的matlab里inline定义矩阵,Matlab中的inline函数_matlab中inline函数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java thread 多线程_java
- 下一篇: matlab 读取mov文件格式,Vid