たとえば、ODE ソルバーなどによって頻繁に呼び出される関数があるとします。毎回再割り当てするよりも永続変数を使用する方が速いですか? つまり、どの関数がより高速で、ベストプラクティスは何ですか?
function ret=thisfunction(a,b,c)
A = zeros(3)
foo = 3;
bar = 34;
% ...
% process some in A
% ...
ret = A\c;
end
また
function ret=thatfunction(a,b,c)
persistent A foo bar
if isempty(A);
A=zeros(3);
foo = 3;
bar = 34;
end
% ...
% process some in A
% ...
ret = A\c;
end