duration = timer(n, f, arguments_of_f)
関数を実装して、のメソッドf
を実行する時間を測定すると、n
回実行する必要があります。私の試みは以下の通りであった:Octaveで変数の引数を渡す方法
function duration = timer(n, f, arguments_of_f)
duration = 0;
for i=1:n
t0 = cputime;
f(arguments_of_f);
t1 = cputime;
duration += t1 - t0;
end
別のファイルでは、私は
function y = f(x)
y = x + 1;
end
期待d1 = timer(100, @f, 3);
作品としてコールを持っています。別のファイルで
、私は
function y = g(x1, x2)
y = x1 + x2;
end
を持っていますが、私はg
にのみ 1
を渡すため、コールd2 = timer(100, @g, 1, 2);
は、私が振り返るとき、何とか期待、ある未定義 引数x2
、程度の誤差を与え、 2
は使用されません。 timer(4, @g, x1, ... , xK)
のような呼び出しがうまくいくように
だから、どのように、オクターブで機能
timer
を実装するには?x
を一緒にパックするにはどうしたらいいですか?
だから、私はニシキヘビ*args
トリックのアナログを探しています:私たちはdef f(x, y): return x + y
を定義し、use_f(f, 3, 4)
を呼び出す場合
def use_f(f, *args):
f(*args)
で動作します。
ご質問はありますか? – excaza
@excaza私はOctaveに 'timer'関数を書く方法がわからないことは明らかでしたが、私は質問を編集しました。 – Antoine
@Antoine。 'timer'関数の現在の実装が何であるかを表示できますか?コードスニペットを表示しますが、そこには機能はありません。 Pythonコードは実際には無関係です。あなたのアイデアはそのままではっきりしていますが、あなたが実際に行ったことではありません。 –