matlab里inline定义矩阵,Matlab中的inline函数_matlab中inline函数
Matlab中的inline函數
1.有時為了描述某個數學函數的方便,可以用inline()函數來直接編寫該函數,形式相當于M-函數,但無編寫一個真正的MATLAB文件,就可以描述出某種數學關系。其調用格式為fun=inline(‘函數內容’,自變量列表)
2. 匿名函數是MATLAB 7.0版提出的一種全新的函數描述形式,其基本格式為f=@(變量列表)函數內容,例如,f=@(x,y)sin(x.^2+y.^2)。更重要的,該函數允許直接使用MATLAB工作空間中的變量。
許多Matlab函數(特別是數值計算方面的)可以函數句柄(function handle)或內聯對象(inline object)作為參數。我們以quad函數為例,這個函數使用Simpson算法求函數的數值積分。它的一種調用形式是:
quad(fun, a, b)
其中,fun可以是指向被積函數的函數句柄,或者含有被積函數的內聯對象;a和b分別是被積區間的上、下限。考慮以下積分:
使用函數句柄的方法:
% 將下面到”% EOF”的代碼保存為f.m
function y = f(x)
y = sin(x) ./ x;
% EOF
quad(@f, 1, 2)
ans =
0.6593
使用內聯對象的方法:
quad( inline( ‘sin(x)./x’ )), 1, 2 )
ans =
0.6593
由于使用內聯對象不需要另外建立m文件,所以比較方便,建議使用這種方法
再例如,在使用ode45函數的時候,定義函數往往需要編輯一個 .m文件來單獨定義,這樣不便于管理文件,這里可以使用 inline定義函數,例子如下:
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)
總結
以上是生活随笔為你收集整理的matlab里inline定义矩阵,Matlab中的inline函数_matlab中inline函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java thread 多线程_java
- 下一篇: matlab 读取mov文件格式,Vid