仅当以前从未分配过变量时,如何声明/分配变量?
语境:
我试图找到使 k 的函数 calculateSomeDistance(k) 最小化的 k。最小距离和相应的 k 值应该可用(即在范围内)以供以后使用。我应该如何声明 minDistance 以便在将其与当前计算的距离进行比较之前检查它是否已经初始化?
% How should I declare minDistance?
minDistance=undefined; % Doesn't exist.
for ki=1:K,
distance=calculateSomeDistance(ki);
if(isUndefined(minDistance) || distance < minDistance)
minDistance = distance;
minK = ki;
end
end
% Here minK and minDistance must be in scope
有没有办法为 matlab/octave 中的变量分配一个空值/未定义值,然后对其进行测试以进行第一次有效分配?
PS:将 minDistance 初始化为一个非常大的数字非常难看,而不是我想要的。
当 ki 为 1(即第一次通过)时初始化 minDistance 是可以的,但仍然不是很好。