2016-03-31 13 views
0

私は、「MATLAB Coderの」を使用してCコードにMATLABコードを変換しようとしていますが、無名関数を使用することはできません。Matlabのコーダ関数fzero

がどのように私はあなたが持っているC.

+1

ここでは「未定義関数」とは何ですか?私は未定義のものは何も見ない。 – rayryeng

+0

申し訳ありませんが、名前を変更します。あなたは正しいです – Mauro

答えて

1

に全体のコードを変換するために、例えば、通常の機能に

myfun = @(x,c) cos(c*x); % parameterized function 
c = 2;     % parameter 
fun = @(x) myfun(x,c); % function of x alone 
x = fzero(fun,0.1) 

として例えばfzero機能を変換することができ、「匿名」機能、ではありません "定義されていない "機能を使用しています。以下のようにfzeroを呼び出して、最後に

function result = myfun2(x) 
c = 2; 
result = cos(c*x); 

end 

:これを書き、第二の機能については

function result = myfun(x,c) 

result = cos(c*x); 

end 

myfun = @(x,c) cos(c*x); % parameterized function 

書き込みこの:

は、名前の関数に次を変換するにはこれは:

x = fzero(@myfun2, 0.1); 
+0

$ c $もパラメータ(定数= 2ではない)であれば、どうすればいいですか? – Mauro

+0

最初の関数では、「c」はxとともにパラメータであることはわかりません。あなたの例では、cを定数にして、1引数の関数をfzeroに渡すことができます。 'x'を定数にし、' c'の関数だけを渡すこともできます。 – gariepy