2012-04-26 15 views
2

は、我々のように定義された関数があるとし初期点。コマンドラインでfをどのように定義するのですか?インライン定義を使用していますか? dfとx0はどうですか? dfがグラデーションの場合はどうなりますか?また、x0が順序付けされたペアである場合、コマンドラインでそれをどのように定義しますか?MATLAB関数と引数

答えて

1

関数を変数として渡すには、関数ハンドルを使用する必要があります。これを実証する簡単な方法は、匿名関数への関数ハンドルを使用することです。次のように簡単な無名関数を定義することができます

だから、
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は順序付けられたペアです」と少し混乱しました。