假设我有一个经常被调用的函数,比如由 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