Ужасная производительность функции рассеяния GNU Octave по сравнению с MATLAB.Любая замена? - PullRequest
0 голосов
/ 05 марта 2012

Почему производительность функции scatter в Октаве так плоха по сравнению с функцией plot? Кроме того, версия функции scatter для MATLAB кажется невероятно быстрой по сравнению с аналогом Octave.

Вот некоторые моменты времени, сгенерированные на моей машине для сравнения эффективности scatter против plot

octave:1> 
octave:1> A = rand(1000,2);
octave:2> tic ; plot(A(:,1) , A(:,2));toc;
Elapsed time is 0.0407901 seconds.
octave:3> 
octave:3> 
octave:3> tic ; scatter(A(:,1) , A(:,2));toc;
Elapsed time is 6.16734 seconds.
octave:4> 

MATLAB требуется 0,16229 секунд для выполнения той же функции scatter на той же матрице 'A'.

Существует ли более быстрая версия scatter для octave?

1 Ответ

2 голосов
/ 06 марта 2012

Это зависит от вашего использования scatter, но может подойти для вас:

plot(A(:,1) , A(:,2) , `o' )

* Я не использую Octave, но, очевидно, строка, которая определяет формат строки, начинается с«серьезный акцент» в отличие от Matlab, согласно this

Редактировать: В примерах в приведенной выше ссылке они использовали двойные кавычки!так что выше будет:

plot(A(:,1) , A(:,2) , "o" )
...