matlab中如何定義函式

來源:酷知科普網 9.55K

操作方法

(01)自定義函式的途徑:M檔案函式(M file function)線上函式(Inline Function)匿名函式(Anonymous Function)

matlab中如何定義函式

(02)1.M檔案函式範例function c=myadd(a,b)%這裡可以寫函式的使用說明,前面以%開頭%在工作區中,help myadd將顯示此處的說明c=a+b;%end %非必須的第一行function告訴Matlab這是一個函式,a,b是輸入,c是輸出,myadd是函式名。以m檔案定義的函式必須儲存為函式名的形式,上例 中,函式應儲存為myadd.m。要使用myadd函式,該函式必須在Matlab的搜尋路徑中。呼叫方式:在Matlab命令符後輸入a=1;b=2;c=myadd(a,b)

matlab中如何定義函式 第2張

(03)線上函式 (Inline Function)通常作為引數傳遞給另外一個函式。比如fminsearch,lsqcurvefit等函式需要以函式作為引數。線上函式從字串表示式建立函式,例如:f=inline('x.^2','x');建立了函式f(x)=x^2。要計算f(3),在工作區輸入f(3)即可。f([2 3 4])計算在x=2 3 4時的值f=inline('x+y','x','y')建立了二元函式f(x,y)=x+y,工作區輸入f(2,3)計算2+3,等同於feval(f,2,3)。

matlab中如何定義函式 第3張

(04)匿名函式(Anonymous Function)匿名函式使用函式控制代碼來表示匿名函式,定義形式為函式控制代碼=@(變數名) 函式表示式例如:f=@(x) x.^2定義了函式f(x)=x^2,f(2)計算在x=2處的值。匿名函式可以呼叫Matlab函式,也可以使用工作區中存在的變數,例如a=2;f=@(x) x.^2+af(2) %計算時引用了變數aa=0;f(2) %仍然引用的是a=2匿名函式也可以由Matlab的內建函式或M檔案函式建立,例如f=@sin %f(x)=sin(x)f(pi/2) %sin(pi/2)functions(f) %檢視函式資訊利用單元陣列可以建立多個函式的控制代碼,例如f={@sin @cos}f{1}(pi/2) %計算sin(pi/2)f{2}(pi) %計算cos(pi)函式控制代碼的另一個重要特徵是可以用來表示子函式、私有函式和巢狀函式。Matlab 7以後,建議以匿名函式取代線上函式。在建立匿名函式時,Matlab記錄了關於函式的資訊,當使用控制代碼呼叫該函式的時候,Matlab不再進行搜尋,而是立即執行該函式,極大提高了效率

matlab中如何定義函式 第4張
熱門標籤