logo
практикум по матлабу

7.4. Сравнение алгоритмов: flops и etime

Для определения эффективности алгоритмов принято использовать два параметра - число операций с плавающей запятой (flops) и затраченное время. Функция MATLAB flops сохраняет полное число выполненных операций с плавающей запятой. Команда flops(0) (не flops = 0!) обнуляет счетчик выполненных операций. Таким образом, если вы в начале исполнения вашего алгоритма введете команду flops(0), то команда flops сразу после его завершения даст число операций. Функция clock возвращает текущее время с точностью до сотых долей секунды (см. help clock). При наличии двух таких времен t1 и t2 функция etime(t2,t1) выдает время, прошедшее от t1 до t2. Можно, например, измерить время, требуемое для решения данной линейной системы Ax = b методом исключения Гаусса следующим образом: t = clock; x = A\ b; time = etime(clock,t). Вы можете сравнить это время и число flops с временем решения этой же системы с помощью оператора x = inv(A)*b;. Попробуйте сами сделать это. В версии 4.0 и выше имеются более удобные функции tic и toc.