duration = timer(n, f, arguments_of_f)
함수를 구현하고 싶습니다. 메서드를 수행하는 데 걸리는 시간을 측정하는 것이 n
번이어야합니다. 내 시도가 다음이었다옥타브에서 가변 인수를 전달하는 방법
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
을 가지고 있지만 전화 d2 = timer(100, @g, 1, 2);
내가 되돌아 볼 때, 정의되지 않은 인수 x2
, 대한 오류를 제공, 어떻게 든, 기대 만 g
에 1
및 2
은 사용되지 않습니다. timer(4, @g, x1, ... , xK)
같은 호출이 작동 할 수 있도록
그래서, 어떻게, 옥타브의 기능
timer
를 구현하는 방법? 어떻게x
을 함께 포장 할 수 있습니까?
그래서, 파이썬 *args
트릭의 아날로그 찾고 있어요 :
def use_f(f, *args):
f(*args)
작품을 우리가 def f(x, y): return x + y
을 정의하고 use_f(f, 3, 4)
를 호출하는 경우.
무엇이 당신의 질문입니까? – excaza
@excaza 옥타브에서'timer' 함수를 쓰는 방법을 모르겠다. 나는 그 질문을 편집했다. – Antoine
@Antoine. 'timer' 함수의 현재 구현이 무엇인지를 보여줄 수 있습니까? 코드 스 니펫을 표시하지만 기능은 없습니다. 파이썬 코드는 실제로는 관련이 없습니다. 귀하의 아이디어는 그대로는 분명하지만 실제로 그것에 대한 아이디어는 아닙니다. –