2
假設我們有一個函數定義爲:MATLAB函數和參數
函數(f,DF,X0)
其中f是一個函數,df是它的衍生物,和X0是一個初始點。我們如何在命令行中定義f?你使用內聯定義嗎?那麼df和x0呢?如果df是漸變?另外,如果x0是有序對,那麼如何在命令行中定義它?
假設我們有一個函數定義爲:MATLAB函數和參數
函數(f,DF,X0)
其中f是一個函數,df是它的衍生物,和X0是一個初始點。我們如何在命令行中定義f?你使用內聯定義嗎?那麼df和x0呢?如果df是漸變?另外,如果x0是有序對,那麼如何在命令行中定義它?
要將函數作爲變量傳遞,需要使用函數句柄。證明這一點的一種簡單方法是使用匿名函數的函數句柄。一個簡單的匿名函數可以被定義如下:
handle = @(arglist)anonymous_function
因此,爲了使匿名函數,增加了2個數字,你可以這樣做以下:
f = @(a,b)a+b;
您可以使用此像任何其他功能
>> f(1,2)
ans =
3
如果df是隻是一個簡單的數字值,它可以被定義如下:
df = 0.4
要定義的一對值,你能做到這一點,像這樣:
X0=[1 2]
最後,你可以把它放在一起用這個例子功能(把它放進一個名爲myfunc的文件)。 。 。
function out = myfunc(f,df,x0)
out = df * f(x0(1), x0(end));
這是你想要的嗎?我被「x0是有序對」所迷惑。