當前位置:妙知谷 >

遊戲數碼 >電腦 >

matlab中如何定義函數

matlab中如何定義函數

操作方法

(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張
標籤: MATLAB 函數
  • 文章版權屬於文章作者所有,轉載請註明 https://miaozhigu.com/sm/diannao/98rdr.html