在我(诚然简短的)经验中,曾有过代码因为 []*[] == [] 而变得更丑的情况,如果将其定义为 0,则可以编写更优雅的代码。
对于这样一段代码的示例,这部分应该计算 L*x=b 中的 x(L 是下三角矩阵):
x(1) = b(1)/A(1,1);
for i=2:n
x(i) = (b(i) - A(i,1:i-1)*x(1:i-1))/A(i,i);
end
问题是我必须通过两个不同的案例来实现。我不认为我沉迷于代码美,但这对我来说并不愉快。
我的问题是:有没有办法在单个 for 循环中完成这项工作(不使用 isempty)?另外,我很想知道开发人员做出的这个特殊选择是否有我不知道的原因。
谢谢你。