如果之前从未分配变量,我该如何声明/赋值?
语境:
我试图找到k,它最小化k的函数calculateSomeDistance(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中的变量分配一个null / undefined值,然后测试它以便进行第一次有效赋值?
PS:
将minDistance初始化为非常大的数字是非常难看的,而不是我正在寻找的.
当ki为1时(即第一次通过时)初始化minDistance是可以的,但仍然不好.